diff --git a/CMake/cmake_config_files/MOLLOK.config.cmake b/CMake/cmake_config_files/MOLLOK.config.cmake index 72470da1bc52a242cb8e3c341e0e7f87bb06ab26..bdaf06f86137f542663bf3a4d603230e92b9260b 100644 --- a/CMake/cmake_config_files/MOLLOK.config.cmake +++ b/CMake/cmake_config_files/MOLLOK.config.cmake @@ -1,7 +1,7 @@ ################################################################################# # VirtualFluids MACHINE FILE # Responsible: Martin Schoenherr -# OS: Windows 10 +# OS: Windows 11 ################################################################################# # cuda compute capability @@ -14,3 +14,4 @@ list(APPEND VF_COMPILER_DEFINITION "PATH_NUMERICAL_TESTS=${PATH_NUMERICAL_TESTS} # add invidual apps here list(APPEND USER_APPS "apps/gpu/LBM/WTG_RUB") list(APPEND USER_APPS "apps/gpu/LBM/TGV_3D_GridRef") +list(APPEND USER_APPS "apps/gpu/LBM/SphereRefined") diff --git a/apps/gpu/LBM/ActuatorLine/ActuatorLine.cpp b/apps/gpu/LBM/ActuatorLine/ActuatorLine.cpp index c6bc10a52677a83a8c2a67fc102929a5c44a8483..40499be535d4025b7d9d5142a2ea718aa63590f3 100644 --- a/apps/gpu/LBM/ActuatorLine/ActuatorLine.cpp +++ b/apps/gpu/LBM/ActuatorLine/ActuatorLine.cpp @@ -61,8 +61,6 @@ #include "GridGenerator/grid/BoundaryConditions/Side.h" #include "GridGenerator/grid/BoundaryConditions/BoundaryCondition.h" -#include "GridGenerator/grid/GridFactory.h" - #include "GridGenerator/io/SimulationFileWriter/SimulationFileWriter.h" #include "GridGenerator/io/GridVTKWriter/GridVTKWriter.h" #include "GridGenerator/TransientBCSetter/TransientBCSetter.h" @@ -109,9 +107,6 @@ void multipleLevel(const std::string& configPath) { vf::gpu::Communicator& communicator = vf::gpu::MpiCommunicator::getInstance(); - auto gridFactory = GridFactory::make(); - auto gridBuilder = MultipleGridBuilder::makeShared(gridFactory); - vf::basics::ConfigurationFile config; config.load(configPath); @@ -149,6 +144,8 @@ void multipleLevel(const std::string& configPath) real turbPos[3] = {3*reference_diameter, 3*reference_diameter, 3*reference_diameter}; + auto gridBuilder = std::make_shared<MultipleGridBuilder>(); + gridBuilder->addCoarseGrid(0.0, 0.0, 0.0, L_x, L_y, L_z, dx); diff --git a/apps/gpu/LBM/BoundaryLayer/BoundaryLayer.cpp b/apps/gpu/LBM/BoundaryLayer/BoundaryLayer.cpp index f084d5f8a1217a935c8911fc2b6b8d6ede30f482..4d53d26b817227000f258f5b8424a2f6963bcf41 100644 --- a/apps/gpu/LBM/BoundaryLayer/BoundaryLayer.cpp +++ b/apps/gpu/LBM/BoundaryLayer/BoundaryLayer.cpp @@ -61,8 +61,6 @@ #include "GridGenerator/grid/BoundaryConditions/Side.h" #include "GridGenerator/grid/BoundaryConditions/BoundaryCondition.h" -#include "GridGenerator/grid/GridFactory.h" - #include "geometries/Cuboid/Cuboid.h" #include "geometries/TriangularMesh/TriangularMesh.h" @@ -103,9 +101,6 @@ using namespace vf::basics::constant; void multipleLevel(const std::string& configPath) { - auto gridFactory = GridFactory::make(); - auto gridBuilder = MultipleGridBuilder::makeShared(gridFactory); - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// vf::gpu::Communicator& communicator = vf::gpu::MpiCommunicator::getInstance(); @@ -266,6 +261,7 @@ void multipleLevel(const std::string& configPath) xGridMax += overlap; xGridMin -= overlap; } + auto gridBuilder = std::make_shared<MultipleGridBuilder>(); gridBuilder->addCoarseGrid( xGridMin, 0.0, 0.0, xGridMax, L_y, L_z, dx); diff --git a/apps/gpu/LBM/ChannelFlow/ChannelFlow.cpp b/apps/gpu/LBM/ChannelFlow/ChannelFlow.cpp index 76a5038a9a5cfc63383a558eba9658eaf86c6b21..fb208bdc8356a202e0113736b3957ecd243f3b02 100644 --- a/apps/gpu/LBM/ChannelFlow/ChannelFlow.cpp +++ b/apps/gpu/LBM/ChannelFlow/ChannelFlow.cpp @@ -56,7 +56,6 @@ #include "GridGenerator/grid/BoundaryConditions/Side.h" #include "GridGenerator/grid/GridBuilder/LevelGridBuilder.h" #include "GridGenerator/grid/GridBuilder/MultipleGridBuilder.h" -#include "GridGenerator/grid/GridFactory.h" #include "GridGenerator/geometries/Sphere/Sphere.h" #include "GridGenerator/geometries/TriangularMesh/TriangularMesh.h" @@ -112,14 +111,6 @@ int main(int argc, char *argv[]) std::to_string(vf::gpu::MpiCommunicator::getInstance().getPID()) + ".txt"); vf::logging::Logger::initializeLogger(); - ////////////////////////////////////////////////////////////////////////// - // setup gridGenerator - ////////////////////////////////////////////////////////////////////////// - - auto gridFactory = GridFactory::make(); - gridFactory->setTriangularMeshDiscretizationMethod(TriangularMeshDiscretizationMethod::POINT_IN_OBJECT); - auto gridBuilder = MultipleGridBuilder::makeShared(gridFactory); - ////////////////////////////////////////////////////////////////////////// // create grid ////////////////////////////////////////////////////////////////////////// @@ -179,6 +170,8 @@ int main(int argc, char *argv[]) if (generatePart != numberOfProcesses - 1) subdomainMaxXoverlap += overlap; + auto gridBuilder = std::make_shared<MultipleGridBuilder>(); + gridBuilder->addCoarseGrid(subdomainMinXoverlap, yGridMin, zGridMin, subdomainMaxXoverlap, yGridMax, zGridMax, dx); diff --git a/apps/gpu/LBM/DrivenCavity/DrivenCavity.cpp b/apps/gpu/LBM/DrivenCavity/DrivenCavity.cpp index c27151b530280d285eb11975ff234506173653be..89d0f430c21f6433ebd8e1473db77d53712a0547 100644 --- a/apps/gpu/LBM/DrivenCavity/DrivenCavity.cpp +++ b/apps/gpu/LBM/DrivenCavity/DrivenCavity.cpp @@ -41,8 +41,8 @@ ////////////////////////////////////////////////////////////////////////// -#include "DataTypes.h" -#include "PointerDefinitions.h" +#include <basics/DataTypes.h> +#include <basics/PointerDefinitions.h> #include <logger/Logger.h> @@ -51,7 +51,6 @@ #include "GridGenerator/grid/BoundaryConditions/Side.h" #include "GridGenerator/grid/GridBuilder/LevelGridBuilder.h" #include "GridGenerator/grid/GridBuilder/MultipleGridBuilder.h" -#include "GridGenerator/grid/GridFactory.h" #include "GridGenerator/geometries/Cuboid/Cuboid.h" ////////////////////////////////////////////////////////////////////////// @@ -65,7 +64,6 @@ #include "VirtualFluids_GPU/LBM/Simulation.h" #include "VirtualFluids_GPU/Output/FileWriter.h" #include "VirtualFluids_GPU/Parameter/Parameter.h" -#include "VirtualFluids_GPU/Factories/GridScalingFactory.h" #include "VirtualFluids_GPU/Kernel/Utilities/KernelTypes.h" ////////////////////////////////////////////////////////////////////////// @@ -89,14 +87,6 @@ int main() const uint timeStepOut = 1000; const uint timeStepEnd = 10000; - ////////////////////////////////////////////////////////////////////////// - // setup gridGenerator - ////////////////////////////////////////////////////////////////////////// - - auto gridFactory = GridFactory::make(); - gridFactory->setTriangularMeshDiscretizationMethod(TriangularMeshDiscretizationMethod::POINT_IN_OBJECT); - auto gridBuilder = MultipleGridBuilder::makeShared(gridFactory); - ////////////////////////////////////////////////////////////////////////// // compute parameters in lattice units ////////////////////////////////////////////////////////////////////////// @@ -112,6 +102,7 @@ int main() ////////////////////////////////////////////////////////////////////////// // create grid ////////////////////////////////////////////////////////////////////////// + auto gridBuilder = std::make_shared<MultipleGridBuilder>(); gridBuilder->addCoarseGrid(-0.5 * L, -0.5 * L, -0.5 * L, 0.5 * L, 0.5 * L, 0.5 * L, dx); diff --git a/apps/gpu/LBM/DrivenCavityMultiGPU/DrivenCavityMultiGPU.cpp b/apps/gpu/LBM/DrivenCavityMultiGPU/DrivenCavityMultiGPU.cpp index 4ab92c0c96aba93bc4396af143b814e2ea13c927..e97c7562142915c02e85bac9b7a6aed23072459e 100755 --- a/apps/gpu/LBM/DrivenCavityMultiGPU/DrivenCavityMultiGPU.cpp +++ b/apps/gpu/LBM/DrivenCavityMultiGPU/DrivenCavityMultiGPU.cpp @@ -24,7 +24,6 @@ #include "GridGenerator/grid/BoundaryConditions/Side.h" #include "GridGenerator/grid/GridBuilder/LevelGridBuilder.h" #include "GridGenerator/grid/GridBuilder/MultipleGridBuilder.h" -#include "GridGenerator/grid/GridFactory.h" #include "geometries/Cuboid/Cuboid.h" #include "geometries/TriangularMesh/TriangularMesh.h" @@ -64,9 +63,7 @@ void runVirtualFluids(const vf::basics::ConfigurationFile& config) { vf::gpu::Communicator& communicator = vf::gpu::MpiCommunicator::getInstance(); - auto gridFactory = GridFactory::make(); - gridFactory->setTriangularMeshDiscretizationMethod(TriangularMeshDiscretizationMethod::POINT_IN_OBJECT); - auto gridBuilder = MultipleGridBuilder::makeShared(gridFactory); + auto gridBuilder = std::make_shared<MultipleGridBuilder>(); SPtr<Parameter> para = std::make_shared<Parameter>(communicator.getNumberOfProcess(), communicator.getPID(), &config); BoundaryConditionFactory bcFactory = BoundaryConditionFactory(); diff --git a/apps/gpu/LBM/DrivenCavityUniform/DrivenCavity.cpp b/apps/gpu/LBM/DrivenCavityUniform/DrivenCavity.cpp index a0dc2545ba52fec2b8b3f636ec027c3ce3f184ae..d56d2da82cd29c5894594f13c37daafe287fd05c 100644 --- a/apps/gpu/LBM/DrivenCavityUniform/DrivenCavity.cpp +++ b/apps/gpu/LBM/DrivenCavityUniform/DrivenCavity.cpp @@ -53,7 +53,6 @@ #include "GridGenerator/grid/BoundaryConditions/Side.h" #include "GridGenerator/grid/GridBuilder/LevelGridBuilder.h" #include "GridGenerator/grid/GridBuilder/MultipleGridBuilder.h" -#include "GridGenerator/grid/GridFactory.h" #include "GridGenerator/geometries/Cuboid/Cuboid.h" ////////////////////////////////////////////////////////////////////////// @@ -91,20 +90,14 @@ int main() const uint timeStepOut = 1000; const uint timeStepEnd = 10000; - ////////////////////////////////////////////////////////////////////////// - // setup gridGenerator - ////////////////////////////////////////////////////////////////////////// - - auto gridFactory = GridFactory::make(); - gridFactory->setTriangularMeshDiscretizationMethod(TriangularMeshDiscretizationMethod::POINT_IN_OBJECT); - auto gridBuilder = MultipleGridBuilder::makeShared(gridFactory); - ////////////////////////////////////////////////////////////////////////// // create grid ////////////////////////////////////////////////////////////////////////// real dx = L / real(nx); + auto gridBuilder = std::make_shared<MultipleGridBuilder>(); + gridBuilder->addCoarseGrid(-0.5 * L, -0.5 * L, -0.5 * L, 0.5 * L, 0.5 * L, 0.5 * L, dx); // gridBuilder->addGrid(std::make_shared<Cuboid>(-0.25, -0.25, -0.25, 0.25, 0.25, 0.25), 1); // add fine grid diff --git a/apps/gpu/LBM/MusselOyster/MusselOyster.cpp b/apps/gpu/LBM/MusselOyster/MusselOyster.cpp index 94f9b187d1a65d26f7eb562d731eb0cae4080c65..fd7ba15c6bd12ba6161701a1cc6f70b1b2235246 100644 --- a/apps/gpu/LBM/MusselOyster/MusselOyster.cpp +++ b/apps/gpu/LBM/MusselOyster/MusselOyster.cpp @@ -25,7 +25,6 @@ #include "GridGenerator/grid/BoundaryConditions/Side.h" #include "GridGenerator/grid/GridBuilder/LevelGridBuilder.h" #include "GridGenerator/grid/GridBuilder/MultipleGridBuilder.h" -#include "GridGenerator/grid/GridFactory.h" #include "geometries/Sphere/Sphere.h" #include "geometries/TriangularMesh/TriangularMesh.h" @@ -88,9 +87,7 @@ void runVirtualFluids(const vf::basics::ConfigurationFile& config) { vf::gpu::Communicator &communicator = vf::gpu::MpiCommunicator::getInstance(); - auto gridFactory = GridFactory::make(); - gridFactory->setTriangularMeshDiscretizationMethod(TriangularMeshDiscretizationMethod::POINT_IN_OBJECT); - auto gridBuilder = MultipleGridBuilder::makeShared(gridFactory); + auto gridBuilder = std::make_shared<MultipleGridBuilder>(); SPtr<Parameter> para = std::make_shared<Parameter>(communicator.getNumberOfProcess(), communicator.getPID(), &config); diff --git a/apps/gpu/LBM/SphereGPU/Sphere.cpp b/apps/gpu/LBM/SphereGPU/Sphere.cpp index 7794217f4e42f79070b1037c86b3e74b1f94d967..c78ff949bbce96273a5436722ddc8c9f542300d9 100644 --- a/apps/gpu/LBM/SphereGPU/Sphere.cpp +++ b/apps/gpu/LBM/SphereGPU/Sphere.cpp @@ -41,18 +41,17 @@ #include <string> ////////////////////////////////////////////////////////////////////////// - -#include "DataTypes.h" +#include <basics/PointerDefinitions.h> +#include <basics/DataTypes.h> #include <logger/Logger.h> -#include "PointerDefinitions.h" -#include "config/ConfigurationFile.h" +#include <basics/PointerDefinitions.h> +#include <basics/config/ConfigurationFile.h> ////////////////////////////////////////////////////////////////////////// #include "GridGenerator/grid/BoundaryConditions/Side.h" #include "GridGenerator/grid/GridBuilder/LevelGridBuilder.h" #include "GridGenerator/grid/GridBuilder/MultipleGridBuilder.h" -#include "GridGenerator/grid/GridFactory.h" #include "GridGenerator/geometries/Sphere/Sphere.h" #include "GridGenerator/geometries/TriangularMesh/TriangularMesh.h" @@ -94,32 +93,25 @@ int main(int argc, char *argv[]) ////////////////////////////////////////////////////////////////////////// // setup simulation parameters (with or without config file) - ////////////////////////// + ////////////////////////////////////////////////////////////////////////// - vf::gpu::Communicator& communicator = vf::gpu::MpiCommunicator::getInstance();; SPtr<Parameter> para; BoundaryConditionFactory bcFactory = BoundaryConditionFactory(); GridScalingFactory scalingFactory = GridScalingFactory(); vf::basics::ConfigurationFile config; if (useConfigFile) { VF_LOG_TRACE("For the default config path to work, execute the app from the project root."); - vf::basics::ConfigurationFile config = vf::basics::loadConfig(argc, argv, "./apps/gpu/LBM/SphereGPU/config.txt"); + config = vf::basics::loadConfig(argc, argv, "./apps/gpu/LBM/SphereGPU/config.txt"); para = std::make_shared<Parameter>(&config); } else { para = std::make_shared<Parameter>(); } - ////////////////////////////////////////////////////////////////////////// - // setup gridGenerator - ////////////////////////////////////////////////////////////////////////// - - auto gridFactory = GridFactory::make(); - gridFactory->setTriangularMeshDiscretizationMethod(TriangularMeshDiscretizationMethod::POINT_IN_OBJECT); - auto gridBuilder = MultipleGridBuilder::makeShared(gridFactory); ////////////////////////////////////////////////////////////////////////// // create grid ////////////////////////////////////////////////////////////////////////// + auto gridBuilder = std::make_shared<MultipleGridBuilder>(); real dx = L / real(nx); gridBuilder->addCoarseGrid(-1.0 * L, -0.6 * L, -0.6 * L, @@ -207,7 +199,7 @@ int main(int argc, char *argv[]) const uint tAveraging = 100; const uint tStartOutProbe = 0; const uint tOutProbe = para->getTimestepOut(); - SPtr<PointProbe> pointProbe = std::make_shared<PointProbe>( "pointProbe", para->getOutputPath(), tStartAveraging, tAveraging, tStartOutProbe, tOutProbe); + SPtr<PointProbe> pointProbe = std::make_shared<PointProbe>("pointProbe", para->getOutputPath(), tStartAveraging, tAveraging, tStartOutProbe, tOutProbe); std::vector<real> probeCoordsX = {0.3, 0.5}; std::vector<real> probeCoordsY = {0.0, 0.0}; std::vector<real> probeCoordsZ = {0.0, 0.0}; @@ -226,7 +218,7 @@ int main(int argc, char *argv[]) ////////////////////////////////////////////////////////////////////////// // setup to copy mesh to simulation ////////////////////////////////////////////////////////////////////////// - + vf::gpu::Communicator& communicator = vf::gpu::MpiCommunicator::getInstance(); auto cudaMemoryManager = std::make_shared<CudaMemoryManager>(para); SPtr<GridProvider> gridGenerator = GridProvider::makeGridGenerator(gridBuilder, para, cudaMemoryManager, communicator); diff --git a/apps/gpu/LBM/SphereRefined/CMakeLists.txt b/apps/gpu/LBM/SphereRefined/CMakeLists.txt new file mode 100644 index 0000000000000000000000000000000000000000..9ede990de732e23a0b914271f7156f851c190fd3 --- /dev/null +++ b/apps/gpu/LBM/SphereRefined/CMakeLists.txt @@ -0,0 +1,9 @@ +PROJECT(SphereRefined LANGUAGES CUDA CXX) + +#LIST(APPEND CS_COMPILER_FLAGS_CXX "-DOMPI_SKIP_MPICXX" ) + +vf_add_library(BUILDTYPE binary PRIVATE_LINK basics VirtualFluids_GPU GridGenerator MPI::MPI_CXX FILES SphereRefined.cpp) + +set_source_files_properties(SphereRefined.cpp PROPERTIES LANGUAGE CUDA) + +set_target_properties(SphereRefined PROPERTIES CUDA_SEPARABLE_COMPILATION ON) diff --git a/apps/gpu/LBM/SphereRefined/SphereRefined.cpp b/apps/gpu/LBM/SphereRefined/SphereRefined.cpp new file mode 100644 index 0000000000000000000000000000000000000000..933dd3089b865ea0396f9f6c1ae61fbf54584613 --- /dev/null +++ b/apps/gpu/LBM/SphereRefined/SphereRefined.cpp @@ -0,0 +1,229 @@ +//======================================================================================= +// ____ ____ __ ______ __________ __ __ __ __ +// \ \ | | | | | _ \ |___ ___| | | | | / \ | | +// \ \ | | | | | |_) | | | | | | | / \ | | +// \ \ | | | | | _ / | | | | | | / /\ \ | | +// \ \ | | | | | | \ \ | | | \__/ | / ____ \ | |____ +// \ \ | | |__| |__| \__\ |__| \________/ /__/ \__\ |_______| +// \ \ | | ________________________________________________________________ +// \ \ | | | ______________________________________________________________| +// \ \| | | | __ __ __ __ ______ _______ +// \ | | |_____ | | | | | | | | | _ \ / _____) +// \ | | _____| | | | | | | | | | | \ \ \_______ +// \ | | | | |_____ | \_/ | | | | |_/ / _____ | +// \ _____| |__| |________| \_______/ |__| |______/ (_______/ +// +// This file is part of VirtualFluids. VirtualFluids 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 3 of +// the License, or (at your option) any later version. +// +// VirtualFluids 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 VirtualFluids (see COPYING.txt). If not, see <http://www.gnu.org/licenses/>. +// +//! \file SphereRefined.cpp +//! \ingroup Applications +//! \author Martin Schoenherr +//======================================================================================= +#define _USE_MATH_DEFINES +#include <exception> +#include <fstream> +#include <iostream> +#include <memory> +#include <sstream> +#include <stdexcept> +#include <string> + +////////////////////////////////////////////////////////////////////////// + +#include "DataTypes.h" +#include "PointerDefinitions.h" + +#include <logger/Logger.h> + +////////////////////////////////////////////////////////////////////////// + +#include "GridGenerator/grid/BoundaryConditions/Side.h" +#include "GridGenerator/grid/GridBuilder/LevelGridBuilder.h" +#include "GridGenerator/grid/GridBuilder/MultipleGridBuilder.h" +#include "GridGenerator/grid/GridFactory.h" +#include "GridGenerator/geometries/Cuboid/Cuboid.h" +#include "GridGenerator/geometries/Sphere/Sphere.h" +#include "GridGenerator/geometries/TriangularMesh/TriangularMesh.h" + +////////////////////////////////////////////////////////////////////////// + +#include "VirtualFluids_GPU/Factories/BoundaryConditionFactory.h" +#include "VirtualFluids_GPU/Factories/GridScalingFactory.h" +#include "VirtualFluids_GPU/Communication/MpiCommunicator.h" +#include "VirtualFluids_GPU/DataStructureInitializer/GridProvider.h" +#include "VirtualFluids_GPU/DataStructureInitializer/GridReaderGenerator/GridGenerator.h" +#include "VirtualFluids_GPU/GPU/CudaMemoryManager.h" +#include "VirtualFluids_GPU/LBM/Simulation.h" +#include "VirtualFluids_GPU/Output/FileWriter.h" +#include "VirtualFluids_GPU/Parameter/Parameter.h" +#include "VirtualFluids_GPU/Factories/GridScalingFactory.h" +#include "VirtualFluids_GPU/Kernel/Utilities/KernelTypes.h" + +////////////////////////////////////////////////////////////////////////// + +int main() +{ + try { + vf::gpu::Communicator &communicator = vf::gpu::MpiCommunicator::getInstance(); + vf::logging::Logger::initializeLogger(); + ////////////////////////////////////////////////////////////////////////// + // Simulation parameters + ////////////////////////////////////////////////////////////////////////// + std::string path("output/SphereRefined"); + std::string simulationName("SphereRefined"); + + const real L = 1.0; + const real dSphere = 0.2; + const real Re = 300.0; + const real velocity = 1.0; + const real velocityLB = (real)0.5e-2; // LB units + const uint nx = 50; + + const uint timeStepOut = 10000; + const uint timeStepEnd = 10000; + + ////////////////////////////////////////////////////////////////////////// + // setup gridGenerator + ////////////////////////////////////////////////////////////////////////// + + auto gridFactory = GridFactory::make(); + gridFactory->setTriangularMeshDiscretizationMethod(TriangularMeshDiscretizationMethod::POINT_IN_OBJECT); + auto gridBuilder = MultipleGridBuilder::makeShared(gridFactory); + + ////////////////////////////////////////////////////////////////////////// + // compute parameters in lattice units + ////////////////////////////////////////////////////////////////////////// + + const real dx = L / real(nx); + const real dt = velocityLB / velocity * dx; + + const real viscosityLB = nx * velocityLB / Re; // LB units + + ////////////////////////////////////////////////////////////////////////// + // create grid + ////////////////////////////////////////////////////////////////////////// + + gridBuilder->addCoarseGrid(-1.0 * L, -0.6 * L, -0.6 * L, + 2.0 * L, 0.6 * L, 0.6 * L, dx); + + // add fine grid + gridBuilder->addGrid(std::make_shared<Sphere>(0., 0., 0., 0.22), 2); + + GridScalingFactory scalingFactory = GridScalingFactory(); + scalingFactory.setScalingFactory(GridScalingFactory::GridScaling::ScaleCompressible); + + // use primitive + auto sphere = std::make_shared<Sphere>(0.0, 0.0, 0.0, dSphere / 2.0); + + gridBuilder->addGeometry(sphere); + + gridBuilder->setPeriodicBoundaryCondition(false, false, false); + + gridBuilder->buildGrids(false); + + ////////////////////////////////////////////////////////////////////////// + // set parameters + ////////////////////////////////////////////////////////////////////////// + SPtr<Parameter> para = std::make_shared<Parameter>(); + + para->setOutputPath(path); + para->setOutputPrefix(simulationName); + + para->setPrintFiles(true); + + para->setVelocityLB(velocityLB); + para->setViscosityLB(viscosityLB); + + para->setVelocityRatio(velocity / velocityLB); + para->setDensityRatio(1.0); + + para->setTimestepOut(timeStepOut); + para->setTimestepEnd(timeStepEnd); + + para->setMainKernel(vf::CollisionKernel::Compressible::CumulantK17); + + ////////////////////////////////////////////////////////////////////////// + // set boundary conditions + ////////////////////////////////////////////////////////////////////////// + + gridBuilder->setPressureBoundaryCondition(SideType::PX, 0.0); + gridBuilder->setVelocityBoundaryCondition(SideType::MX, velocityLB, 0.0, 0.0); + gridBuilder->setSlipBoundaryCondition(SideType::PY, 0.0, 0.0, 0.0); + gridBuilder->setSlipBoundaryCondition(SideType::MY, 0.0, 0.0, 0.0); + gridBuilder->setSlipBoundaryCondition(SideType::MZ, 0.0, 0.0, 0.0); + gridBuilder->setSlipBoundaryCondition(SideType::PZ, 0.0, 0.0, 0.0); + + gridBuilder->setVelocityBoundaryCondition(SideType::GEOMETRY, 0.0, 0.0, 0.0); + + BoundaryConditionFactory bcFactory; + + bcFactory.setSlipBoundaryCondition(BoundaryConditionFactory::SlipBC::SlipCompressible); + bcFactory.setVelocityBoundaryCondition(BoundaryConditionFactory::VelocityBC::VelocityCompressible); + bcFactory.setPressureBoundaryCondition(BoundaryConditionFactory::PressureBC::PressureNonEquilibriumCompressible); + + + ////////////////////////////////////////////////////////////////////////// + // set copy mesh to simulation + ////////////////////////////////////////////////////////////////////////// + + + auto cudaMemoryManager = std::make_shared<CudaMemoryManager>(para); + SPtr<GridProvider> gridGenerator = + GridProvider::makeGridGenerator(gridBuilder, para, cudaMemoryManager, communicator); + + + ////////////////////////////////////////////////////////////////////////// + // run simulation + ////////////////////////////////////////////////////////////////////////// + + VF_LOG_INFO("Start Running DrivenCavity Showcase..."); + printf("\n"); + VF_LOG_INFO("world parameter:"); + VF_LOG_INFO("--------------"); + VF_LOG_INFO("dt [s] = {}", dt); + VF_LOG_INFO("world_length [m] = {}", L); + VF_LOG_INFO("world_velocity [m/s] = {}", velocity); + VF_LOG_INFO("dx [m] = {}", dx); + printf("\n"); + VF_LOG_INFO("LB parameter:"); + VF_LOG_INFO("--------------"); + VF_LOG_INFO("Re = {}", Re); + VF_LOG_INFO("lb_velocity [dx/dt] = {}", velocityLB); + VF_LOG_INFO("lb_viscosity [dx^2/dt] = {}", viscosityLB); + printf("\n"); + VF_LOG_INFO("simulation parameter:"); + VF_LOG_INFO("--------------"); + VF_LOG_INFO("nx = {}", nx); + VF_LOG_INFO("ny = {}", nx); + VF_LOG_INFO("nz = {}", nx); + VF_LOG_INFO("number of nodes = {}", nx * nx * nx); + VF_LOG_INFO("n timesteps = {}", timeStepOut); + VF_LOG_INFO("write_nth_timestep = {}", timeStepEnd); + VF_LOG_INFO("output_path = {}", path); + + Simulation sim(para, cudaMemoryManager, communicator, *gridGenerator, &bcFactory, &scalingFactory); + sim.run(); + + } catch (const spdlog::spdlog_ex &ex) { + std::cout << "Log initialization failed: " << ex.what() << std::endl; + } catch (const std::bad_alloc &e) { + VF_LOG_CRITICAL("Bad Alloc: {}", e.what()); + } catch (const std::exception &e) { + VF_LOG_CRITICAL("exception: {}", e.what()); + } catch (...) { + VF_LOG_CRITICAL("Unknown exception!"); + } + + return 0; +} diff --git a/apps/gpu/LBM/SphereRefined/configSphere.txt b/apps/gpu/LBM/SphereRefined/configSphere.txt new file mode 100644 index 0000000000000000000000000000000000000000..458346a67c7f001580494af1dc9262034613be68 --- /dev/null +++ b/apps/gpu/LBM/SphereRefined/configSphere.txt @@ -0,0 +1,34 @@ +################################################## +#GPU Mapping +################################################## +#Devices="0 1 2 3" +#NumberOfDevices=4 + +################################################## +#informations for Writing +################################################## +#Path = "output/" +#Prefix="DrivenCavity" +#WriteGrid=true +################################################## +#informations for reading +################################################## +#GridPath="grid/" + +################################################## +#number of grid levels +################################################## +#NOGL=1 + +################################################## +#LBM Version +################################################## +#D3Qxx=27 +#MainKernelName=CumulantAA2016CompSP27 + +################################################## +#simulation parameter +################################################## +#TimeEnd=100000 +#TimeOut=1000 +#TimeStartOut=0 \ No newline at end of file diff --git a/apps/gpu/LBM/SphereRefined/sphere02.stl b/apps/gpu/LBM/SphereRefined/sphere02.stl new file mode 100644 index 0000000000000000000000000000000000000000..3ff142d1a343b2e1016b75e65dde821d7a1f8e5a --- /dev/null +++ b/apps/gpu/LBM/SphereRefined/sphere02.stl @@ -0,0 +1,3138 @@ +solid Visualization Toolkit generated SLA File + facet normal 0.10450589731384756 0.020787518098262223 0.9943069930951618 + outer loop + vertex 0.020791169255971909 0 0.097814761102199554 + vertex 0.019208535552024841 0.0079564359039068222 0.097814761102199554 + vertex 0 0 0.10000000149011612 + endloop + endfacet + facet normal 0.088595824750780858 0.059197831240794162 0.99430699314302085 + outer loop + vertex 0.019208535552024841 0.0079564359039068222 0.097814761102199554 + vertex 0.01470157690346241 0.01470157690346241 0.097814761102199554 + vertex 0 0 0.10000000149011612 + endloop + endfacet + facet normal 0.059197831240794162 0.088595824750780858 0.99430699314302085 + outer loop + vertex 0.01470157690346241 0.01470157690346241 0.097814761102199554 + vertex 0.0079564359039068222 0.019208535552024841 0.097814761102199554 + vertex 0 0 0.10000000149011612 + endloop + endfacet + facet normal 0.020787518098262226 0.10450589731384755 0.9943069930951618 + outer loop + vertex 0.0079564359039068222 0.019208535552024841 0.097814761102199554 + vertex 1.2730919672892854e-18 0.020791169255971909 0.097814761102199554 + vertex 0 0 0.10000000149011612 + endloop + endfacet + facet normal -0.020787518098262219 0.10450589731384756 0.9943069930951618 + outer loop + vertex 1.2730919672892854e-18 0.020791169255971909 0.097814761102199554 + vertex -0.0079564359039068222 0.019208535552024841 0.097814761102199554 + vertex 0 0 0.10000000149011612 + endloop + endfacet + facet normal -0.059197831240794162 0.088595824750780858 0.99430699314302085 + outer loop + vertex -0.0079564359039068222 0.019208535552024841 0.097814761102199554 + vertex -0.01470157690346241 0.01470157690346241 0.097814761102199554 + vertex 0 0 0.10000000149011612 + endloop + endfacet + facet normal -0.088595824750780858 0.059197831240794162 0.99430699314302085 + outer loop + vertex -0.01470157690346241 0.01470157690346241 0.097814761102199554 + vertex -0.019208535552024841 0.0079564359039068222 0.097814761102199554 + vertex 0 0 0.10000000149011612 + endloop + endfacet + facet normal -0.10450589731384755 0.020787518098262226 0.9943069930951618 + outer loop + vertex -0.019208535552024841 0.0079564359039068222 0.097814761102199554 + vertex -0.020791169255971909 2.5461839345785708e-18 0.097814761102199554 + vertex 0 0 0.10000000149011612 + endloop + endfacet + facet normal -0.10450589731384756 -0.020787518098262219 0.9943069930951618 + outer loop + vertex -0.020791169255971909 2.5461839345785708e-18 0.097814761102199554 + vertex -0.019208535552024841 -0.0079564359039068222 0.097814761102199554 + vertex 0 0 0.10000000149011612 + endloop + endfacet + facet normal -0.088595824750780858 -0.059197831240794162 0.99430699314302085 + outer loop + vertex -0.019208535552024841 -0.0079564359039068222 0.097814761102199554 + vertex -0.01470157690346241 -0.01470157690346241 0.097814761102199554 + vertex 0 0 0.10000000149011612 + endloop + endfacet + facet normal -0.059197831240794162 -0.088595824750780858 0.99430699314302085 + outer loop + vertex -0.01470157690346241 -0.01470157690346241 0.097814761102199554 + vertex -0.0079564359039068222 -0.019208535552024841 0.097814761102199554 + vertex 0 0 0.10000000149011612 + endloop + endfacet + facet normal -0.020787518098262233 -0.10450589731384756 0.9943069930951618 + outer loop + vertex -0.0079564359039068222 -0.019208535552024841 0.097814761102199554 + vertex -3.819275695072703e-18 -0.020791169255971909 0.097814761102199554 + vertex 0 0 0.10000000149011612 + endloop + endfacet + facet normal 0.020787518098262216 -0.10450589731384756 0.9943069930951618 + outer loop + vertex -3.819275695072703e-18 -0.020791169255971909 0.097814761102199554 + vertex 0.0079564359039068222 -0.019208535552024841 0.097814761102199554 + vertex 0 0 0.10000000149011612 + endloop + endfacet + facet normal 0.059197831240794162 -0.088595824750780858 0.99430699314302085 + outer loop + vertex 0.0079564359039068222 -0.019208535552024841 0.097814761102199554 + vertex 0.01470157690346241 -0.01470157690346241 0.097814761102199554 + vertex 0 0 0.10000000149011612 + endloop + endfacet + facet normal 0.088595824750780858 -0.059197831240794162 0.99430699314302085 + outer loop + vertex 0.01470157690346241 -0.01470157690346241 0.097814761102199554 + vertex 0.019208535552024841 -0.0079564359039068222 0.097814761102199554 + vertex 0 0 0.10000000149011612 + endloop + endfacet + facet normal 0.10450589731384756 -0.020787518098262223 0.9943069930951618 + outer loop + vertex 0.019208535552024841 -0.0079564359039068222 0.097814761102199554 + vertex 0.020791169255971909 0 0.097814761102199554 + vertex 0 0 0.10000000149011612 + endloop + endfacet + facet normal 0.10450589731384756 0.020787518098262223 -0.9943069930951618 + outer loop + vertex 0.020791169255971909 0 -0.097814761102199554 + vertex 0 0 -0.10000000149011612 + vertex 0.019208535552024841 0.0079564359039068222 -0.097814761102199554 + endloop + endfacet + facet normal 0.088595824750780858 0.059197831240794162 -0.99430699314302085 + outer loop + vertex 0.019208535552024841 0.0079564359039068222 -0.097814761102199554 + vertex 0 0 -0.10000000149011612 + vertex 0.01470157690346241 0.01470157690346241 -0.097814761102199554 + endloop + endfacet + facet normal 0.059197831240794162 0.088595824750780858 -0.99430699314302085 + outer loop + vertex 0.01470157690346241 0.01470157690346241 -0.097814761102199554 + vertex 0 0 -0.10000000149011612 + vertex 0.0079564359039068222 0.019208535552024841 -0.097814761102199554 + endloop + endfacet + facet normal 0.020787518098262226 0.10450589731384755 -0.9943069930951618 + outer loop + vertex 0.0079564359039068222 0.019208535552024841 -0.097814761102199554 + vertex 0 0 -0.10000000149011612 + vertex 1.2730919672892854e-18 0.020791169255971909 -0.097814761102199554 + endloop + endfacet + facet normal -0.020787518098262219 0.10450589731384756 -0.9943069930951618 + outer loop + vertex 1.2730919672892854e-18 0.020791169255971909 -0.097814761102199554 + vertex 0 0 -0.10000000149011612 + vertex -0.0079564359039068222 0.019208535552024841 -0.097814761102199554 + endloop + endfacet + facet normal -0.059197831240794162 0.088595824750780858 -0.99430699314302085 + outer loop + vertex -0.0079564359039068222 0.019208535552024841 -0.097814761102199554 + vertex 0 0 -0.10000000149011612 + vertex -0.01470157690346241 0.01470157690346241 -0.097814761102199554 + endloop + endfacet + facet normal -0.088595824750780858 0.059197831240794162 -0.99430699314302085 + outer loop + vertex -0.01470157690346241 0.01470157690346241 -0.097814761102199554 + vertex 0 0 -0.10000000149011612 + vertex -0.019208535552024841 0.0079564359039068222 -0.097814761102199554 + endloop + endfacet + facet normal -0.10450589731384755 0.02078751809826223 -0.9943069930951618 + outer loop + vertex -0.019208535552024841 0.0079564359039068222 -0.097814761102199554 + vertex 0 0 -0.10000000149011612 + vertex -0.020791169255971909 2.5461839345785708e-18 -0.097814761102199554 + endloop + endfacet + facet normal -0.10450589731384756 -0.020787518098262216 -0.9943069930951618 + outer loop + vertex -0.020791169255971909 2.5461839345785708e-18 -0.097814761102199554 + vertex 0 0 -0.10000000149011612 + vertex -0.019208535552024841 -0.0079564359039068222 -0.097814761102199554 + endloop + endfacet + facet normal -0.088595824750780858 -0.059197831240794162 -0.99430699314302085 + outer loop + vertex -0.019208535552024841 -0.0079564359039068222 -0.097814761102199554 + vertex 0 0 -0.10000000149011612 + vertex -0.01470157690346241 -0.01470157690346241 -0.097814761102199554 + endloop + endfacet + facet normal -0.059197831240794162 -0.088595824750780858 -0.99430699314302085 + outer loop + vertex -0.01470157690346241 -0.01470157690346241 -0.097814761102199554 + vertex 0 0 -0.10000000149011612 + vertex -0.0079564359039068222 -0.019208535552024841 -0.097814761102199554 + endloop + endfacet + facet normal -0.020787518098262233 -0.10450589731384756 -0.9943069930951618 + outer loop + vertex -0.0079564359039068222 -0.019208535552024841 -0.097814761102199554 + vertex 0 0 -0.10000000149011612 + vertex -3.819275695072703e-18 -0.020791169255971909 -0.097814761102199554 + endloop + endfacet + facet normal 0.020787518098262212 -0.10450589731384755 -0.9943069930951618 + outer loop + vertex -3.819275695072703e-18 -0.020791169255971909 -0.097814761102199554 + vertex 0 0 -0.10000000149011612 + vertex 0.0079564359039068222 -0.019208535552024841 -0.097814761102199554 + endloop + endfacet + facet normal 0.059197831240794162 -0.088595824750780858 -0.99430699314302085 + outer loop + vertex 0.0079564359039068222 -0.019208535552024841 -0.097814761102199554 + vertex 0 0 -0.10000000149011612 + vertex 0.01470157690346241 -0.01470157690346241 -0.097814761102199554 + endloop + endfacet + facet normal 0.088595824750780858 -0.059197831240794162 -0.99430699314302085 + outer loop + vertex 0.01470157690346241 -0.01470157690346241 -0.097814761102199554 + vertex 0 0 -0.10000000149011612 + vertex 0.019208535552024841 -0.0079564359039068222 -0.097814761102199554 + endloop + endfacet + facet normal 0.10450589731384756 -0.020787518098262223 -0.9943069930951618 + outer loop + vertex 0.019208535552024841 -0.0079564359039068222 -0.097814761102199554 + vertex 0 0 -0.10000000149011612 + vertex 0.020791169255971909 0 -0.097814761102199554 + endloop + endfacet + facet normal 0.30843476522401231 0.061351521400747594 0.94926497166124379 + outer loop + vertex 0.020791169255971909 0 0.097814761102199554 + vertex 0.040673665702342987 0 0.091354548931121826 + vertex 0.037577565759420395 0.015565137378871441 0.091354548931121826 + endloop + endfacet + facet normal 0.30843478276930947 0.061351500668862545 0.94926496730034626 + outer loop + vertex 0.020791169255971909 0 0.097814761102199554 + vertex 0.037577565759420395 0.015565137378871441 0.091354548931121826 + vertex 0.019208535552024841 0.0079564359039068222 0.097814761102199554 + endloop + endfacet + facet normal 0.49754554609711599 0.098967962699230083 0.86177361987826373 + outer loop + vertex 0.040673665702342987 0 0.091354548931121826 + vertex 0.058778524398803711 0 0.080901697278022766 + vertex 0.054304275661706924 0.022493567317724228 0.080901697278022766 + endloop + endfacet + facet normal 0.49754549605911413 0.098968004229828863 0.86177364399826861 + outer loop + vertex 0.040673665702342987 0 0.091354548931121826 + vertex 0.054304275661706924 0.022493567317724228 0.080901697278022766 + vertex 0.037577565759420395 0.015565137378871441 0.091354548931121826 + endloop + endfacet + facet normal 0.6632812473204962 0.13193484346784404 0.7366486163918875 + outer loop + vertex 0.058778524398803711 0 0.080901697278022766 + vertex 0.074314482510089874 0 0.06691306084394455 + vertex 0.068657629191875458 0.028438922017812729 0.06691306084394455 + endloop + endfacet + facet normal 0.66328124731730775 0.13193484347015969 0.73664861639434354 + outer loop + vertex 0.058778524398803711 0 0.080901697278022766 + vertex 0.068657629191875458 0.028438922017812729 0.06691306084394455 + vertex 0.054304275661706924 0.022493567317724228 0.080901697278022766 + endloop + endfacet + facet normal 0.79874089113149127 0.15887934482690994 0.58031917306068981 + outer loop + vertex 0.074314482510089874 0 0.06691306084394455 + vertex 0.086602538824081421 0 0.05000000074505806 + vertex 0.080010317265987396 0.033141355961561203 0.05000000074505806 + endloop + endfacet + facet normal 0.79874079057134661 0.15887942196636892 0.58031929035065921 + outer loop + vertex 0.074314482510089874 0 0.06691306084394455 + vertex 0.080010317265987396 0.033141355961561203 0.05000000074505806 + vertex 0.068657629191875458 0.028438922017812729 0.06691306084394455 + endloop + endfacet + facet normal 0.89882617438269374 0.17878756470117699 0.40018310178316374 + outer loop + vertex 0.086602538824081421 0 0.05000000074505806 + vertex 0.095105648040771484 0 0.030901700258255005 + vertex 0.087866164743900299 0.036395356059074402 0.030901700258255005 + endloop + endfacet + facet normal 0.89882620092364052 0.17878753861432078 0.40018305382588132 + outer loop + vertex 0.086602538824081421 0 0.05000000074505806 + vertex 0.087866164743900299 0.036395356059074402 0.030901700258255005 + vertex 0.080010317265987396 0.033141355961561203 0.05000000074505806 + endloop + endfacet + facet normal 0.96014288401665793 0.19098433051579031 0.20408485433664575 + outer loop + vertex 0.095105648040771484 0 0.030901700258255005 + vertex 0.099452190101146698 0 0.010452846065163612 + vertex 0.091881841421127319 0.038058705627918243 0.010452846065163612 + endloop + endfacet + facet normal 0.96014294936226929 0.19098422428494741 0.20408464632156809 + outer loop + vertex 0.095105648040771484 0 0.030901700258255005 + vertex 0.091881841421127319 0.038058705627918243 0.010452846065163612 + vertex 0.087866164743900299 0.036395356059074402 0.030901700258255005 + endloop + endfacet + facet normal 0.98078527328214282 0.19509035781625048 -0 + outer loop + vertex 0.099452190101146698 0 0.010452846065163612 + vertex 0.099452190101146698 0 -0.010452846065163612 + vertex 0.091881841421127319 0.038058705627918243 -0.010452846065163612 + endloop + endfacet + facet normal 0.98078527328214282 0.19509035781625048 -0 + outer loop + vertex 0.099452190101146698 0 0.010452846065163612 + vertex 0.091881841421127319 0.038058705627918243 -0.010452846065163612 + vertex 0.091881841421127319 0.038058705627918243 0.010452846065163612 + endloop + endfacet + facet normal 0.96014290587992079 0.19098421563577428 -0.20408485898382991 + outer loop + vertex 0.099452190101146698 0 -0.010452846065163612 + vertex 0.095105648040771484 0 -0.030901700258255005 + vertex 0.087866164743900299 0.036395356059074402 -0.030901700258255005 + endloop + endfacet + facet normal 0.96014292559861558 0.1909843387869575 -0.2040846509687585 + outer loop + vertex 0.099452190101146698 0 -0.010452846065163612 + vertex 0.087866164743900299 0.036395356059074402 -0.030901700258255005 + vertex 0.091881841421127319 0.038058705627918243 -0.010452846065163612 + endloop + endfacet + facet normal 0.89882617942320453 0.17878753433762079 -0.40018310402734325 + outer loop + vertex 0.095105648040771484 0 -0.030901700258255005 + vertex 0.086602538824081421 0 -0.05000000074505806 + vertex 0.080010317265987396 0.033141355961561203 -0.05000000074505806 + endloop + endfacet + facet normal 0.89882619396083974 0.17878756859551068 -0.40018305607006494 + outer loop + vertex 0.095105648040771484 0 -0.030901700258255005 + vertex 0.080010317265987396 0.033141355961561203 -0.05000000074505806 + vertex 0.087866164743900299 0.036395356059074402 -0.030901700258255005 + endloop + endfacet + facet normal 0.79874087880382028 0.15887943951689917 -0.58031916410411333 + outer loop + vertex 0.086602538824081421 0 -0.05000000074505806 + vertex 0.074314482510089874 0 -0.06691306084394455 + vertex 0.068657629191875458 0.028438922017812729 -0.06691306084394455 + endloop + endfacet + facet normal 0.7987408154183383 0.1588793297666366 -0.58031928139408939 + outer loop + vertex 0.086602538824081421 0 -0.05000000074505806 + vertex 0.068657629191875458 0.028438922017812729 -0.06691306084394455 + vertex 0.080010317265987396 0.033141355961561203 -0.05000000074505806 + endloop + endfacet + facet normal 0.66328124732023808 0.13193484347074255 -0.73664861639160084 + outer loop + vertex 0.074314482510089874 0 -0.06691306084394455 + vertex 0.058778524398803711 0 -0.080901697278022766 + vertex 0.054304275661706924 0.022493567317724228 -0.080901697278022766 + endloop + endfacet + facet normal 0.66328124731817861 0.13193484346738305 -0.73664861639405699 + outer loop + vertex 0.074314482510089874 0 -0.06691306084394455 + vertex 0.054304275661706924 0.022493567317724228 -0.080901697278022766 + vertex 0.068657629191875458 0.028438922017812729 -0.06691306084394455 + endloop + endfacet + facet normal 0.49754554356199898 0.098968013678745081 -0.86177361548731513 + outer loop + vertex 0.058778524398803711 0 -0.080901697278022766 + vertex 0.040673665702342987 0 -0.091354548931121826 + vertex 0.037577565759420395 0.015565137378871441 -0.091354548931121826 + endloop + endfacet + facet normal 0.49754551322598684 0.098967956160755946 -0.86177363960732289 + outer loop + vertex 0.058778524398803711 0 -0.080901697278022766 + vertex 0.037577565759420395 0.015565137378871441 -0.091354548931121826 + vertex 0.054304275661706924 0.022493567317724228 -0.080901697278022766 + endloop + endfacet + facet normal 0.30843476568236111 0.061351497270056753 -0.94926497307189694 + outer loop + vertex 0.040673665702342987 0 -0.091354548931121826 + vertex 0.020791169255971909 0 -0.097814761102199554 + vertex 0.019208535552024841 0.0079564359039068222 -0.097814761102199554 + endloop + endfacet + facet normal 0.3084347739583525 0.061351523138116801 -0.94926496871099864 + outer loop + vertex 0.040673665702342987 0 -0.091354548931121826 + vertex 0.019208535552024841 0.0079564359039068222 -0.097814761102199554 + vertex 0.037577565759420395 0.015565137378871441 -0.091354548931121826 + endloop + endfacet + facet normal 0.26147837970812587 0.17471428421919066 0.9492649660842799 + outer loop + vertex 0.019208535552024841 0.0079564359039068222 0.097814761102199554 + vertex 0.037577565759420395 0.015565137378871441 0.091354548931121826 + vertex 0.028760623186826706 0.028760623186826706 0.091354548931121826 + endloop + endfacet + facet normal 0.26147840938106925 0.17471426893077599 0.9492649607246284 + outer loop + vertex 0.019208535552024841 0.0079564359039068222 0.097814761102199554 + vertex 0.028760623186826706 0.028760623186826706 0.091354548931121826 + vertex 0.01470157690346241 0.01470157690346241 0.097814761102199554 + endloop + endfacet + facet normal 0.42179874557711361 0.28183684066621417 0.86177364398829248 + outer loop + vertex 0.037577565759420395 0.015565137378871441 0.091354548931121826 + vertex 0.054304275661706924 0.022493567317724228 0.080901697278022766 + vertex 0.041562695056200027 0.041562695056200027 0.080901697278022766 + endloop + endfacet + facet normal 0.42179864590164712 0.28183687150574754 0.86177368268901633 + outer loop + vertex 0.037577565759420395 0.015565137378871441 0.091354548931121826 + vertex 0.041562695056200027 0.041562695056200027 0.080901697278022766 + vertex 0.028760623186826706 0.028760623186826706 0.091354548931121826 + endloop + endfacet + facet normal 0.56230267786378618 0.37571865044532143 0.73664862327622749 + outer loop + vertex 0.054304275661706924 0.022493567317724228 0.080901697278022766 + vertex 0.068657629191875458 0.028438922017812729 0.06691306084394455 + vertex 0.052548274397850037 0.052548274397850037 0.06691306084394455 + endloop + endfacet + facet normal 0.56230279592432497 0.37571862212216495 0.73664854760347465 + outer loop + vertex 0.054304275661706924 0.022493567317724228 0.080901697278022766 + vertex 0.052548274397850037 0.052548274397850037 0.06691306084394455 + vertex 0.041562695056200027 0.041562695056200027 0.080901697278022766 + endloop + endfacet + facet normal 0.67713972638750908 0.45245040321610314 0.5803192428116053 + outer loop + vertex 0.068657629191875458 0.028438922017812729 0.06691306084394455 + vertex 0.080010317265987396 0.033141355961561203 0.05000000074505806 + vertex 0.061237242072820663 0.061237242072820663 0.05000000074505806 + endloop + endfacet + facet normal 0.67713981980897864 0.4524503781983546 0.58031915330896144 + outer loop + vertex 0.068657629191875458 0.028438922017812729 0.06691306084394455 + vertex 0.061237242072820663 0.061237242072820663 0.05000000074505806 + vertex 0.052548274397850037 0.052548274397850037 0.06691306084394455 + endloop + endfacet + facet normal 0.76198801003014671 0.50914415869095786 0.40018308090319588 + outer loop + vertex 0.080010317265987396 0.033141355961561203 0.05000000074505806 + vertex 0.087866164743900299 0.036395356059074402 0.030901700258255005 + vertex 0.067249849438667297 0.067249849438667297 0.030901700258255005 + endloop + endfacet + facet normal 0.76198794657394719 0.50914418433618069 0.40018316910218049 + outer loop + vertex 0.080010317265987396 0.033141355961561203 0.05000000074505806 + vertex 0.067249849438667297 0.067249849438667297 0.030901700258255005 + vertex 0.061237242072820663 0.061237242072820663 0.05000000074505806 + endloop + endfacet + facet normal 0.81396988974665174 0.54387724854201425 0.20408468120903095 + outer loop + vertex 0.087866164743900299 0.036395356059074402 0.030901700258255005 + vertex 0.091881841421127319 0.038058705627918243 0.010452846065163612 + vertex 0.070323318243026733 0.070323318243026733 0.010452846065163612 + endloop + endfacet + facet normal 0.81396982149820041 0.54387729795136042 0.20408482173673517 + outer loop + vertex 0.087866164743900299 0.036395356059074402 0.030901700258255005 + vertex 0.070323318243026733 0.070323318243026733 0.010452846065163612 + vertex 0.067249849438667297 0.067249849438667297 0.030901700258255005 + endloop + endfacet + facet normal 0.83146963292153175 0.55557020216110709 -0 + outer loop + vertex 0.091881841421127319 0.038058705627918243 0.010452846065163612 + vertex 0.091881841421127319 0.038058705627918243 -0.010452846065163612 + vertex 0.070323318243026733 0.070323318243026733 -0.010452846065163612 + endloop + endfacet + facet normal 0.83146963292153175 0.55557020216110709 -0 + outer loop + vertex 0.091881841421127319 0.038058705627918243 0.010452846065163612 + vertex 0.070323318243026733 0.070323318243026733 -0.010452846065163612 + vertex 0.070323318243026733 0.070323318243026733 0.010452846065163612 + endloop + endfacet + facet normal 0.81396984640124925 0.54387731459104727 -0.20408467806956454 + outer loop + vertex 0.091881841421127319 0.038058705627918243 -0.010452846065163612 + vertex 0.087866164743900299 0.036395356059074402 -0.030901700258255005 + vertex 0.067249849438667297 0.067249849438667297 -0.030901700258255005 + endloop + endfacet + facet normal 0.81396986593198373 0.54387723262956311 -0.20408481859726049 + outer loop + vertex 0.091881841421127319 0.038058705627918243 -0.010452846065163612 + vertex 0.067249849438667297 0.067249849438667297 -0.030901700258255005 + vertex 0.070323318243026733 0.070323318243026733 -0.010452846065163612 + endloop + endfacet + facet normal 0.76198798009585644 0.50914420673480953 -0.40018307677589038 + outer loop + vertex 0.087866164743900299 0.036395356059074402 -0.030901700258255005 + vertex 0.080010317265987396 0.033141355961561203 -0.05000000074505806 + vertex 0.061237242072820663 0.061237242072820663 -0.05000000074505806 + endloop + endfacet + facet normal 0.76198797950532793 0.509144138294924 -0.40018316497487411 + outer loop + vertex 0.087866164743900299 0.036395356059074402 -0.030901700258255005 + vertex 0.061237242072820663 0.061237242072820663 -0.05000000074505806 + vertex 0.067249849438667297 0.067249849438667297 -0.030901700258255005 + endloop + endfacet + facet normal 0.67713976273003673 0.45245034005942358 -0.58031924964628023 + outer loop + vertex 0.080010317265987396 0.033141355961561203 -0.05000000074505806 + vertex 0.068657629191875458 0.028438922017812729 -0.06691306084394455 + vertex 0.052548274397850037 0.052548274397850037 -0.06691306084394455 + endloop + endfacet + facet normal 0.67713977536749692 0.45245043594349216 -0.58031916014362273 + outer loop + vertex 0.080010317265987396 0.033141355961561203 -0.05000000074505806 + vertex 0.052548274397850037 0.052548274397850037 -0.06691306084394455 + vertex 0.061237242072820663 0.061237242072820663 -0.05000000074505806 + endloop + endfacet + facet normal 0.56230271938745569 0.37571857098187661 -0.7366486321095076 + outer loop + vertex 0.068657629191875458 0.028438922017812729 -0.06691306084394455 + vertex 0.054304275661706924 0.022493567317724228 -0.080901697278022766 + vertex 0.041562695056200027 0.041562695056200027 -0.080901697278022766 + endloop + endfacet + facet normal 0.56230273840009004 0.37571869089438792 -0.73664855643676341 + outer loop + vertex 0.068657629191875458 0.028438922017812729 -0.06691306084394455 + vertex 0.041562695056200027 0.041562695056200027 -0.080901697278022766 + vertex 0.052548274397850037 0.052548274397850037 -0.06691306084394455 + endloop + endfacet + facet normal 0.42179871051676798 0.28183691468019506 -0.86177363694298537 + outer loop + vertex 0.054304275661706924 0.022493567317724228 -0.080901697278022766 + vertex 0.037577565759420395 0.015565137378871441 -0.091354548931121826 + vertex 0.028760623186826706 0.028760623186826706 -0.091354548931121826 + endloop + endfacet + facet normal 0.42179870086462851 0.28183681079029427 -0.86177367564370844 + outer loop + vertex 0.054304275661706924 0.022493567317724228 -0.080901697278022766 + vertex 0.028760623186826706 0.028760623186826706 -0.091354548931121826 + vertex 0.041562695056200027 0.041562695056200027 -0.080901697278022766 + endloop + endfacet + facet normal 0.26147839157789088 0.17471425703507376 -0.94926496781800662 + outer loop + vertex 0.037577565759420395 0.015565137378871441 -0.091354548931121826 + vertex 0.019208535552024841 0.0079564359039068222 -0.097814761102199554 + vertex 0.01470157690346241 0.01470157690346241 -0.097814761102199554 + endloop + endfacet + facet normal 0.26147838880858149 0.17471429029992128 -0.94926496245835557 + outer loop + vertex 0.037577565759420395 0.015565137378871441 -0.091354548931121826 + vertex 0.01470157690346241 0.01470157690346241 -0.097814761102199554 + vertex 0.028760623186826706 0.028760623186826706 -0.091354548931121826 + endloop + endfacet + facet normal 0.17471429029992128 0.26147838880858149 0.94926496245835557 + outer loop + vertex 0.01470157690346241 0.01470157690346241 0.097814761102199554 + vertex 0.028760623186826706 0.028760623186826706 0.091354548931121826 + vertex 0.015565137378871441 0.037577565759420395 0.091354548931121826 + endloop + endfacet + facet normal 0.17471425703507376 0.26147839157789088 0.94926496781800662 + outer loop + vertex 0.01470157690346241 0.01470157690346241 0.097814761102199554 + vertex 0.015565137378871441 0.037577565759420395 0.091354548931121826 + vertex 0.0079564359039068222 0.019208535552024841 0.097814761102199554 + endloop + endfacet + facet normal 0.28183681079029427 0.42179870086462851 0.86177367564370844 + outer loop + vertex 0.028760623186826706 0.028760623186826706 0.091354548931121826 + vertex 0.041562695056200027 0.041562695056200027 0.080901697278022766 + vertex 0.022493567317724228 0.054304275661706924 0.080901697278022766 + endloop + endfacet + facet normal 0.28183691468019506 0.42179871051676798 0.86177363694298537 + outer loop + vertex 0.028760623186826706 0.028760623186826706 0.091354548931121826 + vertex 0.022493567317724228 0.054304275661706924 0.080901697278022766 + vertex 0.015565137378871441 0.037577565759420395 0.091354548931121826 + endloop + endfacet + facet normal 0.37571869089438792 0.56230273840009004 0.73664855643676341 + outer loop + vertex 0.041562695056200027 0.041562695056200027 0.080901697278022766 + vertex 0.052548274397850037 0.052548274397850037 0.06691306084394455 + vertex 0.028438922017812729 0.068657629191875458 0.06691306084394455 + endloop + endfacet + facet normal 0.37571857098187661 0.56230271938745569 0.7366486321095076 + outer loop + vertex 0.041562695056200027 0.041562695056200027 0.080901697278022766 + vertex 0.028438922017812729 0.068657629191875458 0.06691306084394455 + vertex 0.022493567317724228 0.054304275661706924 0.080901697278022766 + endloop + endfacet + facet normal 0.45245043594349216 0.67713977536749692 0.58031916014362273 + outer loop + vertex 0.052548274397850037 0.052548274397850037 0.06691306084394455 + vertex 0.061237242072820663 0.061237242072820663 0.05000000074505806 + vertex 0.033141355961561203 0.080010317265987396 0.05000000074505806 + endloop + endfacet + facet normal 0.45245034005942358 0.67713976273003673 0.58031924964628023 + outer loop + vertex 0.052548274397850037 0.052548274397850037 0.06691306084394455 + vertex 0.033141355961561203 0.080010317265987396 0.05000000074505806 + vertex 0.028438922017812729 0.068657629191875458 0.06691306084394455 + endloop + endfacet + facet normal 0.509144138294924 0.76198797950532793 0.40018316497487411 + outer loop + vertex 0.061237242072820663 0.061237242072820663 0.05000000074505806 + vertex 0.067249849438667297 0.067249849438667297 0.030901700258255005 + vertex 0.036395356059074402 0.087866164743900299 0.030901700258255005 + endloop + endfacet + facet normal 0.50914420673480953 0.76198798009585644 0.40018307677589038 + outer loop + vertex 0.061237242072820663 0.061237242072820663 0.05000000074505806 + vertex 0.036395356059074402 0.087866164743900299 0.030901700258255005 + vertex 0.033141355961561203 0.080010317265987396 0.05000000074505806 + endloop + endfacet + facet normal 0.54387723262956311 0.81396986593198373 0.20408481859726049 + outer loop + vertex 0.067249849438667297 0.067249849438667297 0.030901700258255005 + vertex 0.070323318243026733 0.070323318243026733 0.010452846065163612 + vertex 0.038058705627918243 0.091881841421127319 0.010452846065163612 + endloop + endfacet + facet normal 0.54387731459104727 0.81396984640124925 0.20408467806956454 + outer loop + vertex 0.067249849438667297 0.067249849438667297 0.030901700258255005 + vertex 0.038058705627918243 0.091881841421127319 0.010452846065163612 + vertex 0.036395356059074402 0.087866164743900299 0.030901700258255005 + endloop + endfacet + facet normal 0.55557020216110709 0.83146963292153175 -0 + outer loop + vertex 0.070323318243026733 0.070323318243026733 0.010452846065163612 + vertex 0.070323318243026733 0.070323318243026733 -0.010452846065163612 + vertex 0.038058705627918243 0.091881841421127319 -0.010452846065163612 + endloop + endfacet + facet normal 0.55557020216110709 0.83146963292153175 -0 + outer loop + vertex 0.070323318243026733 0.070323318243026733 0.010452846065163612 + vertex 0.038058705627918243 0.091881841421127319 -0.010452846065163612 + vertex 0.038058705627918243 0.091881841421127319 0.010452846065163612 + endloop + endfacet + facet normal 0.54387729795136042 0.81396982149820041 -0.20408482173673517 + outer loop + vertex 0.070323318243026733 0.070323318243026733 -0.010452846065163612 + vertex 0.067249849438667297 0.067249849438667297 -0.030901700258255005 + vertex 0.036395356059074402 0.087866164743900299 -0.030901700258255005 + endloop + endfacet + facet normal 0.54387724854201425 0.81396988974665174 -0.20408468120903095 + outer loop + vertex 0.070323318243026733 0.070323318243026733 -0.010452846065163612 + vertex 0.036395356059074402 0.087866164743900299 -0.030901700258255005 + vertex 0.038058705627918243 0.091881841421127319 -0.010452846065163612 + endloop + endfacet + facet normal 0.50914418433618069 0.76198794657394719 -0.40018316910218049 + outer loop + vertex 0.067249849438667297 0.067249849438667297 -0.030901700258255005 + vertex 0.061237242072820663 0.061237242072820663 -0.05000000074505806 + vertex 0.033141355961561203 0.080010317265987396 -0.05000000074505806 + endloop + endfacet + facet normal 0.50914415869095786 0.76198801003014671 -0.40018308090319588 + outer loop + vertex 0.067249849438667297 0.067249849438667297 -0.030901700258255005 + vertex 0.033141355961561203 0.080010317265987396 -0.05000000074505806 + vertex 0.036395356059074402 0.087866164743900299 -0.030901700258255005 + endloop + endfacet + facet normal 0.4524503781983546 0.67713981980897864 -0.58031915330896144 + outer loop + vertex 0.061237242072820663 0.061237242072820663 -0.05000000074505806 + vertex 0.052548274397850037 0.052548274397850037 -0.06691306084394455 + vertex 0.028438922017812729 0.068657629191875458 -0.06691306084394455 + endloop + endfacet + facet normal 0.45245040321610314 0.67713972638750908 -0.5803192428116053 + outer loop + vertex 0.061237242072820663 0.061237242072820663 -0.05000000074505806 + vertex 0.028438922017812729 0.068657629191875458 -0.06691306084394455 + vertex 0.033141355961561203 0.080010317265987396 -0.05000000074505806 + endloop + endfacet + facet normal 0.37571862212216495 0.56230279592432497 -0.73664854760347465 + outer loop + vertex 0.052548274397850037 0.052548274397850037 -0.06691306084394455 + vertex 0.041562695056200027 0.041562695056200027 -0.080901697278022766 + vertex 0.022493567317724228 0.054304275661706924 -0.080901697278022766 + endloop + endfacet + facet normal 0.37571865044532143 0.56230267786378618 -0.73664862327622749 + outer loop + vertex 0.052548274397850037 0.052548274397850037 -0.06691306084394455 + vertex 0.022493567317724228 0.054304275661706924 -0.080901697278022766 + vertex 0.028438922017812729 0.068657629191875458 -0.06691306084394455 + endloop + endfacet + facet normal 0.28183687150574754 0.42179864590164712 -0.86177368268901633 + outer loop + vertex 0.041562695056200027 0.041562695056200027 -0.080901697278022766 + vertex 0.028760623186826706 0.028760623186826706 -0.091354548931121826 + vertex 0.015565137378871441 0.037577565759420395 -0.091354548931121826 + endloop + endfacet + facet normal 0.28183684066621417 0.42179874557711361 -0.86177364398829248 + outer loop + vertex 0.041562695056200027 0.041562695056200027 -0.080901697278022766 + vertex 0.015565137378871441 0.037577565759420395 -0.091354548931121826 + vertex 0.022493567317724228 0.054304275661706924 -0.080901697278022766 + endloop + endfacet + facet normal 0.17471426893077599 0.26147840938106925 -0.9492649607246284 + outer loop + vertex 0.028760623186826706 0.028760623186826706 -0.091354548931121826 + vertex 0.01470157690346241 0.01470157690346241 -0.097814761102199554 + vertex 0.0079564359039068222 0.019208535552024841 -0.097814761102199554 + endloop + endfacet + facet normal 0.17471428421919066 0.26147837970812587 -0.9492649660842799 + outer loop + vertex 0.028760623186826706 0.028760623186826706 -0.091354548931121826 + vertex 0.0079564359039068222 0.019208535552024841 -0.097814761102199554 + vertex 0.015565137378871441 0.037577565759420395 -0.091354548931121826 + endloop + endfacet + facet normal 0.061351523138116808 0.3084347739583525 0.94926496871099864 + outer loop + vertex 0.0079564359039068222 0.019208535552024841 0.097814761102199554 + vertex 0.015565137378871441 0.037577565759420395 0.091354548931121826 + vertex 2.4905436306751913e-18 0.040673665702342987 0.091354548931121826 + endloop + endfacet + facet normal 0.061351497270056753 0.30843476568236106 0.94926497307189694 + outer loop + vertex 0.0079564359039068222 0.019208535552024841 0.097814761102199554 + vertex 2.4905436306751913e-18 0.040673665702342987 0.091354548931121826 + vertex 1.2730919672892854e-18 0.020791169255971909 0.097814761102199554 + endloop + endfacet + facet normal 0.09896795616075596 0.49754551322598684 0.86177363960732289 + outer loop + vertex 0.015565137378871441 0.037577565759420395 0.091354548931121826 + vertex 0.022493567317724228 0.054304275661706924 0.080901697278022766 + vertex 3.5991468040503975e-18 0.058778524398803711 0.080901697278022766 + endloop + endfacet + facet normal 0.098968013678745095 0.49754554356199898 0.86177361548731501 + outer loop + vertex 0.015565137378871441 0.037577565759420395 0.091354548931121826 + vertex 3.5991468040503975e-18 0.058778524398803711 0.080901697278022766 + vertex 2.4905436306751913e-18 0.040673665702342987 0.091354548931121826 + endloop + endfacet + facet normal 0.13193484346738305 0.6632812473181785 0.73664861639405688 + outer loop + vertex 0.022493567317724228 0.054304275661706924 0.080901697278022766 + vertex 0.028438922017812729 0.068657629191875458 0.06691306084394455 + vertex 4.5504495898297635e-18 0.074314482510089874 0.06691306084394455 + endloop + endfacet + facet normal 0.13193484347074255 0.66328124732023797 0.73664861639160084 + outer loop + vertex 0.022493567317724228 0.054304275661706924 0.080901697278022766 + vertex 4.5504495898297635e-18 0.074314482510089874 0.06691306084394455 + vertex 3.5991468040503975e-18 0.058778524398803711 0.080901697278022766 + endloop + endfacet + facet normal 0.15887932976663663 0.79874081541833841 0.5803192813940895 + outer loop + vertex 0.028438922017812729 0.068657629191875458 0.06691306084394455 + vertex 0.033141355961561203 0.080010317265987396 0.05000000074505806 + vertex 5.302876236065149e-18 0.086602538824081421 0.05000000074505806 + endloop + endfacet + facet normal 0.15887943951689923 0.79874087880382039 0.58031916410411333 + outer loop + vertex 0.028438922017812729 0.068657629191875458 0.06691306084394455 + vertex 5.302876236065149e-18 0.086602538824081421 0.05000000074505806 + vertex 4.5504495898297635e-18 0.074314482510089874 0.06691306084394455 + endloop + endfacet + facet normal 0.17878756859551068 0.89882619396083951 0.40018305607006488 + outer loop + vertex 0.033141355961561203 0.080010317265987396 0.05000000074505806 + vertex 0.036395356059074402 0.087866164743900299 0.030901700258255005 + vertex 5.823541763914202e-18 0.095105648040771484 0.030901700258255005 + endloop + endfacet + facet normal 0.17878753433762079 0.89882617942320442 0.40018310402734319 + outer loop + vertex 0.033141355961561203 0.080010317265987396 0.05000000074505806 + vertex 5.823541763914202e-18 0.095105648040771484 0.030901700258255005 + vertex 5.302876236065149e-18 0.086602538824081421 0.05000000074505806 + endloop + endfacet + facet normal 0.19098433878695753 0.96014292559861558 0.2040846509687585 + outer loop + vertex 0.036395356059074402 0.087866164743900299 0.030901700258255005 + vertex 0.038058705627918243 0.091881841421127319 0.010452846065163612 + vertex 6.0896904347255889e-18 0.099452190101146698 0.010452846065163612 + endloop + endfacet + facet normal 0.19098421563577431 0.96014290587992079 0.20408485898382991 + outer loop + vertex 0.036395356059074402 0.087866164743900299 0.030901700258255005 + vertex 6.0896904347255889e-18 0.099452190101146698 0.010452846065163612 + vertex 5.823541763914202e-18 0.095105648040771484 0.030901700258255005 + endloop + endfacet + facet normal 0.19509035781625048 0.98078527328214271 -0 + outer loop + vertex 0.038058705627918243 0.091881841421127319 0.010452846065163612 + vertex 0.038058705627918243 0.091881841421127319 -0.010452846065163612 + vertex 6.0896904347255889e-18 0.099452190101146698 -0.010452846065163612 + endloop + endfacet + facet normal 0.19509035781625048 0.98078527328214271 -0 + outer loop + vertex 0.038058705627918243 0.091881841421127319 0.010452846065163612 + vertex 6.0896904347255889e-18 0.099452190101146698 -0.010452846065163612 + vertex 6.0896904347255889e-18 0.099452190101146698 0.010452846065163612 + endloop + endfacet + facet normal 0.19098422428494746 0.9601429493622694 -0.20408464632156811 + outer loop + vertex 0.038058705627918243 0.091881841421127319 -0.010452846065163612 + vertex 0.036395356059074402 0.087866164743900299 -0.030901700258255005 + vertex 5.823541763914202e-18 0.095105648040771484 -0.030901700258255005 + endloop + endfacet + facet normal 0.19098433051579031 0.96014288401665793 -0.20408485433664572 + outer loop + vertex 0.038058705627918243 0.091881841421127319 -0.010452846065163612 + vertex 5.823541763914202e-18 0.095105648040771484 -0.030901700258255005 + vertex 6.0896904347255889e-18 0.099452190101146698 -0.010452846065163612 + endloop + endfacet + facet normal 0.17878753861432081 0.89882620092364052 -0.40018305382588126 + outer loop + vertex 0.036395356059074402 0.087866164743900299 -0.030901700258255005 + vertex 0.033141355961561203 0.080010317265987396 -0.05000000074505806 + vertex 5.302876236065149e-18 0.086602538824081421 -0.05000000074505806 + endloop + endfacet + facet normal 0.17878756470117702 0.89882617438269363 -0.40018310178316374 + outer loop + vertex 0.036395356059074402 0.087866164743900299 -0.030901700258255005 + vertex 5.302876236065149e-18 0.086602538824081421 -0.05000000074505806 + vertex 5.823541763914202e-18 0.095105648040771484 -0.030901700258255005 + endloop + endfacet + facet normal 0.15887942196636895 0.79874079057134661 -0.58031929035065921 + outer loop + vertex 0.033141355961561203 0.080010317265987396 -0.05000000074505806 + vertex 0.028438922017812729 0.068657629191875458 -0.06691306084394455 + vertex 4.5504495898297635e-18 0.074314482510089874 -0.06691306084394455 + endloop + endfacet + facet normal 0.15887934482690999 0.79874089113149138 -0.58031917306068981 + outer loop + vertex 0.033141355961561203 0.080010317265987396 -0.05000000074505806 + vertex 4.5504495898297635e-18 0.074314482510089874 -0.06691306084394455 + vertex 5.302876236065149e-18 0.086602538824081421 -0.05000000074505806 + endloop + endfacet + facet normal 0.13193484347015971 0.66328124731730786 -0.73664861639434365 + outer loop + vertex 0.028438922017812729 0.068657629191875458 -0.06691306084394455 + vertex 0.022493567317724228 0.054304275661706924 -0.080901697278022766 + vertex 3.5991468040503975e-18 0.058778524398803711 -0.080901697278022766 + endloop + endfacet + facet normal 0.13193484346784407 0.6632812473204962 -0.73664861639188761 + outer loop + vertex 0.028438922017812729 0.068657629191875458 -0.06691306084394455 + vertex 3.5991468040503975e-18 0.058778524398803711 -0.080901697278022766 + vertex 4.5504495898297635e-18 0.074314482510089874 -0.06691306084394455 + endloop + endfacet + facet normal 0.098968004229828876 0.49754549605911413 -0.86177364399826861 + outer loop + vertex 0.022493567317724228 0.054304275661706924 -0.080901697278022766 + vertex 0.015565137378871441 0.037577565759420395 -0.091354548931121826 + vertex 2.4905436306751913e-18 0.040673665702342987 -0.091354548931121826 + endloop + endfacet + facet normal 0.098967962699230097 0.49754554609711604 -0.86177361987826384 + outer loop + vertex 0.022493567317724228 0.054304275661706924 -0.080901697278022766 + vertex 2.4905436306751913e-18 0.040673665702342987 -0.091354548931121826 + vertex 3.5991468040503975e-18 0.058778524398803711 -0.080901697278022766 + endloop + endfacet + facet normal 0.061351500668862552 0.30843478276930947 -0.94926496730034626 + outer loop + vertex 0.015565137378871441 0.037577565759420395 -0.091354548931121826 + vertex 0.0079564359039068222 0.019208535552024841 -0.097814761102199554 + vertex 1.2730919672892854e-18 0.020791169255971909 -0.097814761102199554 + endloop + endfacet + facet normal 0.061351521400747608 0.30843476522401225 -0.94926497166124379 + outer loop + vertex 0.015565137378871441 0.037577565759420395 -0.091354548931121826 + vertex 1.2730919672892854e-18 0.020791169255971909 -0.097814761102199554 + vertex 2.4905436306751913e-18 0.040673665702342987 -0.091354548931121826 + endloop + endfacet + facet normal -0.061351521400747587 0.30843476522401225 0.94926497166124379 + outer loop + vertex 1.2730919672892854e-18 0.020791169255971909 0.097814761102199554 + vertex 2.4905436306751913e-18 0.040673665702342987 0.091354548931121826 + vertex -0.015565137378871441 0.037577565759420395 0.091354548931121826 + endloop + endfacet + facet normal -0.061351500668862524 0.30843478276930947 0.94926496730034626 + outer loop + vertex 1.2730919672892854e-18 0.020791169255971909 0.097814761102199554 + vertex -0.015565137378871441 0.037577565759420395 0.091354548931121826 + vertex -0.0079564359039068222 0.019208535552024841 0.097814761102199554 + endloop + endfacet + facet normal -0.098967962699230083 0.49754554609711604 0.86177361987826384 + outer loop + vertex 2.4905436306751913e-18 0.040673665702342987 0.091354548931121826 + vertex 3.5991468040503975e-18 0.058778524398803711 0.080901697278022766 + vertex -0.022493567317724228 0.054304275661706924 0.080901697278022766 + endloop + endfacet + facet normal -0.098968004229828835 0.49754549605911413 0.86177364399826861 + outer loop + vertex 2.4905436306751913e-18 0.040673665702342987 0.091354548931121826 + vertex -0.022493567317724228 0.054304275661706924 0.080901697278022766 + vertex -0.015565137378871441 0.037577565759420395 0.091354548931121826 + endloop + endfacet + facet normal -0.13193484346784401 0.66328124732049609 0.7366486163918875 + outer loop + vertex 3.5991468040503975e-18 0.058778524398803711 0.080901697278022766 + vertex 4.5504495898297635e-18 0.074314482510089874 0.06691306084394455 + vertex -0.028438922017812729 0.068657629191875458 0.06691306084394455 + endloop + endfacet + facet normal -0.13193484347015969 0.66328124731730786 0.73664861639434365 + outer loop + vertex 3.5991468040503975e-18 0.058778524398803711 0.080901697278022766 + vertex -0.028438922017812729 0.068657629191875458 0.06691306084394455 + vertex -0.022493567317724228 0.054304275661706924 0.080901697278022766 + endloop + endfacet + facet normal -0.15887934482690991 0.79874089113149138 0.58031917306068992 + outer loop + vertex 4.5504495898297635e-18 0.074314482510089874 0.06691306084394455 + vertex 5.302876236065149e-18 0.086602538824081421 0.05000000074505806 + vertex -0.033141355961561203 0.080010317265987396 0.05000000074505806 + endloop + endfacet + facet normal -0.15887942196636889 0.79874079057134661 0.58031929035065921 + outer loop + vertex 4.5504495898297635e-18 0.074314482510089874 0.06691306084394455 + vertex -0.033141355961561203 0.080010317265987396 0.05000000074505806 + vertex -0.028438922017812729 0.068657629191875458 0.06691306084394455 + endloop + endfacet + facet normal -0.17878756470117696 0.89882617438269374 0.4001831017831638 + outer loop + vertex 5.302876236065149e-18 0.086602538824081421 0.05000000074505806 + vertex 5.823541763914202e-18 0.095105648040771484 0.030901700258255005 + vertex -0.036395356059074402 0.087866164743900299 0.030901700258255005 + endloop + endfacet + facet normal -0.17878753861432076 0.89882620092364052 0.40018305382588132 + outer loop + vertex 5.302876236065149e-18 0.086602538824081421 0.05000000074505806 + vertex -0.036395356059074402 0.087866164743900299 0.030901700258255005 + vertex -0.033141355961561203 0.080010317265987396 0.05000000074505806 + endloop + endfacet + facet normal -0.19098433051579028 0.96014288401665793 0.20408485433664575 + outer loop + vertex 5.823541763914202e-18 0.095105648040771484 0.030901700258255005 + vertex 6.0896904347255889e-18 0.099452190101146698 0.010452846065163612 + vertex -0.038058705627918243 0.091881841421127319 0.010452846065163612 + endloop + endfacet + facet normal -0.19098422428494741 0.9601429493622694 0.20408464632156811 + outer loop + vertex 5.823541763914202e-18 0.095105648040771484 0.030901700258255005 + vertex -0.038058705627918243 0.091881841421127319 0.010452846065163612 + vertex -0.036395356059074402 0.087866164743900299 0.030901700258255005 + endloop + endfacet + facet normal -0.19509035781625042 0.98078527328214271 0 + outer loop + vertex 6.0896904347255889e-18 0.099452190101146698 0.010452846065163612 + vertex 6.0896904347255889e-18 0.099452190101146698 -0.010452846065163612 + vertex -0.038058705627918243 0.091881841421127319 -0.010452846065163612 + endloop + endfacet + facet normal -0.19509035781625042 0.98078527328214271 0 + outer loop + vertex 6.0896904347255889e-18 0.099452190101146698 0.010452846065163612 + vertex -0.038058705627918243 0.091881841421127319 -0.010452846065163612 + vertex -0.038058705627918243 0.091881841421127319 0.010452846065163612 + endloop + endfacet + facet normal -0.19098421563577425 0.96014290587992079 -0.20408485898382991 + outer loop + vertex 6.0896904347255889e-18 0.099452190101146698 -0.010452846065163612 + vertex 5.823541763914202e-18 0.095105648040771484 -0.030901700258255005 + vertex -0.036395356059074402 0.087866164743900299 -0.030901700258255005 + endloop + endfacet + facet normal -0.19098433878695747 0.96014292559861558 -0.20408465096875852 + outer loop + vertex 6.0896904347255889e-18 0.099452190101146698 -0.010452846065163612 + vertex -0.036395356059074402 0.087866164743900299 -0.030901700258255005 + vertex -0.038058705627918243 0.091881841421127319 -0.010452846065163612 + endloop + endfacet + facet normal -0.17878753433762073 0.89882617942320442 -0.40018310402734325 + outer loop + vertex 5.823541763914202e-18 0.095105648040771484 -0.030901700258255005 + vertex 5.302876236065149e-18 0.086602538824081421 -0.05000000074505806 + vertex -0.033141355961561203 0.080010317265987396 -0.05000000074505806 + endloop + endfacet + facet normal -0.17878756859551062 0.89882619396083963 -0.40018305607006494 + outer loop + vertex 5.823541763914202e-18 0.095105648040771484 -0.030901700258255005 + vertex -0.033141355961561203 0.080010317265987396 -0.05000000074505806 + vertex -0.036395356059074402 0.087866164743900299 -0.030901700258255005 + endloop + endfacet + facet normal -0.15887943951689915 0.79874087880382016 -0.58031916410411333 + outer loop + vertex 5.302876236065149e-18 0.086602538824081421 -0.05000000074505806 + vertex 4.5504495898297635e-18 0.074314482510089874 -0.06691306084394455 + vertex -0.028438922017812729 0.068657629191875458 -0.06691306084394455 + endloop + endfacet + facet normal -0.15887932976663657 0.7987408154183383 -0.58031928139408939 + outer loop + vertex 5.302876236065149e-18 0.086602538824081421 -0.05000000074505806 + vertex -0.028438922017812729 0.068657629191875458 -0.06691306084394455 + vertex -0.033141355961561203 0.080010317265987396 -0.05000000074505806 + endloop + endfacet + facet normal -0.13193484347074252 0.66328124732023797 -0.73664861639160084 + outer loop + vertex 4.5504495898297635e-18 0.074314482510089874 -0.06691306084394455 + vertex 3.5991468040503975e-18 0.058778524398803711 -0.080901697278022766 + vertex -0.022493567317724228 0.054304275661706924 -0.080901697278022766 + endloop + endfacet + facet normal -0.13193484346738302 0.66328124731817861 -0.73664861639405699 + outer loop + vertex 4.5504495898297635e-18 0.074314482510089874 -0.06691306084394455 + vertex -0.022493567317724228 0.054304275661706924 -0.080901697278022766 + vertex -0.028438922017812729 0.068657629191875458 -0.06691306084394455 + endloop + endfacet + facet normal -0.098968013678745068 0.49754554356199898 -0.86177361548731513 + outer loop + vertex 3.5991468040503975e-18 0.058778524398803711 -0.080901697278022766 + vertex 2.4905436306751913e-18 0.040673665702342987 -0.091354548931121826 + vertex -0.015565137378871441 0.037577565759420395 -0.091354548931121826 + endloop + endfacet + facet normal -0.098967956160755932 0.49754551322598684 -0.86177363960732289 + outer loop + vertex 3.5991468040503975e-18 0.058778524398803711 -0.080901697278022766 + vertex -0.015565137378871441 0.037577565759420395 -0.091354548931121826 + vertex -0.022493567317724228 0.054304275661706924 -0.080901697278022766 + endloop + endfacet + facet normal -0.061351497270056739 0.30843476568236111 -0.94926497307189694 + outer loop + vertex 2.4905436306751913e-18 0.040673665702342987 -0.091354548931121826 + vertex 1.2730919672892854e-18 0.020791169255971909 -0.097814761102199554 + vertex -0.0079564359039068222 0.019208535552024841 -0.097814761102199554 + endloop + endfacet + facet normal -0.061351523138116801 0.30843477395835256 -0.94926496871099864 + outer loop + vertex 2.4905436306751913e-18 0.040673665702342987 -0.091354548931121826 + vertex -0.0079564359039068222 0.019208535552024841 -0.097814761102199554 + vertex -0.015565137378871441 0.037577565759420395 -0.091354548931121826 + endloop + endfacet + facet normal -0.17471428421919066 0.26147837970812587 0.9492649660842799 + outer loop + vertex -0.0079564359039068222 0.019208535552024841 0.097814761102199554 + vertex -0.015565137378871441 0.037577565759420395 0.091354548931121826 + vertex -0.028760623186826706 0.028760623186826706 0.091354548931121826 + endloop + endfacet + facet normal -0.17471426893077599 0.26147840938106925 0.9492649607246284 + outer loop + vertex -0.0079564359039068222 0.019208535552024841 0.097814761102199554 + vertex -0.028760623186826706 0.028760623186826706 0.091354548931121826 + vertex -0.01470157690346241 0.01470157690346241 0.097814761102199554 + endloop + endfacet + facet normal -0.28183684066621417 0.42179874557711361 0.86177364398829248 + outer loop + vertex -0.015565137378871441 0.037577565759420395 0.091354548931121826 + vertex -0.022493567317724228 0.054304275661706924 0.080901697278022766 + vertex -0.041562695056200027 0.041562695056200027 0.080901697278022766 + endloop + endfacet + facet normal -0.28183687150574754 0.42179864590164712 0.86177368268901633 + outer loop + vertex -0.015565137378871441 0.037577565759420395 0.091354548931121826 + vertex -0.041562695056200027 0.041562695056200027 0.080901697278022766 + vertex -0.028760623186826706 0.028760623186826706 0.091354548931121826 + endloop + endfacet + facet normal -0.37571865044532143 0.56230267786378618 0.73664862327622749 + outer loop + vertex -0.022493567317724228 0.054304275661706924 0.080901697278022766 + vertex -0.028438922017812729 0.068657629191875458 0.06691306084394455 + vertex -0.052548274397850037 0.052548274397850037 0.06691306084394455 + endloop + endfacet + facet normal -0.37571862212216495 0.56230279592432497 0.73664854760347465 + outer loop + vertex -0.022493567317724228 0.054304275661706924 0.080901697278022766 + vertex -0.052548274397850037 0.052548274397850037 0.06691306084394455 + vertex -0.041562695056200027 0.041562695056200027 0.080901697278022766 + endloop + endfacet + facet normal -0.45245040321610314 0.67713972638750908 0.5803192428116053 + outer loop + vertex -0.028438922017812729 0.068657629191875458 0.06691306084394455 + vertex -0.033141355961561203 0.080010317265987396 0.05000000074505806 + vertex -0.061237242072820663 0.061237242072820663 0.05000000074505806 + endloop + endfacet + facet normal -0.4524503781983546 0.67713981980897864 0.58031915330896144 + outer loop + vertex -0.028438922017812729 0.068657629191875458 0.06691306084394455 + vertex -0.061237242072820663 0.061237242072820663 0.05000000074505806 + vertex -0.052548274397850037 0.052548274397850037 0.06691306084394455 + endloop + endfacet + facet normal -0.50914415869095786 0.76198801003014671 0.40018308090319588 + outer loop + vertex -0.033141355961561203 0.080010317265987396 0.05000000074505806 + vertex -0.036395356059074402 0.087866164743900299 0.030901700258255005 + vertex -0.067249849438667297 0.067249849438667297 0.030901700258255005 + endloop + endfacet + facet normal -0.50914418433618069 0.76198794657394719 0.40018316910218049 + outer loop + vertex -0.033141355961561203 0.080010317265987396 0.05000000074505806 + vertex -0.067249849438667297 0.067249849438667297 0.030901700258255005 + vertex -0.061237242072820663 0.061237242072820663 0.05000000074505806 + endloop + endfacet + facet normal -0.54387724854201425 0.81396988974665174 0.20408468120903095 + outer loop + vertex -0.036395356059074402 0.087866164743900299 0.030901700258255005 + vertex -0.038058705627918243 0.091881841421127319 0.010452846065163612 + vertex -0.070323318243026733 0.070323318243026733 0.010452846065163612 + endloop + endfacet + facet normal -0.54387729795136042 0.81396982149820041 0.20408482173673517 + outer loop + vertex -0.036395356059074402 0.087866164743900299 0.030901700258255005 + vertex -0.070323318243026733 0.070323318243026733 0.010452846065163612 + vertex -0.067249849438667297 0.067249849438667297 0.030901700258255005 + endloop + endfacet + facet normal -0.55557020216110709 0.83146963292153175 0 + outer loop + vertex -0.038058705627918243 0.091881841421127319 0.010452846065163612 + vertex -0.038058705627918243 0.091881841421127319 -0.010452846065163612 + vertex -0.070323318243026733 0.070323318243026733 -0.010452846065163612 + endloop + endfacet + facet normal -0.55557020216110709 0.83146963292153175 0 + outer loop + vertex -0.038058705627918243 0.091881841421127319 0.010452846065163612 + vertex -0.070323318243026733 0.070323318243026733 -0.010452846065163612 + vertex -0.070323318243026733 0.070323318243026733 0.010452846065163612 + endloop + endfacet + facet normal -0.54387731459104727 0.81396984640124925 -0.20408467806956454 + outer loop + vertex -0.038058705627918243 0.091881841421127319 -0.010452846065163612 + vertex -0.036395356059074402 0.087866164743900299 -0.030901700258255005 + vertex -0.067249849438667297 0.067249849438667297 -0.030901700258255005 + endloop + endfacet + facet normal -0.54387723262956311 0.81396986593198373 -0.20408481859726049 + outer loop + vertex -0.038058705627918243 0.091881841421127319 -0.010452846065163612 + vertex -0.067249849438667297 0.067249849438667297 -0.030901700258255005 + vertex -0.070323318243026733 0.070323318243026733 -0.010452846065163612 + endloop + endfacet + facet normal -0.50914420673480953 0.76198798009585644 -0.40018307677589038 + outer loop + vertex -0.036395356059074402 0.087866164743900299 -0.030901700258255005 + vertex -0.033141355961561203 0.080010317265987396 -0.05000000074505806 + vertex -0.061237242072820663 0.061237242072820663 -0.05000000074505806 + endloop + endfacet + facet normal -0.509144138294924 0.76198797950532793 -0.40018316497487411 + outer loop + vertex -0.036395356059074402 0.087866164743900299 -0.030901700258255005 + vertex -0.061237242072820663 0.061237242072820663 -0.05000000074505806 + vertex -0.067249849438667297 0.067249849438667297 -0.030901700258255005 + endloop + endfacet + facet normal -0.45245034005942358 0.67713976273003673 -0.58031924964628023 + outer loop + vertex -0.033141355961561203 0.080010317265987396 -0.05000000074505806 + vertex -0.028438922017812729 0.068657629191875458 -0.06691306084394455 + vertex -0.052548274397850037 0.052548274397850037 -0.06691306084394455 + endloop + endfacet + facet normal -0.45245043594349216 0.67713977536749692 -0.58031916014362273 + outer loop + vertex -0.033141355961561203 0.080010317265987396 -0.05000000074505806 + vertex -0.052548274397850037 0.052548274397850037 -0.06691306084394455 + vertex -0.061237242072820663 0.061237242072820663 -0.05000000074505806 + endloop + endfacet + facet normal -0.37571857098187661 0.56230271938745569 -0.7366486321095076 + outer loop + vertex -0.028438922017812729 0.068657629191875458 -0.06691306084394455 + vertex -0.022493567317724228 0.054304275661706924 -0.080901697278022766 + vertex -0.041562695056200027 0.041562695056200027 -0.080901697278022766 + endloop + endfacet + facet normal -0.37571869089438792 0.56230273840009004 -0.73664855643676341 + outer loop + vertex -0.028438922017812729 0.068657629191875458 -0.06691306084394455 + vertex -0.041562695056200027 0.041562695056200027 -0.080901697278022766 + vertex -0.052548274397850037 0.052548274397850037 -0.06691306084394455 + endloop + endfacet + facet normal -0.28183691468019506 0.42179871051676798 -0.86177363694298537 + outer loop + vertex -0.022493567317724228 0.054304275661706924 -0.080901697278022766 + vertex -0.015565137378871441 0.037577565759420395 -0.091354548931121826 + vertex -0.028760623186826706 0.028760623186826706 -0.091354548931121826 + endloop + endfacet + facet normal -0.28183681079029427 0.42179870086462851 -0.86177367564370844 + outer loop + vertex -0.022493567317724228 0.054304275661706924 -0.080901697278022766 + vertex -0.028760623186826706 0.028760623186826706 -0.091354548931121826 + vertex -0.041562695056200027 0.041562695056200027 -0.080901697278022766 + endloop + endfacet + facet normal -0.17471425703507376 0.26147839157789088 -0.94926496781800662 + outer loop + vertex -0.015565137378871441 0.037577565759420395 -0.091354548931121826 + vertex -0.0079564359039068222 0.019208535552024841 -0.097814761102199554 + vertex -0.01470157690346241 0.01470157690346241 -0.097814761102199554 + endloop + endfacet + facet normal -0.17471429029992128 0.26147838880858149 -0.94926496245835557 + outer loop + vertex -0.015565137378871441 0.037577565759420395 -0.091354548931121826 + vertex -0.01470157690346241 0.01470157690346241 -0.097814761102199554 + vertex -0.028760623186826706 0.028760623186826706 -0.091354548931121826 + endloop + endfacet + facet normal -0.26147838880858149 0.17471429029992128 0.94926496245835557 + outer loop + vertex -0.01470157690346241 0.01470157690346241 0.097814761102199554 + vertex -0.028760623186826706 0.028760623186826706 0.091354548931121826 + vertex -0.037577565759420395 0.015565137378871441 0.091354548931121826 + endloop + endfacet + facet normal -0.26147839157789088 0.17471425703507376 0.94926496781800662 + outer loop + vertex -0.01470157690346241 0.01470157690346241 0.097814761102199554 + vertex -0.037577565759420395 0.015565137378871441 0.091354548931121826 + vertex -0.019208535552024841 0.0079564359039068222 0.097814761102199554 + endloop + endfacet + facet normal -0.42179870086462851 0.28183681079029427 0.86177367564370844 + outer loop + vertex -0.028760623186826706 0.028760623186826706 0.091354548931121826 + vertex -0.041562695056200027 0.041562695056200027 0.080901697278022766 + vertex -0.054304275661706924 0.022493567317724228 0.080901697278022766 + endloop + endfacet + facet normal -0.42179871051676798 0.28183691468019506 0.86177363694298537 + outer loop + vertex -0.028760623186826706 0.028760623186826706 0.091354548931121826 + vertex -0.054304275661706924 0.022493567317724228 0.080901697278022766 + vertex -0.037577565759420395 0.015565137378871441 0.091354548931121826 + endloop + endfacet + facet normal -0.56230273840009004 0.37571869089438792 0.73664855643676341 + outer loop + vertex -0.041562695056200027 0.041562695056200027 0.080901697278022766 + vertex -0.052548274397850037 0.052548274397850037 0.06691306084394455 + vertex -0.068657629191875458 0.028438922017812729 0.06691306084394455 + endloop + endfacet + facet normal -0.56230271938745569 0.37571857098187661 0.7366486321095076 + outer loop + vertex -0.041562695056200027 0.041562695056200027 0.080901697278022766 + vertex -0.068657629191875458 0.028438922017812729 0.06691306084394455 + vertex -0.054304275661706924 0.022493567317724228 0.080901697278022766 + endloop + endfacet + facet normal -0.67713977536749692 0.45245043594349216 0.58031916014362273 + outer loop + vertex -0.052548274397850037 0.052548274397850037 0.06691306084394455 + vertex -0.061237242072820663 0.061237242072820663 0.05000000074505806 + vertex -0.080010317265987396 0.033141355961561203 0.05000000074505806 + endloop + endfacet + facet normal -0.67713976273003673 0.45245034005942358 0.58031924964628023 + outer loop + vertex -0.052548274397850037 0.052548274397850037 0.06691306084394455 + vertex -0.080010317265987396 0.033141355961561203 0.05000000074505806 + vertex -0.068657629191875458 0.028438922017812729 0.06691306084394455 + endloop + endfacet + facet normal -0.76198797950532793 0.509144138294924 0.40018316497487411 + outer loop + vertex -0.061237242072820663 0.061237242072820663 0.05000000074505806 + vertex -0.067249849438667297 0.067249849438667297 0.030901700258255005 + vertex -0.087866164743900299 0.036395356059074402 0.030901700258255005 + endloop + endfacet + facet normal -0.76198798009585644 0.50914420673480953 0.40018307677589038 + outer loop + vertex -0.061237242072820663 0.061237242072820663 0.05000000074505806 + vertex -0.087866164743900299 0.036395356059074402 0.030901700258255005 + vertex -0.080010317265987396 0.033141355961561203 0.05000000074505806 + endloop + endfacet + facet normal -0.81396986593198373 0.54387723262956311 0.20408481859726049 + outer loop + vertex -0.067249849438667297 0.067249849438667297 0.030901700258255005 + vertex -0.070323318243026733 0.070323318243026733 0.010452846065163612 + vertex -0.091881841421127319 0.038058705627918243 0.010452846065163612 + endloop + endfacet + facet normal -0.81396984640124925 0.54387731459104727 0.20408467806956454 + outer loop + vertex -0.067249849438667297 0.067249849438667297 0.030901700258255005 + vertex -0.091881841421127319 0.038058705627918243 0.010452846065163612 + vertex -0.087866164743900299 0.036395356059074402 0.030901700258255005 + endloop + endfacet + facet normal -0.83146963292153175 0.55557020216110709 0 + outer loop + vertex -0.070323318243026733 0.070323318243026733 0.010452846065163612 + vertex -0.070323318243026733 0.070323318243026733 -0.010452846065163612 + vertex -0.091881841421127319 0.038058705627918243 -0.010452846065163612 + endloop + endfacet + facet normal -0.83146963292153175 0.55557020216110709 0 + outer loop + vertex -0.070323318243026733 0.070323318243026733 0.010452846065163612 + vertex -0.091881841421127319 0.038058705627918243 -0.010452846065163612 + vertex -0.091881841421127319 0.038058705627918243 0.010452846065163612 + endloop + endfacet + facet normal -0.81396982149820041 0.54387729795136042 -0.20408482173673517 + outer loop + vertex -0.070323318243026733 0.070323318243026733 -0.010452846065163612 + vertex -0.067249849438667297 0.067249849438667297 -0.030901700258255005 + vertex -0.087866164743900299 0.036395356059074402 -0.030901700258255005 + endloop + endfacet + facet normal -0.81396988974665174 0.54387724854201425 -0.20408468120903095 + outer loop + vertex -0.070323318243026733 0.070323318243026733 -0.010452846065163612 + vertex -0.087866164743900299 0.036395356059074402 -0.030901700258255005 + vertex -0.091881841421127319 0.038058705627918243 -0.010452846065163612 + endloop + endfacet + facet normal -0.76198794657394719 0.50914418433618069 -0.40018316910218049 + outer loop + vertex -0.067249849438667297 0.067249849438667297 -0.030901700258255005 + vertex -0.061237242072820663 0.061237242072820663 -0.05000000074505806 + vertex -0.080010317265987396 0.033141355961561203 -0.05000000074505806 + endloop + endfacet + facet normal -0.76198801003014671 0.50914415869095786 -0.40018308090319588 + outer loop + vertex -0.067249849438667297 0.067249849438667297 -0.030901700258255005 + vertex -0.080010317265987396 0.033141355961561203 -0.05000000074505806 + vertex -0.087866164743900299 0.036395356059074402 -0.030901700258255005 + endloop + endfacet + facet normal -0.67713981980897864 0.4524503781983546 -0.58031915330896144 + outer loop + vertex -0.061237242072820663 0.061237242072820663 -0.05000000074505806 + vertex -0.052548274397850037 0.052548274397850037 -0.06691306084394455 + vertex -0.068657629191875458 0.028438922017812729 -0.06691306084394455 + endloop + endfacet + facet normal -0.67713972638750908 0.45245040321610314 -0.5803192428116053 + outer loop + vertex -0.061237242072820663 0.061237242072820663 -0.05000000074505806 + vertex -0.068657629191875458 0.028438922017812729 -0.06691306084394455 + vertex -0.080010317265987396 0.033141355961561203 -0.05000000074505806 + endloop + endfacet + facet normal -0.56230279592432497 0.37571862212216495 -0.73664854760347465 + outer loop + vertex -0.052548274397850037 0.052548274397850037 -0.06691306084394455 + vertex -0.041562695056200027 0.041562695056200027 -0.080901697278022766 + vertex -0.054304275661706924 0.022493567317724228 -0.080901697278022766 + endloop + endfacet + facet normal -0.56230267786378618 0.37571865044532143 -0.73664862327622749 + outer loop + vertex -0.052548274397850037 0.052548274397850037 -0.06691306084394455 + vertex -0.054304275661706924 0.022493567317724228 -0.080901697278022766 + vertex -0.068657629191875458 0.028438922017812729 -0.06691306084394455 + endloop + endfacet + facet normal -0.42179864590164712 0.28183687150574754 -0.86177368268901633 + outer loop + vertex -0.041562695056200027 0.041562695056200027 -0.080901697278022766 + vertex -0.028760623186826706 0.028760623186826706 -0.091354548931121826 + vertex -0.037577565759420395 0.015565137378871441 -0.091354548931121826 + endloop + endfacet + facet normal -0.42179874557711361 0.28183684066621417 -0.86177364398829248 + outer loop + vertex -0.041562695056200027 0.041562695056200027 -0.080901697278022766 + vertex -0.037577565759420395 0.015565137378871441 -0.091354548931121826 + vertex -0.054304275661706924 0.022493567317724228 -0.080901697278022766 + endloop + endfacet + facet normal -0.26147840938106925 0.17471426893077599 -0.9492649607246284 + outer loop + vertex -0.028760623186826706 0.028760623186826706 -0.091354548931121826 + vertex -0.01470157690346241 0.01470157690346241 -0.097814761102199554 + vertex -0.019208535552024841 0.0079564359039068222 -0.097814761102199554 + endloop + endfacet + facet normal -0.26147837970812587 0.17471428421919066 -0.9492649660842799 + outer loop + vertex -0.028760623186826706 0.028760623186826706 -0.091354548931121826 + vertex -0.019208535552024841 0.0079564359039068222 -0.097814761102199554 + vertex -0.037577565759420395 0.015565137378871441 -0.091354548931121826 + endloop + endfacet + facet normal -0.30843477395835256 0.061351523138116815 0.94926496871099864 + outer loop + vertex -0.019208535552024841 0.0079564359039068222 0.097814761102199554 + vertex -0.037577565759420395 0.015565137378871441 0.091354548931121826 + vertex -0.040673665702342987 4.9810872613503827e-18 0.091354548931121826 + endloop + endfacet + facet normal -0.30843476568236106 0.061351497270056773 0.94926497307189694 + outer loop + vertex -0.019208535552024841 0.0079564359039068222 0.097814761102199554 + vertex -0.040673665702342987 4.9810872613503827e-18 0.091354548931121826 + vertex -0.020791169255971909 2.5461839345785708e-18 0.097814761102199554 + endloop + endfacet + facet normal -0.49754551322598684 0.098967956160755974 0.86177363960732301 + outer loop + vertex -0.037577565759420395 0.015565137378871441 0.091354548931121826 + vertex -0.054304275661706924 0.022493567317724228 0.080901697278022766 + vertex -0.058778524398803711 7.1982936081007951e-18 0.080901697278022766 + endloop + endfacet + facet normal -0.49754554356199887 0.098968013678745095 0.86177361548731501 + outer loop + vertex -0.037577565759420395 0.015565137378871441 0.091354548931121826 + vertex -0.058778524398803711 7.1982936081007951e-18 0.080901697278022766 + vertex -0.040673665702342987 4.9810872613503827e-18 0.091354548931121826 + endloop + endfacet + facet normal -0.6632812473181785 0.13193484346738307 0.73664861639405688 + outer loop + vertex -0.054304275661706924 0.022493567317724228 0.080901697278022766 + vertex -0.068657629191875458 0.028438922017812729 0.06691306084394455 + vertex -0.074314482510089874 9.100899179659527e-18 0.06691306084394455 + endloop + endfacet + facet normal -0.66328124732023797 0.13193484347074261 0.73664861639160095 + outer loop + vertex -0.054304275661706924 0.022493567317724228 0.080901697278022766 + vertex -0.074314482510089874 9.100899179659527e-18 0.06691306084394455 + vertex -0.058778524398803711 7.1982936081007951e-18 0.080901697278022766 + endloop + endfacet + facet normal -0.79874081541833841 0.15887932976663666 0.58031928139408939 + outer loop + vertex -0.068657629191875458 0.028438922017812729 0.06691306084394455 + vertex -0.080010317265987396 0.033141355961561203 0.05000000074505806 + vertex -0.086602538824081421 1.0605752472130298e-17 0.05000000074505806 + endloop + endfacet + facet normal -0.79874087880382028 0.15887943951689923 0.58031916410411333 + outer loop + vertex -0.068657629191875458 0.028438922017812729 0.06691306084394455 + vertex -0.086602538824081421 1.0605752472130298e-17 0.05000000074505806 + vertex -0.074314482510089874 9.100899179659527e-18 0.06691306084394455 + endloop + endfacet + facet normal -0.89882619396083963 0.1787875685955107 0.40018305607006494 + outer loop + vertex -0.080010317265987396 0.033141355961561203 0.05000000074505806 + vertex -0.087866164743900299 0.036395356059074402 0.030901700258255005 + vertex -0.095105648040771484 1.1647083527828404e-17 0.030901700258255005 + endloop + endfacet + facet normal -0.89882617942320453 0.17878753433762085 0.40018310402734325 + outer loop + vertex -0.080010317265987396 0.033141355961561203 0.05000000074505806 + vertex -0.095105648040771484 1.1647083527828404e-17 0.030901700258255005 + vertex -0.086602538824081421 1.0605752472130298e-17 0.05000000074505806 + endloop + endfacet + facet normal -0.96014292559861558 0.19098433878695759 0.20408465096875852 + outer loop + vertex -0.087866164743900299 0.036395356059074402 0.030901700258255005 + vertex -0.091881841421127319 0.038058705627918243 0.010452846065163612 + vertex -0.099452190101146698 1.2179380869451178e-17 0.010452846065163612 + endloop + endfacet + facet normal -0.96014290587992079 0.19098421563577436 0.20408485898382991 + outer loop + vertex -0.087866164743900299 0.036395356059074402 0.030901700258255005 + vertex -0.099452190101146698 1.2179380869451178e-17 0.010452846065163612 + vertex -0.095105648040771484 1.1647083527828404e-17 0.030901700258255005 + endloop + endfacet + facet normal -0.98078527328214271 0.19509035781625053 0 + outer loop + vertex -0.091881841421127319 0.038058705627918243 0.010452846065163612 + vertex -0.091881841421127319 0.038058705627918243 -0.010452846065163612 + vertex -0.099452190101146698 1.2179380869451178e-17 -0.010452846065163612 + endloop + endfacet + facet normal -0.98078527328214271 0.19509035781625053 0 + outer loop + vertex -0.091881841421127319 0.038058705627918243 0.010452846065163612 + vertex -0.099452190101146698 1.2179380869451178e-17 -0.010452846065163612 + vertex -0.099452190101146698 1.2179380869451178e-17 0.010452846065163612 + endloop + endfacet + facet normal -0.9601429493622694 0.19098422428494752 -0.20408464632156814 + outer loop + vertex -0.091881841421127319 0.038058705627918243 -0.010452846065163612 + vertex -0.087866164743900299 0.036395356059074402 -0.030901700258255005 + vertex -0.095105648040771484 1.1647083527828404e-17 -0.030901700258255005 + endloop + endfacet + facet normal -0.96014288401665793 0.19098433051579036 -0.20408485433664575 + outer loop + vertex -0.091881841421127319 0.038058705627918243 -0.010452846065163612 + vertex -0.095105648040771484 1.1647083527828404e-17 -0.030901700258255005 + vertex -0.099452190101146698 1.2179380869451178e-17 -0.010452846065163612 + endloop + endfacet + facet normal -0.89882620092364052 0.17878753861432084 -0.40018305382588126 + outer loop + vertex -0.087866164743900299 0.036395356059074402 -0.030901700258255005 + vertex -0.080010317265987396 0.033141355961561203 -0.05000000074505806 + vertex -0.086602538824081421 1.0605752472130298e-17 -0.05000000074505806 + endloop + endfacet + facet normal -0.89882617438269374 0.17878756470117704 -0.4001831017831638 + outer loop + vertex -0.087866164743900299 0.036395356059074402 -0.030901700258255005 + vertex -0.086602538824081421 1.0605752472130298e-17 -0.05000000074505806 + vertex -0.095105648040771484 1.1647083527828404e-17 -0.030901700258255005 + endloop + endfacet + facet normal -0.79874079057134661 0.15887942196636898 -0.58031929035065921 + outer loop + vertex -0.080010317265987396 0.033141355961561203 -0.05000000074505806 + vertex -0.068657629191875458 0.028438922017812729 -0.06691306084394455 + vertex -0.074314482510089874 9.100899179659527e-18 -0.06691306084394455 + endloop + endfacet + facet normal -0.79874089113149138 0.15887934482690999 -0.58031917306068981 + outer loop + vertex -0.080010317265987396 0.033141355961561203 -0.05000000074505806 + vertex -0.074314482510089874 9.100899179659527e-18 -0.06691306084394455 + vertex -0.086602538824081421 1.0605752472130298e-17 -0.05000000074505806 + endloop + endfacet + facet normal -0.66328124731730775 0.13193484347015974 -0.73664861639434365 + outer loop + vertex -0.068657629191875458 0.028438922017812729 -0.06691306084394455 + vertex -0.054304275661706924 0.022493567317724228 -0.080901697278022766 + vertex -0.058778524398803711 7.1982936081007951e-18 -0.080901697278022766 + endloop + endfacet + facet normal -0.66328124732049609 0.13193484346784407 -0.7366486163918875 + outer loop + vertex -0.068657629191875458 0.028438922017812729 -0.06691306084394455 + vertex -0.058778524398803711 7.1982936081007951e-18 -0.080901697278022766 + vertex -0.074314482510089874 9.100899179659527e-18 -0.06691306084394455 + endloop + endfacet + facet normal -0.49754549605911413 0.09896800422982889 -0.86177364399826861 + outer loop + vertex -0.054304275661706924 0.022493567317724228 -0.080901697278022766 + vertex -0.037577565759420395 0.015565137378871441 -0.091354548931121826 + vertex -0.040673665702342987 4.9810872613503827e-18 -0.091354548931121826 + endloop + endfacet + facet normal -0.49754554609711604 0.098967962699230111 -0.86177361987826384 + outer loop + vertex -0.054304275661706924 0.022493567317724228 -0.080901697278022766 + vertex -0.040673665702342987 4.9810872613503827e-18 -0.091354548931121826 + vertex -0.058778524398803711 7.1982936081007951e-18 -0.080901697278022766 + endloop + endfacet + facet normal -0.30843478276930947 0.061351500668862552 -0.94926496730034626 + outer loop + vertex -0.037577565759420395 0.015565137378871441 -0.091354548931121826 + vertex -0.019208535552024841 0.0079564359039068222 -0.097814761102199554 + vertex -0.020791169255971909 2.5461839345785708e-18 -0.097814761102199554 + endloop + endfacet + facet normal -0.30843476522401231 0.061351521400747615 -0.94926497166124379 + outer loop + vertex -0.037577565759420395 0.015565137378871441 -0.091354548931121826 + vertex -0.020791169255971909 2.5461839345785708e-18 -0.097814761102199554 + vertex -0.040673665702342987 4.9810872613503827e-18 -0.091354548931121826 + endloop + endfacet + facet normal -0.30843476522401225 -0.061351521400747573 0.94926497166124379 + outer loop + vertex -0.020791169255971909 2.5461839345785708e-18 0.097814761102199554 + vertex -0.040673665702342987 4.9810872613503827e-18 0.091354548931121826 + vertex -0.037577565759420395 -0.015565137378871441 0.091354548931121826 + endloop + endfacet + facet normal -0.30843478276930947 -0.061351500668862524 0.94926496730034626 + outer loop + vertex -0.020791169255971909 2.5461839345785708e-18 0.097814761102199554 + vertex -0.037577565759420395 -0.015565137378871441 0.091354548931121826 + vertex -0.019208535552024841 -0.0079564359039068222 0.097814761102199554 + endloop + endfacet + facet normal -0.49754554609711604 -0.098967962699230055 0.86177361987826384 + outer loop + vertex -0.040673665702342987 4.9810872613503827e-18 0.091354548931121826 + vertex -0.058778524398803711 7.1982936081007951e-18 0.080901697278022766 + vertex -0.054304275661706924 -0.022493567317724228 0.080901697278022766 + endloop + endfacet + facet normal -0.49754549605911413 -0.098968004229828835 0.86177364399826861 + outer loop + vertex -0.040673665702342987 4.9810872613503827e-18 0.091354548931121826 + vertex -0.054304275661706924 -0.022493567317724228 0.080901697278022766 + vertex -0.037577565759420395 -0.015565137378871441 0.091354548931121826 + endloop + endfacet + facet normal -0.6632812473204962 -0.13193484346784398 0.7366486163918875 + outer loop + vertex -0.058778524398803711 7.1982936081007951e-18 0.080901697278022766 + vertex -0.074314482510089874 9.100899179659527e-18 0.06691306084394455 + vertex -0.068657629191875458 -0.028438922017812729 0.06691306084394455 + endloop + endfacet + facet normal -0.66328124731730786 -0.13193484347015966 0.73664861639434365 + outer loop + vertex -0.058778524398803711 7.1982936081007951e-18 0.080901697278022766 + vertex -0.068657629191875458 -0.028438922017812729 0.06691306084394455 + vertex -0.054304275661706924 -0.022493567317724228 0.080901697278022766 + endloop + endfacet + facet normal -0.79874089113149138 -0.15887934482690988 0.58031917306068992 + outer loop + vertex -0.074314482510089874 9.100899179659527e-18 0.06691306084394455 + vertex -0.086602538824081421 1.0605752472130298e-17 0.05000000074505806 + vertex -0.080010317265987396 -0.033141355961561203 0.05000000074505806 + endloop + endfacet + facet normal -0.79874079057134661 -0.15887942196636889 0.58031929035065921 + outer loop + vertex -0.074314482510089874 9.100899179659527e-18 0.06691306084394455 + vertex -0.080010317265987396 -0.033141355961561203 0.05000000074505806 + vertex -0.068657629191875458 -0.028438922017812729 0.06691306084394455 + endloop + endfacet + facet normal -0.89882617438269374 -0.17878756470117693 0.4001831017831638 + outer loop + vertex -0.086602538824081421 1.0605752472130298e-17 0.05000000074505806 + vertex -0.095105648040771484 1.1647083527828404e-17 0.030901700258255005 + vertex -0.087866164743900299 -0.036395356059074402 0.030901700258255005 + endloop + endfacet + facet normal -0.89882620092364052 -0.17878753861432073 0.40018305382588132 + outer loop + vertex -0.086602538824081421 1.0605752472130298e-17 0.05000000074505806 + vertex -0.087866164743900299 -0.036395356059074402 0.030901700258255005 + vertex -0.080010317265987396 -0.033141355961561203 0.05000000074505806 + endloop + endfacet + facet normal -0.96014288401665793 -0.19098433051579022 0.20408485433664572 + outer loop + vertex -0.095105648040771484 1.1647083527828404e-17 0.030901700258255005 + vertex -0.099452190101146698 1.2179380869451178e-17 0.010452846065163612 + vertex -0.091881841421127319 -0.038058705627918243 0.010452846065163612 + endloop + endfacet + facet normal -0.9601429493622694 -0.19098422428494735 0.20408464632156811 + outer loop + vertex -0.095105648040771484 1.1647083527828404e-17 0.030901700258255005 + vertex -0.091881841421127319 -0.038058705627918243 0.010452846065163612 + vertex -0.087866164743900299 -0.036395356059074402 0.030901700258255005 + endloop + endfacet + facet normal -0.98078527328214282 -0.19509035781625039 0 + outer loop + vertex -0.099452190101146698 1.2179380869451178e-17 0.010452846065163612 + vertex -0.099452190101146698 1.2179380869451178e-17 -0.010452846065163612 + vertex -0.091881841421127319 -0.038058705627918243 -0.010452846065163612 + endloop + endfacet + facet normal -0.98078527328214282 -0.19509035781625039 0 + outer loop + vertex -0.099452190101146698 1.2179380869451178e-17 0.010452846065163612 + vertex -0.091881841421127319 -0.038058705627918243 -0.010452846065163612 + vertex -0.091881841421127319 -0.038058705627918243 0.010452846065163612 + endloop + endfacet + facet normal -0.96014290587992079 -0.1909842156357742 -0.20408485898382989 + outer loop + vertex -0.099452190101146698 1.2179380869451178e-17 -0.010452846065163612 + vertex -0.095105648040771484 1.1647083527828404e-17 -0.030901700258255005 + vertex -0.087866164743900299 -0.036395356059074402 -0.030901700258255005 + endloop + endfacet + facet normal -0.96014292559861558 -0.19098433878695742 -0.2040846509687585 + outer loop + vertex -0.099452190101146698 1.2179380869451178e-17 -0.010452846065163612 + vertex -0.087866164743900299 -0.036395356059074402 -0.030901700258255005 + vertex -0.091881841421127319 -0.038058705627918243 -0.010452846065163612 + endloop + endfacet + facet normal -0.89882617942320464 -0.17878753433762073 -0.40018310402734331 + outer loop + vertex -0.095105648040771484 1.1647083527828404e-17 -0.030901700258255005 + vertex -0.086602538824081421 1.0605752472130298e-17 -0.05000000074505806 + vertex -0.080010317265987396 -0.033141355961561203 -0.05000000074505806 + endloop + endfacet + facet normal -0.89882619396083963 -0.17878756859551059 -0.40018305607006494 + outer loop + vertex -0.095105648040771484 1.1647083527828404e-17 -0.030901700258255005 + vertex -0.080010317265987396 -0.033141355961561203 -0.05000000074505806 + vertex -0.087866164743900299 -0.036395356059074402 -0.030901700258255005 + endloop + endfacet + facet normal -0.79874087880382028 -0.15887943951689912 -0.58031916410411333 + outer loop + vertex -0.086602538824081421 1.0605752472130298e-17 -0.05000000074505806 + vertex -0.074314482510089874 9.100899179659527e-18 -0.06691306084394455 + vertex -0.068657629191875458 -0.028438922017812729 -0.06691306084394455 + endloop + endfacet + facet normal -0.79874081541833841 -0.15887932976663655 -0.58031928139408928 + outer loop + vertex -0.086602538824081421 1.0605752472130298e-17 -0.05000000074505806 + vertex -0.068657629191875458 -0.028438922017812729 -0.06691306084394455 + vertex -0.080010317265987396 -0.033141355961561203 -0.05000000074505806 + endloop + endfacet + facet normal -0.66328124732023808 -0.1319348434707425 -0.73664861639160084 + outer loop + vertex -0.074314482510089874 9.100899179659527e-18 -0.06691306084394455 + vertex -0.058778524398803711 7.1982936081007951e-18 -0.080901697278022766 + vertex -0.054304275661706924 -0.022493567317724228 -0.080901697278022766 + endloop + endfacet + facet normal -0.6632812473181785 -0.13193484346738299 -0.73664861639405688 + outer loop + vertex -0.074314482510089874 9.100899179659527e-18 -0.06691306084394455 + vertex -0.054304275661706924 -0.022493567317724228 -0.080901697278022766 + vertex -0.068657629191875458 -0.028438922017812729 -0.06691306084394455 + endloop + endfacet + facet normal -0.49754554356199887 -0.098968013678745026 -0.86177361548731501 + outer loop + vertex -0.058778524398803711 7.1982936081007951e-18 -0.080901697278022766 + vertex -0.040673665702342987 4.9810872613503827e-18 -0.091354548931121826 + vertex -0.037577565759420395 -0.015565137378871441 -0.091354548931121826 + endloop + endfacet + facet normal -0.49754551322598689 -0.098967956160755918 -0.86177363960732289 + outer loop + vertex -0.058778524398803711 7.1982936081007951e-18 -0.080901697278022766 + vertex -0.037577565759420395 -0.015565137378871441 -0.091354548931121826 + vertex -0.054304275661706924 -0.022493567317724228 -0.080901697278022766 + endloop + endfacet + facet normal -0.30843476568236111 -0.061351497270056739 -0.94926497307189694 + outer loop + vertex -0.040673665702342987 4.9810872613503827e-18 -0.091354548931121826 + vertex -0.020791169255971909 2.5461839345785708e-18 -0.097814761102199554 + vertex -0.019208535552024841 -0.0079564359039068222 -0.097814761102199554 + endloop + endfacet + facet normal -0.3084347739583525 -0.06135152313811678 -0.94926496871099864 + outer loop + vertex -0.040673665702342987 4.9810872613503827e-18 -0.091354548931121826 + vertex -0.019208535552024841 -0.0079564359039068222 -0.097814761102199554 + vertex -0.037577565759420395 -0.015565137378871441 -0.091354548931121826 + endloop + endfacet + facet normal -0.26147837970812587 -0.17471428421919066 0.9492649660842799 + outer loop + vertex -0.019208535552024841 -0.0079564359039068222 0.097814761102199554 + vertex -0.037577565759420395 -0.015565137378871441 0.091354548931121826 + vertex -0.028760623186826706 -0.028760623186826706 0.091354548931121826 + endloop + endfacet + facet normal -0.26147840938106925 -0.17471426893077599 0.9492649607246284 + outer loop + vertex -0.019208535552024841 -0.0079564359039068222 0.097814761102199554 + vertex -0.028760623186826706 -0.028760623186826706 0.091354548931121826 + vertex -0.01470157690346241 -0.01470157690346241 0.097814761102199554 + endloop + endfacet + facet normal -0.42179874557711361 -0.28183684066621417 0.86177364398829248 + outer loop + vertex -0.037577565759420395 -0.015565137378871441 0.091354548931121826 + vertex -0.054304275661706924 -0.022493567317724228 0.080901697278022766 + vertex -0.041562695056200027 -0.041562695056200027 0.080901697278022766 + endloop + endfacet + facet normal -0.42179864590164712 -0.28183687150574754 0.86177368268901633 + outer loop + vertex -0.037577565759420395 -0.015565137378871441 0.091354548931121826 + vertex -0.041562695056200027 -0.041562695056200027 0.080901697278022766 + vertex -0.028760623186826706 -0.028760623186826706 0.091354548931121826 + endloop + endfacet + facet normal -0.56230267786378618 -0.37571865044532143 0.73664862327622749 + outer loop + vertex -0.054304275661706924 -0.022493567317724228 0.080901697278022766 + vertex -0.068657629191875458 -0.028438922017812729 0.06691306084394455 + vertex -0.052548274397850037 -0.052548274397850037 0.06691306084394455 + endloop + endfacet + facet normal -0.56230279592432497 -0.37571862212216495 0.73664854760347465 + outer loop + vertex -0.054304275661706924 -0.022493567317724228 0.080901697278022766 + vertex -0.052548274397850037 -0.052548274397850037 0.06691306084394455 + vertex -0.041562695056200027 -0.041562695056200027 0.080901697278022766 + endloop + endfacet + facet normal -0.67713972638750908 -0.45245040321610314 0.5803192428116053 + outer loop + vertex -0.068657629191875458 -0.028438922017812729 0.06691306084394455 + vertex -0.080010317265987396 -0.033141355961561203 0.05000000074505806 + vertex -0.061237242072820663 -0.061237242072820663 0.05000000074505806 + endloop + endfacet + facet normal -0.67713981980897864 -0.4524503781983546 0.58031915330896144 + outer loop + vertex -0.068657629191875458 -0.028438922017812729 0.06691306084394455 + vertex -0.061237242072820663 -0.061237242072820663 0.05000000074505806 + vertex -0.052548274397850037 -0.052548274397850037 0.06691306084394455 + endloop + endfacet + facet normal -0.76198801003014671 -0.50914415869095786 0.40018308090319588 + outer loop + vertex -0.080010317265987396 -0.033141355961561203 0.05000000074505806 + vertex -0.087866164743900299 -0.036395356059074402 0.030901700258255005 + vertex -0.067249849438667297 -0.067249849438667297 0.030901700258255005 + endloop + endfacet + facet normal -0.76198794657394719 -0.50914418433618069 0.40018316910218049 + outer loop + vertex -0.080010317265987396 -0.033141355961561203 0.05000000074505806 + vertex -0.067249849438667297 -0.067249849438667297 0.030901700258255005 + vertex -0.061237242072820663 -0.061237242072820663 0.05000000074505806 + endloop + endfacet + facet normal -0.81396988974665174 -0.54387724854201425 0.20408468120903095 + outer loop + vertex -0.087866164743900299 -0.036395356059074402 0.030901700258255005 + vertex -0.091881841421127319 -0.038058705627918243 0.010452846065163612 + vertex -0.070323318243026733 -0.070323318243026733 0.010452846065163612 + endloop + endfacet + facet normal -0.81396982149820041 -0.54387729795136042 0.20408482173673517 + outer loop + vertex -0.087866164743900299 -0.036395356059074402 0.030901700258255005 + vertex -0.070323318243026733 -0.070323318243026733 0.010452846065163612 + vertex -0.067249849438667297 -0.067249849438667297 0.030901700258255005 + endloop + endfacet + facet normal -0.83146963292153175 -0.55557020216110709 0 + outer loop + vertex -0.091881841421127319 -0.038058705627918243 0.010452846065163612 + vertex -0.091881841421127319 -0.038058705627918243 -0.010452846065163612 + vertex -0.070323318243026733 -0.070323318243026733 -0.010452846065163612 + endloop + endfacet + facet normal -0.83146963292153175 -0.55557020216110709 0 + outer loop + vertex -0.091881841421127319 -0.038058705627918243 0.010452846065163612 + vertex -0.070323318243026733 -0.070323318243026733 -0.010452846065163612 + vertex -0.070323318243026733 -0.070323318243026733 0.010452846065163612 + endloop + endfacet + facet normal -0.81396984640124925 -0.54387731459104727 -0.20408467806956454 + outer loop + vertex -0.091881841421127319 -0.038058705627918243 -0.010452846065163612 + vertex -0.087866164743900299 -0.036395356059074402 -0.030901700258255005 + vertex -0.067249849438667297 -0.067249849438667297 -0.030901700258255005 + endloop + endfacet + facet normal -0.81396986593198373 -0.54387723262956311 -0.20408481859726049 + outer loop + vertex -0.091881841421127319 -0.038058705627918243 -0.010452846065163612 + vertex -0.067249849438667297 -0.067249849438667297 -0.030901700258255005 + vertex -0.070323318243026733 -0.070323318243026733 -0.010452846065163612 + endloop + endfacet + facet normal -0.76198798009585644 -0.50914420673480953 -0.40018307677589038 + outer loop + vertex -0.087866164743900299 -0.036395356059074402 -0.030901700258255005 + vertex -0.080010317265987396 -0.033141355961561203 -0.05000000074505806 + vertex -0.061237242072820663 -0.061237242072820663 -0.05000000074505806 + endloop + endfacet + facet normal -0.76198797950532793 -0.509144138294924 -0.40018316497487411 + outer loop + vertex -0.087866164743900299 -0.036395356059074402 -0.030901700258255005 + vertex -0.061237242072820663 -0.061237242072820663 -0.05000000074505806 + vertex -0.067249849438667297 -0.067249849438667297 -0.030901700258255005 + endloop + endfacet + facet normal -0.67713976273003673 -0.45245034005942358 -0.58031924964628023 + outer loop + vertex -0.080010317265987396 -0.033141355961561203 -0.05000000074505806 + vertex -0.068657629191875458 -0.028438922017812729 -0.06691306084394455 + vertex -0.052548274397850037 -0.052548274397850037 -0.06691306084394455 + endloop + endfacet + facet normal -0.67713977536749692 -0.45245043594349216 -0.58031916014362273 + outer loop + vertex -0.080010317265987396 -0.033141355961561203 -0.05000000074505806 + vertex -0.052548274397850037 -0.052548274397850037 -0.06691306084394455 + vertex -0.061237242072820663 -0.061237242072820663 -0.05000000074505806 + endloop + endfacet + facet normal -0.56230271938745569 -0.37571857098187661 -0.7366486321095076 + outer loop + vertex -0.068657629191875458 -0.028438922017812729 -0.06691306084394455 + vertex -0.054304275661706924 -0.022493567317724228 -0.080901697278022766 + vertex -0.041562695056200027 -0.041562695056200027 -0.080901697278022766 + endloop + endfacet + facet normal -0.56230273840009004 -0.37571869089438792 -0.73664855643676341 + outer loop + vertex -0.068657629191875458 -0.028438922017812729 -0.06691306084394455 + vertex -0.041562695056200027 -0.041562695056200027 -0.080901697278022766 + vertex -0.052548274397850037 -0.052548274397850037 -0.06691306084394455 + endloop + endfacet + facet normal -0.42179871051676798 -0.28183691468019506 -0.86177363694298537 + outer loop + vertex -0.054304275661706924 -0.022493567317724228 -0.080901697278022766 + vertex -0.037577565759420395 -0.015565137378871441 -0.091354548931121826 + vertex -0.028760623186826706 -0.028760623186826706 -0.091354548931121826 + endloop + endfacet + facet normal -0.42179870086462851 -0.28183681079029427 -0.86177367564370844 + outer loop + vertex -0.054304275661706924 -0.022493567317724228 -0.080901697278022766 + vertex -0.028760623186826706 -0.028760623186826706 -0.091354548931121826 + vertex -0.041562695056200027 -0.041562695056200027 -0.080901697278022766 + endloop + endfacet + facet normal -0.26147839157789088 -0.17471425703507376 -0.94926496781800662 + outer loop + vertex -0.037577565759420395 -0.015565137378871441 -0.091354548931121826 + vertex -0.019208535552024841 -0.0079564359039068222 -0.097814761102199554 + vertex -0.01470157690346241 -0.01470157690346241 -0.097814761102199554 + endloop + endfacet + facet normal -0.26147838880858149 -0.17471429029992128 -0.94926496245835557 + outer loop + vertex -0.037577565759420395 -0.015565137378871441 -0.091354548931121826 + vertex -0.01470157690346241 -0.01470157690346241 -0.097814761102199554 + vertex -0.028760623186826706 -0.028760623186826706 -0.091354548931121826 + endloop + endfacet + facet normal -0.17471429029992128 -0.26147838880858149 0.94926496245835557 + outer loop + vertex -0.01470157690346241 -0.01470157690346241 0.097814761102199554 + vertex -0.028760623186826706 -0.028760623186826706 0.091354548931121826 + vertex -0.015565137378871441 -0.037577565759420395 0.091354548931121826 + endloop + endfacet + facet normal -0.17471425703507376 -0.26147839157789088 0.94926496781800662 + outer loop + vertex -0.01470157690346241 -0.01470157690346241 0.097814761102199554 + vertex -0.015565137378871441 -0.037577565759420395 0.091354548931121826 + vertex -0.0079564359039068222 -0.019208535552024841 0.097814761102199554 + endloop + endfacet + facet normal -0.28183681079029427 -0.42179870086462851 0.86177367564370844 + outer loop + vertex -0.028760623186826706 -0.028760623186826706 0.091354548931121826 + vertex -0.041562695056200027 -0.041562695056200027 0.080901697278022766 + vertex -0.022493567317724228 -0.054304275661706924 0.080901697278022766 + endloop + endfacet + facet normal -0.28183691468019506 -0.42179871051676798 0.86177363694298537 + outer loop + vertex -0.028760623186826706 -0.028760623186826706 0.091354548931121826 + vertex -0.022493567317724228 -0.054304275661706924 0.080901697278022766 + vertex -0.015565137378871441 -0.037577565759420395 0.091354548931121826 + endloop + endfacet + facet normal -0.37571869089438792 -0.56230273840009004 0.73664855643676341 + outer loop + vertex -0.041562695056200027 -0.041562695056200027 0.080901697278022766 + vertex -0.052548274397850037 -0.052548274397850037 0.06691306084394455 + vertex -0.028438922017812729 -0.068657629191875458 0.06691306084394455 + endloop + endfacet + facet normal -0.37571857098187661 -0.56230271938745569 0.7366486321095076 + outer loop + vertex -0.041562695056200027 -0.041562695056200027 0.080901697278022766 + vertex -0.028438922017812729 -0.068657629191875458 0.06691306084394455 + vertex -0.022493567317724228 -0.054304275661706924 0.080901697278022766 + endloop + endfacet + facet normal -0.45245043594349216 -0.67713977536749692 0.58031916014362273 + outer loop + vertex -0.052548274397850037 -0.052548274397850037 0.06691306084394455 + vertex -0.061237242072820663 -0.061237242072820663 0.05000000074505806 + vertex -0.033141355961561203 -0.080010317265987396 0.05000000074505806 + endloop + endfacet + facet normal -0.45245034005942358 -0.67713976273003673 0.58031924964628023 + outer loop + vertex -0.052548274397850037 -0.052548274397850037 0.06691306084394455 + vertex -0.033141355961561203 -0.080010317265987396 0.05000000074505806 + vertex -0.028438922017812729 -0.068657629191875458 0.06691306084394455 + endloop + endfacet + facet normal -0.509144138294924 -0.76198797950532793 0.40018316497487411 + outer loop + vertex -0.061237242072820663 -0.061237242072820663 0.05000000074505806 + vertex -0.067249849438667297 -0.067249849438667297 0.030901700258255005 + vertex -0.036395356059074402 -0.087866164743900299 0.030901700258255005 + endloop + endfacet + facet normal -0.50914420673480953 -0.76198798009585644 0.40018307677589038 + outer loop + vertex -0.061237242072820663 -0.061237242072820663 0.05000000074505806 + vertex -0.036395356059074402 -0.087866164743900299 0.030901700258255005 + vertex -0.033141355961561203 -0.080010317265987396 0.05000000074505806 + endloop + endfacet + facet normal -0.54387723262956311 -0.81396986593198373 0.20408481859726049 + outer loop + vertex -0.067249849438667297 -0.067249849438667297 0.030901700258255005 + vertex -0.070323318243026733 -0.070323318243026733 0.010452846065163612 + vertex -0.038058705627918243 -0.091881841421127319 0.010452846065163612 + endloop + endfacet + facet normal -0.54387731459104727 -0.81396984640124925 0.20408467806956454 + outer loop + vertex -0.067249849438667297 -0.067249849438667297 0.030901700258255005 + vertex -0.038058705627918243 -0.091881841421127319 0.010452846065163612 + vertex -0.036395356059074402 -0.087866164743900299 0.030901700258255005 + endloop + endfacet + facet normal -0.55557020216110709 -0.83146963292153175 0 + outer loop + vertex -0.070323318243026733 -0.070323318243026733 0.010452846065163612 + vertex -0.070323318243026733 -0.070323318243026733 -0.010452846065163612 + vertex -0.038058705627918243 -0.091881841421127319 -0.010452846065163612 + endloop + endfacet + facet normal -0.55557020216110709 -0.83146963292153175 0 + outer loop + vertex -0.070323318243026733 -0.070323318243026733 0.010452846065163612 + vertex -0.038058705627918243 -0.091881841421127319 -0.010452846065163612 + vertex -0.038058705627918243 -0.091881841421127319 0.010452846065163612 + endloop + endfacet + facet normal -0.54387729795136042 -0.81396982149820041 -0.20408482173673517 + outer loop + vertex -0.070323318243026733 -0.070323318243026733 -0.010452846065163612 + vertex -0.067249849438667297 -0.067249849438667297 -0.030901700258255005 + vertex -0.036395356059074402 -0.087866164743900299 -0.030901700258255005 + endloop + endfacet + facet normal -0.54387724854201425 -0.81396988974665174 -0.20408468120903095 + outer loop + vertex -0.070323318243026733 -0.070323318243026733 -0.010452846065163612 + vertex -0.036395356059074402 -0.087866164743900299 -0.030901700258255005 + vertex -0.038058705627918243 -0.091881841421127319 -0.010452846065163612 + endloop + endfacet + facet normal -0.50914418433618069 -0.76198794657394719 -0.40018316910218049 + outer loop + vertex -0.067249849438667297 -0.067249849438667297 -0.030901700258255005 + vertex -0.061237242072820663 -0.061237242072820663 -0.05000000074505806 + vertex -0.033141355961561203 -0.080010317265987396 -0.05000000074505806 + endloop + endfacet + facet normal -0.50914415869095786 -0.76198801003014671 -0.40018308090319588 + outer loop + vertex -0.067249849438667297 -0.067249849438667297 -0.030901700258255005 + vertex -0.033141355961561203 -0.080010317265987396 -0.05000000074505806 + vertex -0.036395356059074402 -0.087866164743900299 -0.030901700258255005 + endloop + endfacet + facet normal -0.4524503781983546 -0.67713981980897864 -0.58031915330896144 + outer loop + vertex -0.061237242072820663 -0.061237242072820663 -0.05000000074505806 + vertex -0.052548274397850037 -0.052548274397850037 -0.06691306084394455 + vertex -0.028438922017812729 -0.068657629191875458 -0.06691306084394455 + endloop + endfacet + facet normal -0.45245040321610314 -0.67713972638750908 -0.5803192428116053 + outer loop + vertex -0.061237242072820663 -0.061237242072820663 -0.05000000074505806 + vertex -0.028438922017812729 -0.068657629191875458 -0.06691306084394455 + vertex -0.033141355961561203 -0.080010317265987396 -0.05000000074505806 + endloop + endfacet + facet normal -0.37571862212216495 -0.56230279592432497 -0.73664854760347465 + outer loop + vertex -0.052548274397850037 -0.052548274397850037 -0.06691306084394455 + vertex -0.041562695056200027 -0.041562695056200027 -0.080901697278022766 + vertex -0.022493567317724228 -0.054304275661706924 -0.080901697278022766 + endloop + endfacet + facet normal -0.37571865044532143 -0.56230267786378618 -0.73664862327622749 + outer loop + vertex -0.052548274397850037 -0.052548274397850037 -0.06691306084394455 + vertex -0.022493567317724228 -0.054304275661706924 -0.080901697278022766 + vertex -0.028438922017812729 -0.068657629191875458 -0.06691306084394455 + endloop + endfacet + facet normal -0.28183687150574754 -0.42179864590164712 -0.86177368268901633 + outer loop + vertex -0.041562695056200027 -0.041562695056200027 -0.080901697278022766 + vertex -0.028760623186826706 -0.028760623186826706 -0.091354548931121826 + vertex -0.015565137378871441 -0.037577565759420395 -0.091354548931121826 + endloop + endfacet + facet normal -0.28183684066621417 -0.42179874557711361 -0.86177364398829248 + outer loop + vertex -0.041562695056200027 -0.041562695056200027 -0.080901697278022766 + vertex -0.015565137378871441 -0.037577565759420395 -0.091354548931121826 + vertex -0.022493567317724228 -0.054304275661706924 -0.080901697278022766 + endloop + endfacet + facet normal -0.17471426893077599 -0.26147840938106925 -0.9492649607246284 + outer loop + vertex -0.028760623186826706 -0.028760623186826706 -0.091354548931121826 + vertex -0.01470157690346241 -0.01470157690346241 -0.097814761102199554 + vertex -0.0079564359039068222 -0.019208535552024841 -0.097814761102199554 + endloop + endfacet + facet normal -0.17471428421919066 -0.26147837970812587 -0.9492649660842799 + outer loop + vertex -0.028760623186826706 -0.028760623186826706 -0.091354548931121826 + vertex -0.0079564359039068222 -0.019208535552024841 -0.097814761102199554 + vertex -0.015565137378871441 -0.037577565759420395 -0.091354548931121826 + endloop + endfacet + facet normal -0.061351523138116815 -0.3084347739583525 0.94926496871099864 + outer loop + vertex -0.0079564359039068222 -0.019208535552024841 0.097814761102199554 + vertex -0.015565137378871441 -0.037577565759420395 0.091354548931121826 + vertex -7.4716313056158803e-18 -0.040673665702342987 0.091354548931121826 + endloop + endfacet + facet normal -0.061351497270056773 -0.308434765682361 0.94926497307189694 + outer loop + vertex -0.0079564359039068222 -0.019208535552024841 0.097814761102199554 + vertex -7.4716313056158803e-18 -0.040673665702342987 0.091354548931121826 + vertex -3.819275695072703e-18 -0.020791169255971909 0.097814761102199554 + endloop + endfacet + facet normal -0.098967956160755974 -0.49754551322598678 0.86177363960732289 + outer loop + vertex -0.015565137378871441 -0.037577565759420395 0.091354548931121826 + vertex -0.022493567317724228 -0.054304275661706924 0.080901697278022766 + vertex -1.0797439998560886e-17 -0.058778524398803711 0.080901697278022766 + endloop + endfacet + facet normal -0.098968013678745109 -0.49754554356199887 0.86177361548731501 + outer loop + vertex -0.015565137378871441 -0.037577565759420395 0.091354548931121826 + vertex -1.0797439998560886e-17 -0.058778524398803711 0.080901697278022766 + vertex -7.4716313056158803e-18 -0.040673665702342987 0.091354548931121826 + endloop + endfacet + facet normal -0.1319348434673831 -0.6632812473181785 0.73664861639405688 + outer loop + vertex -0.022493567317724228 -0.054304275661706924 0.080901697278022766 + vertex -0.028438922017812729 -0.068657629191875458 0.06691306084394455 + vertex -1.3651348769489291e-17 -0.074314482510089874 0.06691306084394455 + endloop + endfacet + facet normal -0.13193484347074261 -0.66328124732023797 0.73664861639160084 + outer loop + vertex -0.022493567317724228 -0.054304275661706924 0.080901697278022766 + vertex -1.3651348769489291e-17 -0.074314482510089874 0.06691306084394455 + vertex -1.0797439998560886e-17 -0.058778524398803711 0.080901697278022766 + endloop + endfacet + facet normal -0.15887932976663666 -0.79874081541833841 0.58031928139408939 + outer loop + vertex -0.028438922017812729 -0.068657629191875458 0.06691306084394455 + vertex -0.033141355961561203 -0.080010317265987396 0.05000000074505806 + vertex -1.5908628708195447e-17 -0.086602538824081421 0.05000000074505806 + endloop + endfacet + facet normal -0.15887943951689926 -0.79874087880382028 0.58031916410411333 + outer loop + vertex -0.028438922017812729 -0.068657629191875458 0.06691306084394455 + vertex -1.5908628708195447e-17 -0.086602538824081421 0.05000000074505806 + vertex -1.3651348769489291e-17 -0.074314482510089874 0.06691306084394455 + endloop + endfacet + facet normal -0.17878756859551073 -0.89882619396083951 0.40018305607006494 + outer loop + vertex -0.033141355961561203 -0.080010317265987396 0.05000000074505806 + vertex -0.036395356059074402 -0.087866164743900299 0.030901700258255005 + vertex -1.7470625291742606e-17 -0.095105648040771484 0.030901700258255005 + endloop + endfacet + facet normal -0.1787875343376209 -0.89882617942320453 0.40018310402734331 + outer loop + vertex -0.033141355961561203 -0.080010317265987396 0.05000000074505806 + vertex -1.7470625291742606e-17 -0.095105648040771484 0.030901700258255005 + vertex -1.5908628708195447e-17 -0.086602538824081421 0.05000000074505806 + endloop + endfacet + facet normal -0.19098433878695761 -0.96014292559861558 0.20408465096875852 + outer loop + vertex -0.036395356059074402 -0.087866164743900299 0.030901700258255005 + vertex -0.038058705627918243 -0.091881841421127319 0.010452846065163612 + vertex -1.8269071304176767e-17 -0.099452190101146698 0.010452846065163612 + endloop + endfacet + facet normal -0.19098421563577436 -0.96014290587992068 0.20408485898382989 + outer loop + vertex -0.036395356059074402 -0.087866164743900299 0.030901700258255005 + vertex -1.8269071304176767e-17 -0.099452190101146698 0.010452846065163612 + vertex -1.7470625291742606e-17 -0.095105648040771484 0.030901700258255005 + endloop + endfacet + facet normal -0.19509035781625056 -0.98078527328214271 0 + outer loop + vertex -0.038058705627918243 -0.091881841421127319 0.010452846065163612 + vertex -0.038058705627918243 -0.091881841421127319 -0.010452846065163612 + vertex -1.8269071304176767e-17 -0.099452190101146698 -0.010452846065163612 + endloop + endfacet + facet normal -0.19509035781625056 -0.98078527328214271 0 + outer loop + vertex -0.038058705627918243 -0.091881841421127319 0.010452846065163612 + vertex -1.8269071304176767e-17 -0.099452190101146698 -0.010452846065163612 + vertex -1.8269071304176767e-17 -0.099452190101146698 0.010452846065163612 + endloop + endfacet + facet normal -0.19098422428494752 -0.9601429493622694 -0.20408464632156814 + outer loop + vertex -0.038058705627918243 -0.091881841421127319 -0.010452846065163612 + vertex -0.036395356059074402 -0.087866164743900299 -0.030901700258255005 + vertex -1.7470625291742606e-17 -0.095105648040771484 -0.030901700258255005 + endloop + endfacet + facet normal -0.19098433051579039 -0.96014288401665793 -0.20408485433664575 + outer loop + vertex -0.038058705627918243 -0.091881841421127319 -0.010452846065163612 + vertex -1.7470625291742606e-17 -0.095105648040771484 -0.030901700258255005 + vertex -1.8269071304176767e-17 -0.099452190101146698 -0.010452846065163612 + endloop + endfacet + facet normal -0.17878753861432084 -0.89882620092364052 -0.40018305382588126 + outer loop + vertex -0.036395356059074402 -0.087866164743900299 -0.030901700258255005 + vertex -0.033141355961561203 -0.080010317265987396 -0.05000000074505806 + vertex -1.5908628708195447e-17 -0.086602538824081421 -0.05000000074505806 + endloop + endfacet + facet normal -0.17878756470117704 -0.89882617438269374 -0.4001831017831638 + outer loop + vertex -0.036395356059074402 -0.087866164743900299 -0.030901700258255005 + vertex -1.5908628708195447e-17 -0.086602538824081421 -0.05000000074505806 + vertex -1.7470625291742606e-17 -0.095105648040771484 -0.030901700258255005 + endloop + endfacet + facet normal -0.15887942196636901 -0.79874079057134661 -0.58031929035065921 + outer loop + vertex -0.033141355961561203 -0.080010317265987396 -0.05000000074505806 + vertex -0.028438922017812729 -0.068657629191875458 -0.06691306084394455 + vertex -1.3651348769489291e-17 -0.074314482510089874 -0.06691306084394455 + endloop + endfacet + facet normal -0.15887934482690999 -0.79874089113149138 -0.58031917306068981 + outer loop + vertex -0.033141355961561203 -0.080010317265987396 -0.05000000074505806 + vertex -1.3651348769489291e-17 -0.074314482510089874 -0.06691306084394455 + vertex -1.5908628708195447e-17 -0.086602538824081421 -0.05000000074505806 + endloop + endfacet + facet normal -0.13193484347015974 -0.66328124731730775 -0.73664861639434354 + outer loop + vertex -0.028438922017812729 -0.068657629191875458 -0.06691306084394455 + vertex -0.022493567317724228 -0.054304275661706924 -0.080901697278022766 + vertex -1.0797439998560886e-17 -0.058778524398803711 -0.080901697278022766 + endloop + endfacet + facet normal -0.13193484346784412 -0.66328124732049609 -0.73664861639188761 + outer loop + vertex -0.028438922017812729 -0.068657629191875458 -0.06691306084394455 + vertex -1.0797439998560886e-17 -0.058778524398803711 -0.080901697278022766 + vertex -1.3651348769489291e-17 -0.074314482510089874 -0.06691306084394455 + endloop + endfacet + facet normal -0.098968004229828904 -0.49754549605911413 -0.86177364399826872 + outer loop + vertex -0.022493567317724228 -0.054304275661706924 -0.080901697278022766 + vertex -0.015565137378871441 -0.037577565759420395 -0.091354548931121826 + vertex -7.4716313056158803e-18 -0.040673665702342987 -0.091354548931121826 + endloop + endfacet + facet normal -0.098967962699230125 -0.49754554609711599 -0.86177361987826384 + outer loop + vertex -0.022493567317724228 -0.054304275661706924 -0.080901697278022766 + vertex -7.4716313056158803e-18 -0.040673665702342987 -0.091354548931121826 + vertex -1.0797439998560886e-17 -0.058778524398803711 -0.080901697278022766 + endloop + endfacet + facet normal -0.061351500668862566 -0.30843478276930947 -0.94926496730034626 + outer loop + vertex -0.015565137378871441 -0.037577565759420395 -0.091354548931121826 + vertex -0.0079564359039068222 -0.019208535552024841 -0.097814761102199554 + vertex -3.819275695072703e-18 -0.020791169255971909 -0.097814761102199554 + endloop + endfacet + facet normal -0.061351521400747615 -0.3084347652240122 -0.94926497166124379 + outer loop + vertex -0.015565137378871441 -0.037577565759420395 -0.091354548931121826 + vertex -3.819275695072703e-18 -0.020791169255971909 -0.097814761102199554 + vertex -7.4716313056158803e-18 -0.040673665702342987 -0.091354548931121826 + endloop + endfacet + facet normal 0.061351521400747566 -0.30843476522401225 0.94926497166124391 + outer loop + vertex -3.819275695072703e-18 -0.020791169255971909 0.097814761102199554 + vertex -7.4716313056158803e-18 -0.040673665702342987 0.091354548931121826 + vertex 0.015565137378871441 -0.037577565759420395 0.091354548931121826 + endloop + endfacet + facet normal 0.06135150066886251 -0.30843478276930952 0.94926496730034615 + outer loop + vertex -3.819275695072703e-18 -0.020791169255971909 0.097814761102199554 + vertex 0.015565137378871441 -0.037577565759420395 0.091354548931121826 + vertex 0.0079564359039068222 -0.019208535552024841 0.097814761102199554 + endloop + endfacet + facet normal 0.098967962699230042 -0.49754554609711604 0.86177361987826384 + outer loop + vertex -7.4716313056158803e-18 -0.040673665702342987 0.091354548931121826 + vertex -1.0797439998560886e-17 -0.058778524398803711 0.080901697278022766 + vertex 0.022493567317724228 -0.054304275661706924 0.080901697278022766 + endloop + endfacet + facet normal 0.098968004229828821 -0.49754549605911419 0.86177364399826872 + outer loop + vertex -7.4716313056158803e-18 -0.040673665702342987 0.091354548931121826 + vertex 0.022493567317724228 -0.054304275661706924 0.080901697278022766 + vertex 0.015565137378871441 -0.037577565759420395 0.091354548931121826 + endloop + endfacet + facet normal 0.13193484346784395 -0.6632812473204962 0.7366486163918875 + outer loop + vertex -1.0797439998560886e-17 -0.058778524398803711 0.080901697278022766 + vertex -1.3651348769489291e-17 -0.074314482510089874 0.06691306084394455 + vertex 0.028438922017812729 -0.068657629191875458 0.06691306084394455 + endloop + endfacet + facet normal 0.13193484347015963 -0.66328124731730786 0.73664861639434354 + outer loop + vertex -1.0797439998560886e-17 -0.058778524398803711 0.080901697278022766 + vertex 0.028438922017812729 -0.068657629191875458 0.06691306084394455 + vertex 0.022493567317724228 -0.054304275661706924 0.080901697278022766 + endloop + endfacet + facet normal 0.15887934482690988 -0.79874089113149138 0.58031917306068992 + outer loop + vertex -1.3651348769489291e-17 -0.074314482510089874 0.06691306084394455 + vertex -1.5908628708195447e-17 -0.086602538824081421 0.05000000074505806 + vertex 0.033141355961561203 -0.080010317265987396 0.05000000074505806 + endloop + endfacet + facet normal 0.15887942196636887 -0.79874079057134661 0.58031929035065932 + outer loop + vertex -1.3651348769489291e-17 -0.074314482510089874 0.06691306084394455 + vertex 0.033141355961561203 -0.080010317265987396 0.05000000074505806 + vertex 0.028438922017812729 -0.068657629191875458 0.06691306084394455 + endloop + endfacet + facet normal 0.17878756470117688 -0.89882617438269374 0.40018310178316374 + outer loop + vertex -1.5908628708195447e-17 -0.086602538824081421 0.05000000074505806 + vertex -1.7470625291742606e-17 -0.095105648040771484 0.030901700258255005 + vertex 0.036395356059074402 -0.087866164743900299 0.030901700258255005 + endloop + endfacet + facet normal 0.17878753861432073 -0.89882620092364052 0.40018305382588132 + outer loop + vertex -1.5908628708195447e-17 -0.086602538824081421 0.05000000074505806 + vertex 0.036395356059074402 -0.087866164743900299 0.030901700258255005 + vertex 0.033141355961561203 -0.080010317265987396 0.05000000074505806 + endloop + endfacet + facet normal 0.1909843305157902 -0.96014288401665793 0.20408485433664572 + outer loop + vertex -1.7470625291742606e-17 -0.095105648040771484 0.030901700258255005 + vertex -1.8269071304176767e-17 -0.099452190101146698 0.010452846065163612 + vertex 0.038058705627918243 -0.091881841421127319 0.010452846065163612 + endloop + endfacet + facet normal 0.19098422428494732 -0.9601429493622694 0.20408464632156811 + outer loop + vertex -1.7470625291742606e-17 -0.095105648040771484 0.030901700258255005 + vertex 0.038058705627918243 -0.091881841421127319 0.010452846065163612 + vertex 0.036395356059074402 -0.087866164743900299 0.030901700258255005 + endloop + endfacet + facet normal 0.19509035781625034 -0.98078527328214271 0 + outer loop + vertex -1.8269071304176767e-17 -0.099452190101146698 0.010452846065163612 + vertex -1.8269071304176767e-17 -0.099452190101146698 -0.010452846065163612 + vertex 0.038058705627918243 -0.091881841421127319 -0.010452846065163612 + endloop + endfacet + facet normal 0.19509035781625034 -0.98078527328214271 0 + outer loop + vertex -1.8269071304176767e-17 -0.099452190101146698 0.010452846065163612 + vertex 0.038058705627918243 -0.091881841421127319 -0.010452846065163612 + vertex 0.038058705627918243 -0.091881841421127319 0.010452846065163612 + endloop + endfacet + facet normal 0.19098421563577417 -0.96014290587992079 -0.20408485898382989 + outer loop + vertex -1.8269071304176767e-17 -0.099452190101146698 -0.010452846065163612 + vertex -1.7470625291742606e-17 -0.095105648040771484 -0.030901700258255005 + vertex 0.036395356059074402 -0.087866164743900299 -0.030901700258255005 + endloop + endfacet + facet normal 0.19098433878695739 -0.96014292559861558 -0.2040846509687585 + outer loop + vertex -1.8269071304176767e-17 -0.099452190101146698 -0.010452846065163612 + vertex 0.036395356059074402 -0.087866164743900299 -0.030901700258255005 + vertex 0.038058705627918243 -0.091881841421127319 -0.010452846065163612 + endloop + endfacet + facet normal 0.17878753433762073 -0.89882617942320464 -0.40018310402734331 + outer loop + vertex -1.7470625291742606e-17 -0.095105648040771484 -0.030901700258255005 + vertex -1.5908628708195447e-17 -0.086602538824081421 -0.05000000074505806 + vertex 0.033141355961561203 -0.080010317265987396 -0.05000000074505806 + endloop + endfacet + facet normal 0.17878756859551054 -0.89882619396083963 -0.40018305607006488 + outer loop + vertex -1.7470625291742606e-17 -0.095105648040771484 -0.030901700258255005 + vertex 0.033141355961561203 -0.080010317265987396 -0.05000000074505806 + vertex 0.036395356059074402 -0.087866164743900299 -0.030901700258255005 + endloop + endfacet + facet normal 0.15887943951689912 -0.79874087880382028 -0.58031916410411344 + outer loop + vertex -1.5908628708195447e-17 -0.086602538824081421 -0.05000000074505806 + vertex -1.3651348769489291e-17 -0.074314482510089874 -0.06691306084394455 + vertex 0.028438922017812729 -0.068657629191875458 -0.06691306084394455 + endloop + endfacet + facet normal 0.15887932976663652 -0.7987408154183383 -0.58031928139408939 + outer loop + vertex -1.5908628708195447e-17 -0.086602538824081421 -0.05000000074505806 + vertex 0.028438922017812729 -0.068657629191875458 -0.06691306084394455 + vertex 0.033141355961561203 -0.080010317265987396 -0.05000000074505806 + endloop + endfacet + facet normal 0.13193484347074247 -0.66328124732023797 -0.73664861639160084 + outer loop + vertex -1.3651348769489291e-17 -0.074314482510089874 -0.06691306084394455 + vertex -1.0797439998560886e-17 -0.058778524398803711 -0.080901697278022766 + vertex 0.022493567317724228 -0.054304275661706924 -0.080901697278022766 + endloop + endfacet + facet normal 0.13193484346738296 -0.6632812473181785 -0.73664861639405688 + outer loop + vertex -1.3651348769489291e-17 -0.074314482510089874 -0.06691306084394455 + vertex 0.022493567317724228 -0.054304275661706924 -0.080901697278022766 + vertex 0.028438922017812729 -0.068657629191875458 -0.06691306084394455 + endloop + endfacet + facet normal 0.098968013678745026 -0.49754554356199898 -0.86177361548731501 + outer loop + vertex -1.0797439998560886e-17 -0.058778524398803711 -0.080901697278022766 + vertex -7.4716313056158803e-18 -0.040673665702342987 -0.091354548931121826 + vertex 0.015565137378871441 -0.037577565759420395 -0.091354548931121826 + endloop + endfacet + facet normal 0.098967956160755904 -0.49754551322598684 -0.86177363960732289 + outer loop + vertex -1.0797439998560886e-17 -0.058778524398803711 -0.080901697278022766 + vertex 0.015565137378871441 -0.037577565759420395 -0.091354548931121826 + vertex 0.022493567317724228 -0.054304275661706924 -0.080901697278022766 + endloop + endfacet + facet normal 0.061351497270056718 -0.30843476568236106 -0.94926497307189694 + outer loop + vertex -7.4716313056158803e-18 -0.040673665702342987 -0.091354548931121826 + vertex -3.819275695072703e-18 -0.020791169255971909 -0.097814761102199554 + vertex 0.0079564359039068222 -0.019208535552024841 -0.097814761102199554 + endloop + endfacet + facet normal 0.06135152313811678 -0.30843477395835256 -0.94926496871099864 + outer loop + vertex -7.4716313056158803e-18 -0.040673665702342987 -0.091354548931121826 + vertex 0.0079564359039068222 -0.019208535552024841 -0.097814761102199554 + vertex 0.015565137378871441 -0.037577565759420395 -0.091354548931121826 + endloop + endfacet + facet normal 0.17471428421919066 -0.26147837970812587 0.9492649660842799 + outer loop + vertex 0.0079564359039068222 -0.019208535552024841 0.097814761102199554 + vertex 0.015565137378871441 -0.037577565759420395 0.091354548931121826 + vertex 0.028760623186826706 -0.028760623186826706 0.091354548931121826 + endloop + endfacet + facet normal 0.17471426893077599 -0.26147840938106925 0.9492649607246284 + outer loop + vertex 0.0079564359039068222 -0.019208535552024841 0.097814761102199554 + vertex 0.028760623186826706 -0.028760623186826706 0.091354548931121826 + vertex 0.01470157690346241 -0.01470157690346241 0.097814761102199554 + endloop + endfacet + facet normal 0.28183684066621417 -0.42179874557711361 0.86177364398829248 + outer loop + vertex 0.015565137378871441 -0.037577565759420395 0.091354548931121826 + vertex 0.022493567317724228 -0.054304275661706924 0.080901697278022766 + vertex 0.041562695056200027 -0.041562695056200027 0.080901697278022766 + endloop + endfacet + facet normal 0.28183687150574754 -0.42179864590164712 0.86177368268901633 + outer loop + vertex 0.015565137378871441 -0.037577565759420395 0.091354548931121826 + vertex 0.041562695056200027 -0.041562695056200027 0.080901697278022766 + vertex 0.028760623186826706 -0.028760623186826706 0.091354548931121826 + endloop + endfacet + facet normal 0.37571865044532143 -0.56230267786378618 0.73664862327622749 + outer loop + vertex 0.022493567317724228 -0.054304275661706924 0.080901697278022766 + vertex 0.028438922017812729 -0.068657629191875458 0.06691306084394455 + vertex 0.052548274397850037 -0.052548274397850037 0.06691306084394455 + endloop + endfacet + facet normal 0.37571862212216495 -0.56230279592432497 0.73664854760347465 + outer loop + vertex 0.022493567317724228 -0.054304275661706924 0.080901697278022766 + vertex 0.052548274397850037 -0.052548274397850037 0.06691306084394455 + vertex 0.041562695056200027 -0.041562695056200027 0.080901697278022766 + endloop + endfacet + facet normal 0.45245040321610314 -0.67713972638750908 0.5803192428116053 + outer loop + vertex 0.028438922017812729 -0.068657629191875458 0.06691306084394455 + vertex 0.033141355961561203 -0.080010317265987396 0.05000000074505806 + vertex 0.061237242072820663 -0.061237242072820663 0.05000000074505806 + endloop + endfacet + facet normal 0.4524503781983546 -0.67713981980897864 0.58031915330896144 + outer loop + vertex 0.028438922017812729 -0.068657629191875458 0.06691306084394455 + vertex 0.061237242072820663 -0.061237242072820663 0.05000000074505806 + vertex 0.052548274397850037 -0.052548274397850037 0.06691306084394455 + endloop + endfacet + facet normal 0.50914415869095786 -0.76198801003014671 0.40018308090319588 + outer loop + vertex 0.033141355961561203 -0.080010317265987396 0.05000000074505806 + vertex 0.036395356059074402 -0.087866164743900299 0.030901700258255005 + vertex 0.067249849438667297 -0.067249849438667297 0.030901700258255005 + endloop + endfacet + facet normal 0.50914418433618069 -0.76198794657394719 0.40018316910218049 + outer loop + vertex 0.033141355961561203 -0.080010317265987396 0.05000000074505806 + vertex 0.067249849438667297 -0.067249849438667297 0.030901700258255005 + vertex 0.061237242072820663 -0.061237242072820663 0.05000000074505806 + endloop + endfacet + facet normal 0.54387724854201425 -0.81396988974665174 0.20408468120903095 + outer loop + vertex 0.036395356059074402 -0.087866164743900299 0.030901700258255005 + vertex 0.038058705627918243 -0.091881841421127319 0.010452846065163612 + vertex 0.070323318243026733 -0.070323318243026733 0.010452846065163612 + endloop + endfacet + facet normal 0.54387729795136042 -0.81396982149820041 0.20408482173673517 + outer loop + vertex 0.036395356059074402 -0.087866164743900299 0.030901700258255005 + vertex 0.070323318243026733 -0.070323318243026733 0.010452846065163612 + vertex 0.067249849438667297 -0.067249849438667297 0.030901700258255005 + endloop + endfacet + facet normal 0.55557020216110709 -0.83146963292153175 0 + outer loop + vertex 0.038058705627918243 -0.091881841421127319 0.010452846065163612 + vertex 0.038058705627918243 -0.091881841421127319 -0.010452846065163612 + vertex 0.070323318243026733 -0.070323318243026733 -0.010452846065163612 + endloop + endfacet + facet normal 0.55557020216110709 -0.83146963292153175 0 + outer loop + vertex 0.038058705627918243 -0.091881841421127319 0.010452846065163612 + vertex 0.070323318243026733 -0.070323318243026733 -0.010452846065163612 + vertex 0.070323318243026733 -0.070323318243026733 0.010452846065163612 + endloop + endfacet + facet normal 0.54387731459104727 -0.81396984640124925 -0.20408467806956454 + outer loop + vertex 0.038058705627918243 -0.091881841421127319 -0.010452846065163612 + vertex 0.036395356059074402 -0.087866164743900299 -0.030901700258255005 + vertex 0.067249849438667297 -0.067249849438667297 -0.030901700258255005 + endloop + endfacet + facet normal 0.54387723262956311 -0.81396986593198373 -0.20408481859726049 + outer loop + vertex 0.038058705627918243 -0.091881841421127319 -0.010452846065163612 + vertex 0.067249849438667297 -0.067249849438667297 -0.030901700258255005 + vertex 0.070323318243026733 -0.070323318243026733 -0.010452846065163612 + endloop + endfacet + facet normal 0.50914420673480953 -0.76198798009585644 -0.40018307677589038 + outer loop + vertex 0.036395356059074402 -0.087866164743900299 -0.030901700258255005 + vertex 0.033141355961561203 -0.080010317265987396 -0.05000000074505806 + vertex 0.061237242072820663 -0.061237242072820663 -0.05000000074505806 + endloop + endfacet + facet normal 0.509144138294924 -0.76198797950532793 -0.40018316497487411 + outer loop + vertex 0.036395356059074402 -0.087866164743900299 -0.030901700258255005 + vertex 0.061237242072820663 -0.061237242072820663 -0.05000000074505806 + vertex 0.067249849438667297 -0.067249849438667297 -0.030901700258255005 + endloop + endfacet + facet normal 0.45245034005942358 -0.67713976273003673 -0.58031924964628023 + outer loop + vertex 0.033141355961561203 -0.080010317265987396 -0.05000000074505806 + vertex 0.028438922017812729 -0.068657629191875458 -0.06691306084394455 + vertex 0.052548274397850037 -0.052548274397850037 -0.06691306084394455 + endloop + endfacet + facet normal 0.45245043594349216 -0.67713977536749692 -0.58031916014362273 + outer loop + vertex 0.033141355961561203 -0.080010317265987396 -0.05000000074505806 + vertex 0.052548274397850037 -0.052548274397850037 -0.06691306084394455 + vertex 0.061237242072820663 -0.061237242072820663 -0.05000000074505806 + endloop + endfacet + facet normal 0.37571857098187661 -0.56230271938745569 -0.7366486321095076 + outer loop + vertex 0.028438922017812729 -0.068657629191875458 -0.06691306084394455 + vertex 0.022493567317724228 -0.054304275661706924 -0.080901697278022766 + vertex 0.041562695056200027 -0.041562695056200027 -0.080901697278022766 + endloop + endfacet + facet normal 0.37571869089438792 -0.56230273840009004 -0.73664855643676341 + outer loop + vertex 0.028438922017812729 -0.068657629191875458 -0.06691306084394455 + vertex 0.041562695056200027 -0.041562695056200027 -0.080901697278022766 + vertex 0.052548274397850037 -0.052548274397850037 -0.06691306084394455 + endloop + endfacet + facet normal 0.28183691468019506 -0.42179871051676798 -0.86177363694298537 + outer loop + vertex 0.022493567317724228 -0.054304275661706924 -0.080901697278022766 + vertex 0.015565137378871441 -0.037577565759420395 -0.091354548931121826 + vertex 0.028760623186826706 -0.028760623186826706 -0.091354548931121826 + endloop + endfacet + facet normal 0.28183681079029427 -0.42179870086462851 -0.86177367564370844 + outer loop + vertex 0.022493567317724228 -0.054304275661706924 -0.080901697278022766 + vertex 0.028760623186826706 -0.028760623186826706 -0.091354548931121826 + vertex 0.041562695056200027 -0.041562695056200027 -0.080901697278022766 + endloop + endfacet + facet normal 0.17471425703507376 -0.26147839157789088 -0.94926496781800662 + outer loop + vertex 0.015565137378871441 -0.037577565759420395 -0.091354548931121826 + vertex 0.0079564359039068222 -0.019208535552024841 -0.097814761102199554 + vertex 0.01470157690346241 -0.01470157690346241 -0.097814761102199554 + endloop + endfacet + facet normal 0.17471429029992128 -0.26147838880858149 -0.94926496245835557 + outer loop + vertex 0.015565137378871441 -0.037577565759420395 -0.091354548931121826 + vertex 0.01470157690346241 -0.01470157690346241 -0.097814761102199554 + vertex 0.028760623186826706 -0.028760623186826706 -0.091354548931121826 + endloop + endfacet + facet normal 0.26147838880858149 -0.17471429029992128 0.94926496245835557 + outer loop + vertex 0.01470157690346241 -0.01470157690346241 0.097814761102199554 + vertex 0.028760623186826706 -0.028760623186826706 0.091354548931121826 + vertex 0.037577565759420395 -0.015565137378871441 0.091354548931121826 + endloop + endfacet + facet normal 0.26147839157789088 -0.17471425703507376 0.94926496781800662 + outer loop + vertex 0.01470157690346241 -0.01470157690346241 0.097814761102199554 + vertex 0.037577565759420395 -0.015565137378871441 0.091354548931121826 + vertex 0.019208535552024841 -0.0079564359039068222 0.097814761102199554 + endloop + endfacet + facet normal 0.42179870086462851 -0.28183681079029427 0.86177367564370844 + outer loop + vertex 0.028760623186826706 -0.028760623186826706 0.091354548931121826 + vertex 0.041562695056200027 -0.041562695056200027 0.080901697278022766 + vertex 0.054304275661706924 -0.022493567317724228 0.080901697278022766 + endloop + endfacet + facet normal 0.42179871051676798 -0.28183691468019506 0.86177363694298537 + outer loop + vertex 0.028760623186826706 -0.028760623186826706 0.091354548931121826 + vertex 0.054304275661706924 -0.022493567317724228 0.080901697278022766 + vertex 0.037577565759420395 -0.015565137378871441 0.091354548931121826 + endloop + endfacet + facet normal 0.56230273840009004 -0.37571869089438792 0.73664855643676341 + outer loop + vertex 0.041562695056200027 -0.041562695056200027 0.080901697278022766 + vertex 0.052548274397850037 -0.052548274397850037 0.06691306084394455 + vertex 0.068657629191875458 -0.028438922017812729 0.06691306084394455 + endloop + endfacet + facet normal 0.56230271938745569 -0.37571857098187661 0.7366486321095076 + outer loop + vertex 0.041562695056200027 -0.041562695056200027 0.080901697278022766 + vertex 0.068657629191875458 -0.028438922017812729 0.06691306084394455 + vertex 0.054304275661706924 -0.022493567317724228 0.080901697278022766 + endloop + endfacet + facet normal 0.67713977536749692 -0.45245043594349216 0.58031916014362273 + outer loop + vertex 0.052548274397850037 -0.052548274397850037 0.06691306084394455 + vertex 0.061237242072820663 -0.061237242072820663 0.05000000074505806 + vertex 0.080010317265987396 -0.033141355961561203 0.05000000074505806 + endloop + endfacet + facet normal 0.67713976273003673 -0.45245034005942358 0.58031924964628023 + outer loop + vertex 0.052548274397850037 -0.052548274397850037 0.06691306084394455 + vertex 0.080010317265987396 -0.033141355961561203 0.05000000074505806 + vertex 0.068657629191875458 -0.028438922017812729 0.06691306084394455 + endloop + endfacet + facet normal 0.76198797950532793 -0.509144138294924 0.40018316497487411 + outer loop + vertex 0.061237242072820663 -0.061237242072820663 0.05000000074505806 + vertex 0.067249849438667297 -0.067249849438667297 0.030901700258255005 + vertex 0.087866164743900299 -0.036395356059074402 0.030901700258255005 + endloop + endfacet + facet normal 0.76198798009585644 -0.50914420673480953 0.40018307677589038 + outer loop + vertex 0.061237242072820663 -0.061237242072820663 0.05000000074505806 + vertex 0.087866164743900299 -0.036395356059074402 0.030901700258255005 + vertex 0.080010317265987396 -0.033141355961561203 0.05000000074505806 + endloop + endfacet + facet normal 0.81396986593198373 -0.54387723262956311 0.20408481859726049 + outer loop + vertex 0.067249849438667297 -0.067249849438667297 0.030901700258255005 + vertex 0.070323318243026733 -0.070323318243026733 0.010452846065163612 + vertex 0.091881841421127319 -0.038058705627918243 0.010452846065163612 + endloop + endfacet + facet normal 0.81396984640124925 -0.54387731459104727 0.20408467806956454 + outer loop + vertex 0.067249849438667297 -0.067249849438667297 0.030901700258255005 + vertex 0.091881841421127319 -0.038058705627918243 0.010452846065163612 + vertex 0.087866164743900299 -0.036395356059074402 0.030901700258255005 + endloop + endfacet + facet normal 0.83146963292153175 -0.55557020216110709 0 + outer loop + vertex 0.070323318243026733 -0.070323318243026733 0.010452846065163612 + vertex 0.070323318243026733 -0.070323318243026733 -0.010452846065163612 + vertex 0.091881841421127319 -0.038058705627918243 -0.010452846065163612 + endloop + endfacet + facet normal 0.83146963292153175 -0.55557020216110709 0 + outer loop + vertex 0.070323318243026733 -0.070323318243026733 0.010452846065163612 + vertex 0.091881841421127319 -0.038058705627918243 -0.010452846065163612 + vertex 0.091881841421127319 -0.038058705627918243 0.010452846065163612 + endloop + endfacet + facet normal 0.81396982149820041 -0.54387729795136042 -0.20408482173673517 + outer loop + vertex 0.070323318243026733 -0.070323318243026733 -0.010452846065163612 + vertex 0.067249849438667297 -0.067249849438667297 -0.030901700258255005 + vertex 0.087866164743900299 -0.036395356059074402 -0.030901700258255005 + endloop + endfacet + facet normal 0.81396988974665174 -0.54387724854201425 -0.20408468120903095 + outer loop + vertex 0.070323318243026733 -0.070323318243026733 -0.010452846065163612 + vertex 0.087866164743900299 -0.036395356059074402 -0.030901700258255005 + vertex 0.091881841421127319 -0.038058705627918243 -0.010452846065163612 + endloop + endfacet + facet normal 0.76198794657394719 -0.50914418433618069 -0.40018316910218049 + outer loop + vertex 0.067249849438667297 -0.067249849438667297 -0.030901700258255005 + vertex 0.061237242072820663 -0.061237242072820663 -0.05000000074505806 + vertex 0.080010317265987396 -0.033141355961561203 -0.05000000074505806 + endloop + endfacet + facet normal 0.76198801003014671 -0.50914415869095786 -0.40018308090319588 + outer loop + vertex 0.067249849438667297 -0.067249849438667297 -0.030901700258255005 + vertex 0.080010317265987396 -0.033141355961561203 -0.05000000074505806 + vertex 0.087866164743900299 -0.036395356059074402 -0.030901700258255005 + endloop + endfacet + facet normal 0.67713981980897864 -0.4524503781983546 -0.58031915330896144 + outer loop + vertex 0.061237242072820663 -0.061237242072820663 -0.05000000074505806 + vertex 0.052548274397850037 -0.052548274397850037 -0.06691306084394455 + vertex 0.068657629191875458 -0.028438922017812729 -0.06691306084394455 + endloop + endfacet + facet normal 0.67713972638750908 -0.45245040321610314 -0.5803192428116053 + outer loop + vertex 0.061237242072820663 -0.061237242072820663 -0.05000000074505806 + vertex 0.068657629191875458 -0.028438922017812729 -0.06691306084394455 + vertex 0.080010317265987396 -0.033141355961561203 -0.05000000074505806 + endloop + endfacet + facet normal 0.56230279592432497 -0.37571862212216495 -0.73664854760347465 + outer loop + vertex 0.052548274397850037 -0.052548274397850037 -0.06691306084394455 + vertex 0.041562695056200027 -0.041562695056200027 -0.080901697278022766 + vertex 0.054304275661706924 -0.022493567317724228 -0.080901697278022766 + endloop + endfacet + facet normal 0.56230267786378618 -0.37571865044532143 -0.73664862327622749 + outer loop + vertex 0.052548274397850037 -0.052548274397850037 -0.06691306084394455 + vertex 0.054304275661706924 -0.022493567317724228 -0.080901697278022766 + vertex 0.068657629191875458 -0.028438922017812729 -0.06691306084394455 + endloop + endfacet + facet normal 0.42179864590164712 -0.28183687150574754 -0.86177368268901633 + outer loop + vertex 0.041562695056200027 -0.041562695056200027 -0.080901697278022766 + vertex 0.028760623186826706 -0.028760623186826706 -0.091354548931121826 + vertex 0.037577565759420395 -0.015565137378871441 -0.091354548931121826 + endloop + endfacet + facet normal 0.42179874557711361 -0.28183684066621417 -0.86177364398829248 + outer loop + vertex 0.041562695056200027 -0.041562695056200027 -0.080901697278022766 + vertex 0.037577565759420395 -0.015565137378871441 -0.091354548931121826 + vertex 0.054304275661706924 -0.022493567317724228 -0.080901697278022766 + endloop + endfacet + facet normal 0.26147840938106925 -0.17471426893077599 -0.9492649607246284 + outer loop + vertex 0.028760623186826706 -0.028760623186826706 -0.091354548931121826 + vertex 0.01470157690346241 -0.01470157690346241 -0.097814761102199554 + vertex 0.019208535552024841 -0.0079564359039068222 -0.097814761102199554 + endloop + endfacet + facet normal 0.26147837970812587 -0.17471428421919066 -0.9492649660842799 + outer loop + vertex 0.028760623186826706 -0.028760623186826706 -0.091354548931121826 + vertex 0.019208535552024841 -0.0079564359039068222 -0.097814761102199554 + vertex 0.037577565759420395 -0.015565137378871441 -0.091354548931121826 + endloop + endfacet + facet normal 0.3084347739583525 -0.061351523138116801 0.94926496871099864 + outer loop + vertex 0.019208535552024841 -0.0079564359039068222 0.097814761102199554 + vertex 0.037577565759420395 -0.015565137378871441 0.091354548931121826 + vertex 0.040673665702342987 0 0.091354548931121826 + endloop + endfacet + facet normal 0.30843476568236111 -0.061351497270056753 0.94926497307189694 + outer loop + vertex 0.019208535552024841 -0.0079564359039068222 0.097814761102199554 + vertex 0.040673665702342987 0 0.091354548931121826 + vertex 0.020791169255971909 0 0.097814761102199554 + endloop + endfacet + facet normal 0.49754551322598684 -0.098967956160755946 0.86177363960732289 + outer loop + vertex 0.037577565759420395 -0.015565137378871441 0.091354548931121826 + vertex 0.054304275661706924 -0.022493567317724228 0.080901697278022766 + vertex 0.058778524398803711 0 0.080901697278022766 + endloop + endfacet + facet normal 0.49754554356199898 -0.098968013678745081 0.86177361548731513 + outer loop + vertex 0.037577565759420395 -0.015565137378871441 0.091354548931121826 + vertex 0.058778524398803711 0 0.080901697278022766 + vertex 0.040673665702342987 0 0.091354548931121826 + endloop + endfacet + facet normal 0.66328124731817861 -0.13193484346738305 0.73664861639405699 + outer loop + vertex 0.054304275661706924 -0.022493567317724228 0.080901697278022766 + vertex 0.068657629191875458 -0.028438922017812729 0.06691306084394455 + vertex 0.074314482510089874 0 0.06691306084394455 + endloop + endfacet + facet normal 0.66328124732023808 -0.13193484347074255 0.73664861639160084 + outer loop + vertex 0.054304275661706924 -0.022493567317724228 0.080901697278022766 + vertex 0.074314482510089874 0 0.06691306084394455 + vertex 0.058778524398803711 0 0.080901697278022766 + endloop + endfacet + facet normal 0.7987408154183383 -0.1588793297666366 0.58031928139408939 + outer loop + vertex 0.068657629191875458 -0.028438922017812729 0.06691306084394455 + vertex 0.080010317265987396 -0.033141355961561203 0.05000000074505806 + vertex 0.086602538824081421 0 0.05000000074505806 + endloop + endfacet + facet normal 0.79874087880382028 -0.15887943951689917 0.58031916410411333 + outer loop + vertex 0.068657629191875458 -0.028438922017812729 0.06691306084394455 + vertex 0.086602538824081421 0 0.05000000074505806 + vertex 0.074314482510089874 0 0.06691306084394455 + endloop + endfacet + facet normal 0.89882619396083974 -0.17878756859551068 0.40018305607006494 + outer loop + vertex 0.080010317265987396 -0.033141355961561203 0.05000000074505806 + vertex 0.087866164743900299 -0.036395356059074402 0.030901700258255005 + vertex 0.095105648040771484 0 0.030901700258255005 + endloop + endfacet + facet normal 0.89882617942320453 -0.17878753433762079 0.40018310402734325 + outer loop + vertex 0.080010317265987396 -0.033141355961561203 0.05000000074505806 + vertex 0.095105648040771484 0 0.030901700258255005 + vertex 0.086602538824081421 0 0.05000000074505806 + endloop + endfacet + facet normal 0.96014292559861558 -0.1909843387869575 0.2040846509687585 + outer loop + vertex 0.087866164743900299 -0.036395356059074402 0.030901700258255005 + vertex 0.091881841421127319 -0.038058705627918243 0.010452846065163612 + vertex 0.099452190101146698 0 0.010452846065163612 + endloop + endfacet + facet normal 0.96014290587992079 -0.19098421563577428 0.20408485898382991 + outer loop + vertex 0.087866164743900299 -0.036395356059074402 0.030901700258255005 + vertex 0.099452190101146698 0 0.010452846065163612 + vertex 0.095105648040771484 0 0.030901700258255005 + endloop + endfacet + facet normal 0.98078527328214282 -0.19509035781625048 0 + outer loop + vertex 0.091881841421127319 -0.038058705627918243 0.010452846065163612 + vertex 0.091881841421127319 -0.038058705627918243 -0.010452846065163612 + vertex 0.099452190101146698 0 -0.010452846065163612 + endloop + endfacet + facet normal 0.98078527328214282 -0.19509035781625048 0 + outer loop + vertex 0.091881841421127319 -0.038058705627918243 0.010452846065163612 + vertex 0.099452190101146698 0 -0.010452846065163612 + vertex 0.099452190101146698 0 0.010452846065163612 + endloop + endfacet + facet normal 0.96014294936226929 -0.19098422428494741 -0.20408464632156809 + outer loop + vertex 0.091881841421127319 -0.038058705627918243 -0.010452846065163612 + vertex 0.087866164743900299 -0.036395356059074402 -0.030901700258255005 + vertex 0.095105648040771484 0 -0.030901700258255005 + endloop + endfacet + facet normal 0.96014288401665793 -0.19098433051579031 -0.20408485433664575 + outer loop + vertex 0.091881841421127319 -0.038058705627918243 -0.010452846065163612 + vertex 0.095105648040771484 0 -0.030901700258255005 + vertex 0.099452190101146698 0 -0.010452846065163612 + endloop + endfacet + facet normal 0.89882620092364052 -0.17878753861432078 -0.40018305382588132 + outer loop + vertex 0.087866164743900299 -0.036395356059074402 -0.030901700258255005 + vertex 0.080010317265987396 -0.033141355961561203 -0.05000000074505806 + vertex 0.086602538824081421 0 -0.05000000074505806 + endloop + endfacet + facet normal 0.89882617438269374 -0.17878756470117699 -0.40018310178316374 + outer loop + vertex 0.087866164743900299 -0.036395356059074402 -0.030901700258255005 + vertex 0.086602538824081421 0 -0.05000000074505806 + vertex 0.095105648040771484 0 -0.030901700258255005 + endloop + endfacet + facet normal 0.79874079057134661 -0.15887942196636892 -0.58031929035065921 + outer loop + vertex 0.080010317265987396 -0.033141355961561203 -0.05000000074505806 + vertex 0.068657629191875458 -0.028438922017812729 -0.06691306084394455 + vertex 0.074314482510089874 0 -0.06691306084394455 + endloop + endfacet + facet normal 0.79874089113149127 -0.15887934482690994 -0.58031917306068981 + outer loop + vertex 0.080010317265987396 -0.033141355961561203 -0.05000000074505806 + vertex 0.074314482510089874 0 -0.06691306084394455 + vertex 0.086602538824081421 0 -0.05000000074505806 + endloop + endfacet + facet normal 0.66328124731730775 -0.13193484347015969 -0.73664861639434354 + outer loop + vertex 0.068657629191875458 -0.028438922017812729 -0.06691306084394455 + vertex 0.054304275661706924 -0.022493567317724228 -0.080901697278022766 + vertex 0.058778524398803711 0 -0.080901697278022766 + endloop + endfacet + facet normal 0.6632812473204962 -0.13193484346784404 -0.7366486163918875 + outer loop + vertex 0.068657629191875458 -0.028438922017812729 -0.06691306084394455 + vertex 0.058778524398803711 0 -0.080901697278022766 + vertex 0.074314482510089874 0 -0.06691306084394455 + endloop + endfacet + facet normal 0.49754549605911413 -0.098968004229828863 -0.86177364399826861 + outer loop + vertex 0.054304275661706924 -0.022493567317724228 -0.080901697278022766 + vertex 0.037577565759420395 -0.015565137378871441 -0.091354548931121826 + vertex 0.040673665702342987 0 -0.091354548931121826 + endloop + endfacet + facet normal 0.49754554609711599 -0.098967962699230083 -0.86177361987826373 + outer loop + vertex 0.054304275661706924 -0.022493567317724228 -0.080901697278022766 + vertex 0.040673665702342987 0 -0.091354548931121826 + vertex 0.058778524398803711 0 -0.080901697278022766 + endloop + endfacet + facet normal 0.30843478276930947 -0.061351500668862545 -0.94926496730034626 + outer loop + vertex 0.037577565759420395 -0.015565137378871441 -0.091354548931121826 + vertex 0.019208535552024841 -0.0079564359039068222 -0.097814761102199554 + vertex 0.020791169255971909 0 -0.097814761102199554 + endloop + endfacet + facet normal 0.30843476522401231 -0.061351521400747594 -0.94926497166124379 + outer loop + vertex 0.037577565759420395 -0.015565137378871441 -0.091354548931121826 + vertex 0.020791169255971909 0 -0.097814761102199554 + vertex 0.040673665702342987 0 -0.091354548931121826 + endloop + endfacet +endsolid diff --git a/apps/gpu/LBM/SphereScaling/SphereScaling.cpp b/apps/gpu/LBM/SphereScaling/SphereScaling.cpp index adff99031c9ec65a350d24034878650b7c08968b..1db77aabeb03b6856d922bab0eec53b6d9cf63ae 100755 --- a/apps/gpu/LBM/SphereScaling/SphereScaling.cpp +++ b/apps/gpu/LBM/SphereScaling/SphereScaling.cpp @@ -25,7 +25,6 @@ #include "GridGenerator/grid/BoundaryConditions/Side.h" #include "GridGenerator/grid/GridBuilder/LevelGridBuilder.h" #include "GridGenerator/grid/GridBuilder/MultipleGridBuilder.h" -#include "GridGenerator/grid/GridFactory.h" #include "geometries/Conglomerate/Conglomerate.h" #include "geometries/Cuboid/Cuboid.h" @@ -67,10 +66,6 @@ void runVirtualFluids(const vf::basics::ConfigurationFile& config) { vf::gpu::Communicator& communicator = vf::gpu::MpiCommunicator::getInstance(); - auto gridFactory = GridFactory::make(); - gridFactory->setTriangularMeshDiscretizationMethod(TriangularMeshDiscretizationMethod::POINT_IN_OBJECT); - auto gridBuilder = MultipleGridBuilder::makeShared(gridFactory); - SPtr<Parameter> para = std::make_shared<Parameter>(communicator.getNumberOfProcess(), communicator.getPID(), &config); BoundaryConditionFactory bcFactory = BoundaryConditionFactory(); GridScalingFactory scalingFactory = GridScalingFactory(); @@ -149,6 +144,7 @@ void runVirtualFluids(const vf::basics::ConfigurationFile& config) VF_LOG_INFO("mainKernel = {}\n", para->getMainKernel()); ////////////////////////////////////////////////////////////////////////// + auto gridBuilder = std::make_shared<MultipleGridBuilder>(); if (useGridGenerator) { real sideLengthCube; diff --git a/apps/gpu/LBM/TGV_3D/TGV_3D.cpp b/apps/gpu/LBM/TGV_3D/TGV_3D.cpp index c813bc319c085506420638dac3ef623b110dc771..3ec7ac651f69540e26a7def4cd630b110c64f639 100644 --- a/apps/gpu/LBM/TGV_3D/TGV_3D.cpp +++ b/apps/gpu/LBM/TGV_3D/TGV_3D.cpp @@ -58,7 +58,6 @@ #include "GridGenerator/grid/BoundaryConditions/Side.h" #include "GridGenerator/grid/GridBuilder/LevelGridBuilder.h" #include "GridGenerator/grid/GridBuilder/MultipleGridBuilder.h" -#include "GridGenerator/grid/GridFactory.h" #include "GridGenerator/io/GridVTKWriter/GridVTKWriter.h" #include "GridGenerator/io/STLReaderWriter/STLReader.h" @@ -134,14 +133,7 @@ void multipleLevel(const std::string& configPath) { vf::gpu::Communicator& communicator = vf::gpu::MpiCommunicator::getInstance(); - //UbLog::reportingLevel() = UbLog::logLevelFromString("DEBUG5"); - - auto gridFactory = GridFactory::make(); - //gridFactory->setTriangularMeshDiscretizationMethod(TriangularMeshDiscretizationMethod::RAYCASTING); - gridFactory->setTriangularMeshDiscretizationMethod(TriangularMeshDiscretizationMethod::POINT_IN_OBJECT); - //gridFactory->setTriangularMeshDiscretizationMethod(TriangularMeshDiscretizationMethod::POINT_UNDER_TRIANGLE); - - auto gridBuilder = MultipleGridBuilder::makeShared(gridFactory); + vf::basics::ConfigurationFile config; config.load(configPath); @@ -166,6 +158,7 @@ void multipleLevel(const std::string& configPath) //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// real dx = 2.0 * PI / real(nx); + auto gridBuilder = std::make_shared<MultipleGridBuilder>(); gridBuilder->addCoarseGrid(-PI, -PI, -PI, PI, PI, PI, dx); diff --git a/cuda-samples b/cuda-samples new file mode 160000 index 0000000000000000000000000000000000000000..5688ee001351e2235ad29beba3485a77963c9cc1 --- /dev/null +++ b/cuda-samples @@ -0,0 +1 @@ +Subproject commit 5688ee001351e2235ad29beba3485a77963c9cc1 diff --git a/pythonbindings/src/gpu/submodules/grid_generator.cpp b/pythonbindings/src/gpu/submodules/grid_generator.cpp index f4c2b733e7b099309b3fdc238ee71c22d940cced..c523e3932aa6e462a3a08db11e147bd1a19567e9 100644 --- a/pythonbindings/src/gpu/submodules/grid_generator.cpp +++ b/pythonbindings/src/gpu/submodules/grid_generator.cpp @@ -38,7 +38,6 @@ #include "gpu/GridGenerator/geometries/Cuboid/Cuboid.h" #include "gpu/GridGenerator/geometries/Sphere/Sphere.h" #include "gpu/GridGenerator/geometries/TriangularMesh/TriangularMesh.h" -#include "gpu/GridGenerator/grid/GridFactory.h" #include "gpu/GridGenerator/grid/GridBuilder/GridBuilder.h" #include "gpu/GridGenerator/grid/GridBuilder/LevelGridBuilder.h" #include "gpu/GridGenerator/grid/GridBuilder/MultipleGridBuilder.h" @@ -63,9 +62,6 @@ namespace grid_generator // .value("MZ", CommunicationDirections::MZ) // .value("PZ", CommunicationDirections::PZ); - py::class_<GridFactory, std::shared_ptr<GridFactory>>(gridGeneratorModule, "GridFactory") - .def_static("make", &GridFactory::make, py::return_value_policy::reference); - py::class_<BoundingBox, std::shared_ptr<BoundingBox>>(gridGeneratorModule, "BoundingBox") .def(py::init<real, real, real, real, real, real>(), py::arg("min_x"), py::arg("max_x"), py::arg("min_y"), py::arg("max_y"), py::arg("min_z"), py::arg("max_z")); @@ -99,7 +95,6 @@ namespace grid_generator .def("set_stress_boundary_condition", &LevelGridBuilder::setStressBoundaryCondition, py::arg("side_type"), py::arg("normal_x"), py::arg("normal_y"), py::arg("normal_z"), py::arg("sampling_offset"), py::arg("z0"), py::arg("dx")); py::class_<MultipleGridBuilder, LevelGridBuilder, std::shared_ptr<MultipleGridBuilder>>(gridGeneratorModule, "MultipleGridBuilder") - .def_static("make_shared", &MultipleGridBuilder::makeShared, py::return_value_policy::reference, py::arg("grid_factory")) .def("add_coarse_grid", &MultipleGridBuilder::addCoarseGrid, py::arg("start_x"), py::arg("start_y"), py::arg("start_z"), py::arg("end_x"), py::arg("end_y"), py::arg("end_z"), py::arg("delta")) .def("add_grid", py::overload_cast<SPtr<Object>>(&MultipleGridBuilder::addGrid), py::arg("grid_shape")) .def("add_grid", py::overload_cast<SPtr<Object>, uint>(&MultipleGridBuilder::addGrid), py::arg("grid_shape"), py::arg("level_fine")) diff --git a/regression-tests/refined_sphere_in_channel_test.sh b/regression-tests/refined_sphere_in_channel_test.sh new file mode 100644 index 0000000000000000000000000000000000000000..447b0ba9ff0c1f858e0061d98cd5fabca786de9c --- /dev/null +++ b/regression-tests/refined_sphere_in_channel_test.sh @@ -0,0 +1,20 @@ +#!/bin/bash + +source ./regression-tests/__regression_test_executer.sh + +# 1. set reference data directory (must match the folder structure in https://github.com/irmb/test_data) +REFERENCE_DATA_DIR=regression_tests/gpu/SphereInChannel_3Levels + +# 2. set cmake flags for the build of VirtualFluids +CMAKE_FLAGS="--preset=make_gpu -DCMAKE_BUILD_TYPE=Release -DCMAKE_CUDA_ARCHITECTURES=75 -DUSER_APPS=apps/gpu/LBM/SphereRefined" + +# 3. define the application to be executed +APPLICATION=./build/bin/SphereRefined + +# 4. set the path to the produced data +RESULT_DATA_DIR=output/SphereRefined + + +run_regression_test "$REFERENCE_DATA_DIR" "$CMAKE_FLAGS" "$APPLICATION" "$RESULT_DATA_DIR" + +# fieldcompare dir output/Sphere reference_data/regression_tests/gpu/SphereInChannel --include-files "*.vtu" \ No newline at end of file diff --git a/src/gpu/GridGenerator/grid/GridBuilder/MultipleGridBuilder.cpp b/src/gpu/GridGenerator/grid/GridBuilder/MultipleGridBuilder.cpp index e45ad99d8a63c332aa3723eb682b61dbc267f4db..7febc828f6d479b315d160e6c3db6e2bffaeb473 100644 --- a/src/gpu/GridGenerator/grid/GridBuilder/MultipleGridBuilder.cpp +++ b/src/gpu/GridGenerator/grid/GridBuilder/MultipleGridBuilder.cpp @@ -49,14 +49,11 @@ #include "io/GridVTKWriter/GridVTKWriter.h" #include "io/STLReaderWriter/STLWriter.h" -MultipleGridBuilder::MultipleGridBuilder(SPtr<GridFactory> gridFactory) : LevelGridBuilder(), gridFactory(gridFactory), numberOfLayersFine(12), numberOfLayersBetweenLevels(8), subDomainBox(nullptr) -{ - -} -SPtr<MultipleGridBuilder> MultipleGridBuilder::makeShared(SPtr<GridFactory> gridFactory) +MultipleGridBuilder::MultipleGridBuilder() : LevelGridBuilder(), numberOfLayersFine(12), numberOfLayersBetweenLevels(8), subDomainBox(nullptr) { - return SPtr<MultipleGridBuilder>(new MultipleGridBuilder(gridFactory)); + gridFactory = GridFactory::make(); + gridFactory->setTriangularMeshDiscretizationMethod(TriangularMeshDiscretizationMethod::POINT_IN_OBJECT); } void MultipleGridBuilder::addCoarseGrid(real startX, real startY, real startZ, real endX, real endY, real endZ, real delta) @@ -112,7 +109,6 @@ void MultipleGridBuilder::addGrid(SPtr<Object> gridShape, uint levelFine) for( uint level = this->getNumberOfLevels(); level <= levelFine; level++ ){ const auto grid = makeGrid(gridShape, level, levelFine); - if(level != levelFine){ grid->setInnerRegionFromFinerGrid(true); grid->setNumberOfLayers( this->numberOfLayersBetweenLevels ); diff --git a/src/gpu/GridGenerator/grid/GridBuilder/MultipleGridBuilder.h b/src/gpu/GridGenerator/grid/GridBuilder/MultipleGridBuilder.h index 8d94edd0f42b237ef4e45e5a4f4246d739a51b46..0c90c90a6479187ac3b18c880a94da51b1ba7cbf 100644 --- a/src/gpu/GridGenerator/grid/GridBuilder/MultipleGridBuilder.h +++ b/src/gpu/GridGenerator/grid/GridBuilder/MultipleGridBuilder.h @@ -47,11 +47,8 @@ class BoundingBox; class MultipleGridBuilder : public LevelGridBuilder { -private: - GRIDGENERATOR_EXPORT MultipleGridBuilder(SPtr<GridFactory> gridFactory); - public: - GRIDGENERATOR_EXPORT static SPtr<MultipleGridBuilder> makeShared(SPtr<GridFactory> gridFactory); + MultipleGridBuilder(); GRIDGENERATOR_EXPORT void addCoarseGrid(real startX, real startY, real startZ, real endX, real endY, real endZ, real delta); GRIDGENERATOR_EXPORT void addGrid(SPtr<Object> gridShape); diff --git a/src/gpu/GridGenerator/grid/GridImpTest.cpp b/src/gpu/GridGenerator/grid/GridImpTest.cpp index 07b2a03f429ad8baf0badd0c966dd88235644c0a..fcbf7cc92a97bcea7ca72525dc1981cd7b95dfee 100644 --- a/src/gpu/GridGenerator/grid/GridImpTest.cpp +++ b/src/gpu/GridGenerator/grid/GridImpTest.cpp @@ -172,9 +172,7 @@ protected: void SetUp() override { - auto gridFactory = GridFactory::make(); - gridFactory->setTriangularMeshDiscretizationMethod(TriangularMeshDiscretizationMethod::POINT_IN_OBJECT); - gridBuilder = MultipleGridBuilder::makeShared(gridFactory); + gridBuilder = std::make_shared<MultipleGridBuilder>(); } }; diff --git a/wifi b/wifi new file mode 160000 index 0000000000000000000000000000000000000000..cd3c7d23a734ce548119f3b54d81764292e0f8cc --- /dev/null +++ b/wifi @@ -0,0 +1 @@ +Subproject commit cd3c7d23a734ce548119f3b54d81764292e0f8cc