diff --git a/framework/doc/content/source/mfem/transfers/MFEMNodalProjector.md b/framework/doc/content/source/mfem/transfers/MFEMNodalProjector.md new file mode 100644 index 000000000000..baaceb5e794b --- /dev/null +++ b/framework/doc/content/source/mfem/transfers/MFEMNodalProjector.md @@ -0,0 +1,15 @@ +# MFEMNodalProjector + +!if! function=hasCapability('mfem') + +Auxiliary class for extracting nodal positions/interpolation points from MFEM FESpaces, and for setting DoFs on MFEM GridFunctions +via projection given a vector of values evaluated at these nodes. + +End users should not need to interact with `MFEMNodalProjector` directly. `MFEMNodalProjector` is +used by MFEM transfers that set values of an MFEMGridFunction, such as +[MultiAppMFEMShapeEvaluationTransfer](MultiAppMFEMShapeEvaluationTransfer.md). + +!if-end! + +!else +!include mfem/mfem_warning.md diff --git a/framework/doc/content/source/mfem/transfers/MultiAppMFEMShapeEvaluationTransfer.md b/framework/doc/content/source/mfem/transfers/MultiAppMFEMShapeEvaluationTransfer.md new file mode 100644 index 000000000000..4b55b98cad50 --- /dev/null +++ b/framework/doc/content/source/mfem/transfers/MultiAppMFEMShapeEvaluationTransfer.md @@ -0,0 +1,47 @@ +# MultiAppMFEMShapeEvaluationTransfer + +!if! function=hasCapability('mfem') + +Allows transfers of [MFEM variables](MFEMVariable.md) between MFEM-based applications via local +evaluation of shape functions at target nodal projection points. The variables may be defined on +different meshes and FESpaces of different orders, but must be real, share the same dimensionality, +and both belong to an `MFEMProblem` in their respective applications. + +## General Description + +`MultiAppMFEMShapeEvaluationTransfer` executes transfers in three steps: + +1. Extraction of a vector of node positions in the `ParFiniteElementSpace` of the destination + `mfem::ParGridFunction`, using [`MFEMNodalProjector`](MFEMNodalProjector.md). +2. Interpolation of the source `mfem::ParGridFunction` at this set of node locations, using + `mfem::FindPointsGSLIB` to perform the required gather/scatter operations to obtain a set of + points on the local mesh partition, and perform shape function evaluations at these points. +3. Projection of the evaluated source variable values onto the destination variable nodes, to set + the destination variable degrees of freedom, using [`MFEMNodalProjector`](MFEMNodalProjector.md). + +For transfers between identical variables defined on the same mesh, users are recommended to use +[`MultiAppMFEMCopyTransfer`](MultiAppMFEMCopyTransfer.md) for performance. + +## Features Supported + +All MFEM to MFEM transfers executed from this class should be able to support: + +- transfers of scalar and vector variables +- transfers between variables belonging to different finite element spaces and orders +- transfers between complex variables +- transfers between variables defined on submeshes and parent meshes +- arbitrary number of parallel processes for both the source and target application +- transfers between parent and child applications +- transfers between sibling applications (child to child) +- transfers from multiple variables to multiple variables + +!syntax parameters /Transfers/MultiAppMFEMShapeEvaluationTransfer + +!syntax inputs /Transfers/MultiAppMFEMShapeEvaluationTransfer + +!syntax children /Transfers/MultiAppMFEMShapeEvaluationTransfer + +!if-end! + +!else +!include mfem/mfem_warning.md diff --git a/framework/doc/content/source/mfem/transfers/MultiAppMFEMTolibMeshShapeEvaluationTransfer.md b/framework/doc/content/source/mfem/transfers/MultiAppMFEMTolibMeshShapeEvaluationTransfer.md new file mode 100644 index 000000000000..9acec4abfdac --- /dev/null +++ b/framework/doc/content/source/mfem/transfers/MultiAppMFEMTolibMeshShapeEvaluationTransfer.md @@ -0,0 +1,45 @@ +# MultiAppMFEMTolibMeshShapeEvaluationTransfer + +!if! function=hasCapability('mfem') + +Allows transfers of [MFEM variables](MFEMVariable.md) from MFEM-based applications to libMesh-based [MooseVariables](MooseVariable.md) via local +evaluation of shape functions at target nodal projection points. This class supports transfers between different meshes, from scalar MFEM GridFunctions to first and second order LAGRANGE and constant MONOMIAL libMesh variable types. + +For transfers in the opposite direction, from libMesh-based applications to MFEM-based applications, please see [MultiApplibMeshToMFEMShapeEvaluationTransfer](MultiApplibMeshToMFEMShapeEvaluationTransfer.md). + +## General Description + +`MultiAppMFEMTolibMeshShapeEvaluationTransfer` executes transfers in three steps: + +1. Extraction of a vector of node positions or element centroids of the destination libMesh solution + variable (similar to the method used in + [`MultiAppGeneralFieldTransfer`](MultiAppGeneralFieldTransfer.md)). +2. Interpolation of the source `mfem::ParGridFunction` at this set of node locations, using + `mfem::FindPointsGSLIB` to perform the required gather/scatter operations to obtain a set of + points on the local mesh partition, and perform shape function evaluations at these points. +3. Projection of the evaluated source variable values onto the destination libMesh variable nodes, + to set the destination variable degrees of freedom. + +## Features Supported + +All MFEM to libMesh transfers executed from this class should be able to support: + +- transfers to lowest order scalar LAGRANGE and MONOMIAL variables +- transfers to second order scalar LAGRANGE variables +- transfers between variables belonging to dissimilar meshes +- arbitrary number of parallel processes for both the source and target application +- transfers between parent and child applications +- transfers between sibling applications (child to child) +- transfers from multiple variables to multiple variables +- transfers between displaced meshes + +!syntax parameters /Transfers/MultiAppMFEMTolibMeshShapeEvaluationTransfer + +!syntax inputs /Transfers/MultiAppMFEMTolibMeshShapeEvaluationTransfer + +!syntax children /Transfers/MultiAppMFEMTolibMeshShapeEvaluationTransfer + +!if-end! + +!else +!include mfem/mfem_warning.md diff --git a/framework/doc/content/source/mfem/transfers/MultiApplibMeshToMFEMShapeEvaluationTransfer.md b/framework/doc/content/source/mfem/transfers/MultiApplibMeshToMFEMShapeEvaluationTransfer.md new file mode 100644 index 000000000000..b093d988835a --- /dev/null +++ b/framework/doc/content/source/mfem/transfers/MultiApplibMeshToMFEMShapeEvaluationTransfer.md @@ -0,0 +1,48 @@ +# MultiApplibMeshToMFEMShapeEvaluationTransfer + +!if! function=hasCapability('mfem') + +Allows transfers of libMesh-based [MooseVariables](MooseVariable.md) to +[MFEM variables](MFEMVariable.md), +via local evaluation of shape functions at target nodal projection points. This class supports +transfers between different meshes, from first and second order LAGRANGE and constant MONOMIAL libMesh +variable types to scalar MFEM GridFunctions defined on H1 and L2 conforming finite element spaces. + +For transfers in the opposite direction, from MFEM-based applications to libMesh-based applications, please see [MultiAppMFEMTolibMeshShapeEvaluationTransfer](MultiAppMFEMTolibMeshShapeEvaluationTransfer.md). + +## General Description + +`MultiApplibMeshToMFEMShapeEvaluationTransfer` executes transfers in three steps: + +1. Extraction of a vector of node positions in the `ParFiniteElementSpace` of the destination + `mfem::ParGridFunction`, using [`MFEMNodalProjector`](MFEMNodalProjector.md). +2. Interpolation of the source libMesh-based `MooseVariable` at this set of node locations. Required + gather/scatter operations are performed similarly to those in + [`MultiAppGeneralFieldTransfer`](MultiAppGeneralFieldTransfer.md), with interpolation analagous + to [`MultiAppGeneralFieldShapeEvaluationTransfer`](MultiAppGeneralFieldShapeEvaluationTransfer.md). +3. Projection of the evaluated source variable values onto the destination variable nodes, to set + the destination variable degrees of freedom, using [`MFEMNodalProjector`](MFEMNodalProjector.md). + +## Features Supported + +All libMesh to MFEM transfers executed from this class should be able to support: + +- transfers from lowest order scalar LAGRANGE and MONOMIAL variables +- transfers from second order scalar LAGRANGE variables +- transfers between variables belonging to dissimilar meshes +- arbitrary number of parallel processes for both the source and target application +- transfers between parent and child applications +- transfers between sibling applications (child to child) +- transfers from multiple variables to multiple variables +- transfers between displaced meshes + +!syntax parameters /Transfers/MultiApplibMeshToMFEMShapeEvaluationTransfer + +!syntax inputs /Transfers/MultiApplibMeshToMFEMShapeEvaluationTransfer + +!syntax children /Transfers/MultiApplibMeshToMFEMShapeEvaluationTransfer + +!if-end! + +!else +!include mfem/mfem_warning.md diff --git a/framework/include/mfem/functormaterials/MFEMFunctorMaterial.h b/framework/include/mfem/functormaterials/MFEMFunctorMaterial.h index 44f098a1fc07..306f17536026 100644 --- a/framework/include/mfem/functormaterials/MFEMFunctorMaterial.h +++ b/framework/include/mfem/functormaterials/MFEMFunctorMaterial.h @@ -22,7 +22,7 @@ class MFEMFunctorMaterial : public MFEMObject, { public: static InputParameters validParams(); - static libMesh::Point pointFromMFEMVector(const mfem::Vector & vec); + static libMesh::Point libMeshPointFromMFEMVector(const mfem::Vector & vec); MFEMFunctorMaterial(const InputParameters & parameters); virtual ~MFEMFunctorMaterial(); diff --git a/framework/include/mfem/outputs/MFEMDataCollection.h b/framework/include/mfem/outputs/MFEMDataCollection.h index 036e58f58668..9c3023a0a87d 100644 --- a/framework/include/mfem/outputs/MFEMDataCollection.h +++ b/framework/include/mfem/outputs/MFEMDataCollection.h @@ -25,9 +25,12 @@ class MFEMDataCollection : public FileOutput virtual mfem::DataCollection & getDataCollection() = 0; protected: + /// Register fields (GridFunctions) to be saved in the DataCollection void registerFields(); + /// Write out data void output() override; - + /// Update the DataCollection path when the internal file base path is set + void setFileBaseInternal(const std::string & file_base) override; /// Reference to the MFEMProblemData struct storing the output variables. MFEMProblemData & _problem_data; /// Mesh set of output variables are defined on. May differ from main problem mesh if SubMesh diff --git a/framework/include/mfem/transfers/MFEMMultiAppTransfer.h b/framework/include/mfem/transfers/MFEMMultiAppTransfer.h new file mode 100644 index 000000000000..fc7350983a7f --- /dev/null +++ b/framework/include/mfem/transfers/MFEMMultiAppTransfer.h @@ -0,0 +1,156 @@ +//* This file is part of the MOOSE framework +//* https://mooseframework.inl.gov +//* +//* All rights reserved, see COPYRIGHT for full restrictions +//* https://github.com/idaholab/moose/blob/master/COPYRIGHT +//* +//* Licensed under LGPL 2.1, please see LICENSE for details +//* https://www.gnu.org/licenses/lgpl-2.1.html + +#ifdef MOOSE_MFEM_ENABLED + +#pragma once + +#include "MultiAppTransfer.h" + +/** + * Virtual base class for MultiApp transfers to and/or from MFEMProblems. + */ +class MFEMMultiAppTransfer : public MultiAppTransfer +{ +public: + static InputParameters validParams(); + MFEMMultiAppTransfer(InputParameters const & params); + /// Set active source and destination problems, and execute variable transfer + void execute() override; + /// Allow sibling transfers + void checkSiblingsTransferSupported() const override {} + + /// Getter for source variable name + const VariableName & getFromVarName(int i) const { return _from_var_names.at(i); } + /// Getter for destination variable name + const VariableName & getToVarName(int i) const { return _to_var_names.at(i); } + /// Return the number of source variables + unsigned int numFromVar() const { return _from_var_names.size(); } + /// Return for the number of destination variables + unsigned int numToVar() const { return _to_var_names.size(); } + +protected: + /// Transfer all variables from active source problem to active destination problem. + virtual void transferVariables(bool is_target_local) = 0; + + /// Set current problem to fetch source variables from + void setActiveFromProblem(FEProblemBase & from_problem, const unsigned int global_app_index) + { + _active_from_problem = &from_problem; + _active_from_global_app_index = global_app_index; + } + /// Set current problem to fetch destination variables from + void setActiveToProblem(FEProblemBase & to_problem, const unsigned int global_app_index) + { + _active_to_problem = &to_problem; + _active_to_global_app_index = global_app_index; + } + /// Getter for current problem containing source variables + virtual FEProblemBase & getActiveFromProblem() { return *_active_from_problem; } + /// Getter for current problem containing destination variables + virtual FEProblemBase & getActiveToProblem() { return *_active_to_problem; } + /// Getter for current destination problem global app index. + virtual unsigned int & getActiveToProblemGlobalAppIndex() { return _active_to_global_app_index; } + /// Getter for current destination problem global app index. + virtual unsigned int & getActiveFromProblemGlobalAppIndex() + { + return _active_from_global_app_index; + } + + /// Getter for the active source transform + const MultiAppCoordTransform & getActiveFromTransform() const + { + return *_from_transforms[_active_from_global_app_index]; + } + /// Getter for the active destination transform + const MultiAppCoordTransform & getActiveToTransform() const + { + return *_to_transforms[_active_to_global_app_index]; + } + /// Map a point in the active destination app frame to the active source app frame + libMesh::Point mapPointToActiveSourceFrame(const Point & point_in_target_frame) const + { + return getActiveFromTransform().mapBack(getActiveToTransform()(point_in_target_frame)); + } + /// Get libMesh EquationSystem, which may or may not be displaced + libMesh::EquationSystems & getlibMeshEquationSystem(FEProblemBase & problem, + bool use_displaced) const; + + /// Set default value for transfers evaluated at points outside source mesh + void setMFEMOutOfMeshValue(mfem::real_t mfem_out_of_mesh_value) + { + _mfem_out_of_mesh_value = mfem_out_of_mesh_value; + } + /// Getter for default value for transfers evaluated at points outside source mesh + mfem::real_t getMFEMOutOfMeshValue() const { return _mfem_out_of_mesh_value; } + + /// Templated method to check source and destination problems are of the expected types + template + void checkValidTransferProblemTypes(); + +private: + /// Vector of source variable names to be transferred + const std::vector & _from_var_names; + /// Vector of destination variable names to transfer to + const std::vector & _to_var_names; + /// Pointer to active destination problem variable is being transferred to + FEProblemBase * _active_to_problem{nullptr}; + /// Pointer to active source problem variable is being transferred from + FEProblemBase * _active_from_problem{nullptr}; + /// Global app index for the active destination problem + unsigned int _active_to_global_app_index{0}; + /// Global app index for the active source problem + unsigned int _active_from_global_app_index{0}; + /// Default value to return for transfers from points outside the source mesh + mfem::real_t _mfem_out_of_mesh_value{std::numeric_limits::infinity()}; +}; + +template +inline void +MFEMMultiAppTransfer::checkValidTransferProblemTypes() +{ + auto bad_problem = [this]() + { + mooseError( + type(), + " is not compatible with the provided source and/or destination Problem types of the " + "provided variables."); + }; + + if (hasFromMultiApp()) + { + // Check if source sub-apps exist, and if so, if they are of the expected type + if (getFromMultiApp()->numGlobalApps()) + { + for (const auto i : make_range(getFromMultiApp()->numGlobalApps())) + if (getFromMultiApp()->hasLocalApp(i) && + !dynamic_cast(&getFromMultiApp()->appProblemBase(i))) + bad_problem(); + } + else // check source sub-app is of the expected type if it is the transfer source + if (!dynamic_cast(&getFromMultiApp()->problemBase())) + bad_problem(); + } + if (hasToMultiApp()) + { + // Check if destination sub-apps exist, and if so, if they are of the expected type + if (getToMultiApp()->numGlobalApps()) + { + for (const auto i : make_range(getToMultiApp()->numGlobalApps())) + if (getToMultiApp()->hasLocalApp(i) && + !dynamic_cast(&getToMultiApp()->appProblemBase(i))) + bad_problem(); + } + else // check destination sub-app is of the expected type if it is the transfer destination + if (!dynamic_cast(&getToMultiApp()->problemBase())) + bad_problem(); + } +} + +#endif diff --git a/framework/include/mfem/transfers/MultiAppMFEMCopyTransfer.h b/framework/include/mfem/transfers/MultiAppMFEMCopyTransfer.h index 5068d94dd3e2..9edc0f3f522a 100644 --- a/framework/include/mfem/transfers/MultiAppMFEMCopyTransfer.h +++ b/framework/include/mfem/transfers/MultiAppMFEMCopyTransfer.h @@ -11,39 +11,30 @@ #pragma once -#include - -#include "MultiAppTransfer.h" -#include "MultiApp.h" -#include "MooseAppCoordTransform.h" +#include "MFEMMultiAppTransfer.h" #include "MFEMProblem.h" -class MooseMesh; - -//* -// Copy MFEMVariables between multiapps -// The variables must be of the same type and dimension -// and the MFEMMesh must be identical in both multiapps -// */ - -class MultiAppMFEMCopyTransfer : public MultiAppTransfer +/** + * Transfer to copy MFEMVariables between multiapps. + * The variables must be of the same type and dimension + * and the MFEMMesh must be identical in both multiapps + */ +class MultiAppMFEMCopyTransfer : public MFEMMultiAppTransfer { public: static InputParameters validParams(); MultiAppMFEMCopyTransfer(InputParameters const & params); - void execute() override; - auto const & getFromVarName(int i) { return _from_var_names.at(i); }; - auto const & getToVarName(int i) { return _to_var_names.at(i); }; - auto numFromVar() { return _from_var_names.size(); } - auto numToVar() { return _to_var_names.size(); } protected: - std::vector _from_var_names; - std::vector _to_var_names; - - void transfer(MFEMProblem & to_problem, MFEMProblem & from_problem); - + /// Transfer all variables from active source problem to active destination problem. + virtual void transferVariables(bool is_target_local) override; + /// Check number of source and target child apps match for sibling transfer void checkSiblingsTransferSupported() const override; + + /// Set current MFEM problem to fetch source variables from + virtual MFEMProblem & getActiveFromProblem() override; + /// Set current MFEM problem to fetch destination variables from + virtual MFEMProblem & getActiveToProblem() override; }; #endif diff --git a/framework/include/mfem/transfers/MultiAppMFEMShapeEvaluationTransfer.h b/framework/include/mfem/transfers/MultiAppMFEMShapeEvaluationTransfer.h new file mode 100644 index 000000000000..20f2a4019bf7 --- /dev/null +++ b/framework/include/mfem/transfers/MultiAppMFEMShapeEvaluationTransfer.h @@ -0,0 +1,43 @@ +//* This file is part of the MOOSE framework +//* https://mooseframework.inl.gov +//* +//* All rights reserved, see COPYRIGHT for full restrictions +//* https://github.com/idaholab/moose/blob/master/COPYRIGHT +//* +//* Licensed under LGPL 2.1, please see LICENSE for details +//* https://www.gnu.org/licenses/lgpl-2.1.html + +#ifdef MOOSE_MFEM_ENABLED + +#pragma once + +#include "MFEMNodalProjector.h" +#include "MFEMMultiAppTransfer.h" +#include "MFEMProblem.h" + +/** + * MultiApp transfer between MFEM variables, via shape function evaluation. Supports transfers + * between dissimilar meshes and finite element spaces. + */ +class MultiAppMFEMShapeEvaluationTransfer : public MFEMMultiAppTransfer +{ +public: + static InputParameters validParams(); + MultiAppMFEMShapeEvaluationTransfer(InputParameters const & params); + +protected: + /// Object to extract node positions and perform projections on destination MFEM GridFunctions. + MFEMNodalProjector _mfem_projector; + /// Object to perform pointwise interpolation of source MFEM GridFunctions. + mfem::FindPointsGSLIB _mfem_interpolator; + + /// Transfer all variables from active source problem to active destination problem. + virtual void transferVariables(bool is_target_local) override; + + /// Set current MFEM problem to fetch source variables from + virtual MFEMProblem & getActiveFromProblem() override; + /// Set current MFEM problem to fetch destination variables from + virtual MFEMProblem & getActiveToProblem() override; +}; + +#endif diff --git a/framework/include/mfem/transfers/MultiAppMFEMTolibMeshShapeEvaluationTransfer.h b/framework/include/mfem/transfers/MultiAppMFEMTolibMeshShapeEvaluationTransfer.h new file mode 100644 index 000000000000..6560622ddb92 --- /dev/null +++ b/framework/include/mfem/transfers/MultiAppMFEMTolibMeshShapeEvaluationTransfer.h @@ -0,0 +1,48 @@ +//* This file is part of the MOOSE framework +//* https://mooseframework.inl.gov +//* +//* All rights reserved, see COPYRIGHT for full restrictions +//* https://github.com/idaholab/moose/blob/master/COPYRIGHT +//* +//* Licensed under LGPL 2.1, please see LICENSE for details +//* https://www.gnu.org/licenses/lgpl-2.1.html + +#ifdef MOOSE_MFEM_ENABLED + +#pragma once + +#include "MFEMMultiAppTransfer.h" +#include "MFEMProblem.h" + +/** + * MultiApp transfer from MFEM to libMesh variables, performed via evaluation of + * shape functions. Meshes can differ between source and destination variables. + */ +class MultiAppMFEMTolibMeshShapeEvaluationTransfer : public MFEMMultiAppTransfer +{ +public: + static InputParameters validParams(); + MultiAppMFEMTolibMeshShapeEvaluationTransfer(InputParameters const & params); + +protected: + /// Object to perform pointwise interpolation of source MFEM GridFunctions. + mfem::FindPointsGSLIB _mfem_interpolator; + + /// Extract all target points of the destination libMesh variable, needed to set DoFs in transfer. + void extractlibMeshNodePositions(libMesh::System & to_sys, + const MooseVariableFieldBase & to_var, + std::vector & outgoing_libmesh_points); + + /// Set DoFs of destination libMesh variable via projection, using a vector of interpolated values. + void projectlibMeshNodalValues(libMesh::System & to_sys, + const MooseVariableFieldBase & to_var, + mfem::Vector & interp_vals); + + /// Transfer all variables from active MFEM source problem to active libMesh destination problem. + virtual void transferVariables(bool is_target_local) override; + + /// Set current MFEM problem to fetch source variables from + virtual MFEMProblem & getActiveFromProblem() override; +}; + +#endif diff --git a/framework/include/mfem/transfers/MultiApplibMeshToMFEMShapeEvaluationTransfer.h b/framework/include/mfem/transfers/MultiApplibMeshToMFEMShapeEvaluationTransfer.h new file mode 100644 index 000000000000..d943650c67d3 --- /dev/null +++ b/framework/include/mfem/transfers/MultiApplibMeshToMFEMShapeEvaluationTransfer.h @@ -0,0 +1,44 @@ +//* This file is part of the MOOSE framework +//* https://mooseframework.inl.gov +//* +//* All rights reserved, see COPYRIGHT for full restrictions +//* https://github.com/idaholab/moose/blob/master/COPYRIGHT +//* +//* Licensed under LGPL 2.1, please see LICENSE for details +//* https://www.gnu.org/licenses/lgpl-2.1.html + +#ifdef MOOSE_MFEM_ENABLED + +#pragma once + +#include "MFEMNodalProjector.h" +#include "MFEMMultiAppTransfer.h" +#include "MFEMProblem.h" + +/** + * MultiApp transfer from libMesh to MFEM variables, performed via evaluation of + * shape functions. Meshes can differ between source and destination variables. + */ +class MultiApplibMeshToMFEMShapeEvaluationTransfer : public MFEMMultiAppTransfer +{ +public: + static InputParameters validParams(); + MultiApplibMeshToMFEMShapeEvaluationTransfer(InputParameters const & params); + +protected: + /// Object to extract node positions and perform projections on MFEM GridFunctions. + MFEMNodalProjector _mfem_projector; + + /// Transfer all variables from active source problem to active destination problem. + virtual void transferVariables(bool is_target_local) override; + + /// Interpolate libMesh variable corresponding to var_index at target points for DoF evaluation + void interpolatelibMeshVariable(std::map> & outgoing_points, + const unsigned int var_index, + mfem::Vector & interp_vals); + + /// Set current MFEM problem to fetch destination variables from + virtual MFEMProblem & getActiveToProblem() override; +}; + +#endif diff --git a/framework/include/mfem/utils/MFEMNodalProjector.h b/framework/include/mfem/utils/MFEMNodalProjector.h new file mode 100644 index 000000000000..662dd0c50803 --- /dev/null +++ b/framework/include/mfem/utils/MFEMNodalProjector.h @@ -0,0 +1,36 @@ +//* This file is part of the MOOSE framework +//* https://mooseframework.inl.gov +//* +//* All rights reserved, see COPYRIGHT for full restrictions +//* https://github.com/idaholab/moose/blob/master/COPYRIGHT +//* +//* Licensed under LGPL 2.1, please see LICENSE for details +//* https://www.gnu.org/licenses/lgpl-2.1.html + +#ifdef MOOSE_MFEM_ENABLED + +#pragma once + +#include "libmesh/ignore_warnings.h" +#include "mfem.hpp" +#include "libmesh/restore_warnings.h" + +/** + * Auxiliary class to extract locations of nodes in MFEM GridFunctions + * and project values defined at them to set DoFs + */ +class MFEMNodalProjector +{ +public: + MFEMNodalProjector() = default; + /// Extract node positions from MFEM FESpace at which projection will take place + void extractNodePositions(const mfem::ParFiniteElementSpace & fespace, + mfem::Vector & node_positions, + mfem::Ordering::Type & node_ordering); + /// Project a vector of values provided at projection points (nodes) to set GridFunction DoFs + void projectNodalValues(const mfem::Vector & nodal_vals, + const mfem::Ordering::Type & nodal_val_ordering, + mfem::ParGridFunction & gridfunction); +}; + +#endif diff --git a/framework/include/mfem/utils/MFEMVectorUtils.h b/framework/include/mfem/utils/MFEMVectorUtils.h new file mode 100644 index 000000000000..7d736761b1c0 --- /dev/null +++ b/framework/include/mfem/utils/MFEMVectorUtils.h @@ -0,0 +1,56 @@ +//* This file is part of the MOOSE framework +//* https://mooseframework.inl.gov +//* +//* All rights reserved, see COPYRIGHT for full restrictions +//* https://github.com/idaholab/moose/blob/master/COPYRIGHT +//* +//* Licensed under LGPL 2.1, please see LICENSE for details +//* https://www.gnu.org/licenses/lgpl-2.1.html + +#ifdef MOOSE_MFEM_ENABLED + +#pragma once +#include + +#include "libmesh/point.h" +#include "libmesh/ignore_warnings.h" +#include "mfem.hpp" +#include "libmesh/restore_warnings.h" + +/** + * Utilities for converting between vector(s) of libMesh Points and MFEM Vector(s). + */ +namespace Moose::MFEM +{ +/** + * Convert an index of a vector of libMesh::Points to an MFEM vector index, given an MFEM ordering + */ +inline std::size_t +MFEMIndex(const std::size_t i_dim, + const std::size_t i_point, + const std::size_t num_dims, + const std::size_t num_points, + const mfem::Ordering::Type ordering) +{ + if (ordering == mfem::Ordering::byNODES) + return mfem::Ordering::Map(num_points, num_dims, i_point, i_dim); + else + return mfem::Ordering::Map(num_points, num_dims, i_point, i_dim); +} + +/** + * Convert an MFEM position vector to a libMesh::Point. + */ +libMesh::Point libMeshPointFromMFEMVector(const mfem::Vector & vec); + +/** + * Convert a vector of libMesh::Point objects to an mfem::Vector containing all points, given an + * ordering. + */ +mfem::Vector libMeshPointsToMFEMVector(const std::vector & points, + const unsigned int num_dims, + const mfem::Ordering::Type ordering); + +} + +#endif diff --git a/framework/src/mfem/functormaterials/MFEMFunctorMaterial.C b/framework/src/mfem/functormaterials/MFEMFunctorMaterial.C index 2fa110458be4..cd8da38ac9a2 100644 --- a/framework/src/mfem/functormaterials/MFEMFunctorMaterial.C +++ b/framework/src/mfem/functormaterials/MFEMFunctorMaterial.C @@ -29,7 +29,7 @@ MFEMFunctorMaterial::validParams() } libMesh::Point -MFEMFunctorMaterial::pointFromMFEMVector(const mfem::Vector & vec) +MFEMFunctorMaterial::libMeshPointFromMFEMVector(const mfem::Vector & vec) { return libMesh::Point(vec.Elem(0), vec.Elem(1), vec.Elem(2)); } diff --git a/framework/src/mfem/outputs/MFEMDataCollection.C b/framework/src/mfem/outputs/MFEMDataCollection.C index cb8c3c9aa7ab..9a6c7d99d5e4 100644 --- a/framework/src/mfem/outputs/MFEMDataCollection.C +++ b/framework/src/mfem/outputs/MFEMDataCollection.C @@ -60,6 +60,13 @@ MFEMDataCollection::registerFields() } } +void +MFEMDataCollection::setFileBaseInternal(const std::string & file_base) +{ + FileOutput::setFileBaseInternal(file_base); + getDataCollection().SetPrefixPath(_file_base); +} + void MFEMDataCollection::output() { diff --git a/framework/src/mfem/problem/MFEMProblem.C b/framework/src/mfem/problem/MFEMProblem.C index 4aba26e4f44a..d7699bd5f8bf 100644 --- a/framework/src/mfem/problem/MFEMProblem.C +++ b/framework/src/mfem/problem/MFEMProblem.C @@ -19,6 +19,7 @@ #include "MFEMExecutedObject.h" #include "Postprocessor.h" #include "VectorPostprocessor.h" +#include "MFEMVectorUtils.h" #include "libmesh/string_to_enum.h" #include @@ -403,13 +404,6 @@ MFEMProblem::addImagComponentToBC(const std::string & kernel_name, parent_ptr->setImagBC(bc_ptr); } -libMesh::Point -pointFromMFEMVector(const mfem::Vector & vec) -{ - return libMesh::Point( - vec.Elem(0), vec.Size() > 1 ? vec.Elem(1) : 0., vec.Size() > 2 ? vec.Elem(2) : 0.); -} - int vectorFunctionDim(const std::string & type, const InputParameters & parameters) { @@ -491,7 +485,7 @@ MFEMProblem::addFunction(const std::string & type, getCoefficients().declareScalar( name, [&func](const mfem::Vector & p, mfem::real_t t) -> mfem::real_t - { return func.value(t, pointFromMFEMVector(p)); }); + { return func.value(t, Moose::MFEM::libMeshPointFromMFEMVector(p)); }); } else if (std::find(VECTOR_FUNCS.begin(), VECTOR_FUNCS.end(), type) != VECTOR_FUNCS.end()) { @@ -501,7 +495,8 @@ MFEMProblem::addFunction(const std::string & type, dim, [&func, dim](const mfem::Vector & p, mfem::real_t t, mfem::Vector & u) { - libMesh::RealVectorValue vector_value = func.vectorValue(t, pointFromMFEMVector(p)); + libMesh::RealVectorValue vector_value = + func.vectorValue(t, Moose::MFEM::libMeshPointFromMFEMVector(p)); for (int i = 0; i < dim; i++) { u[i] = vector_value(i); diff --git a/framework/src/mfem/transfers/MFEMMultiAppTransfer.C b/framework/src/mfem/transfers/MFEMMultiAppTransfer.C new file mode 100644 index 000000000000..6a5a32285064 --- /dev/null +++ b/framework/src/mfem/transfers/MFEMMultiAppTransfer.C @@ -0,0 +1,94 @@ +//* This file is part of the MOOSE framework +//* https://mooseframework.inl.gov +//* +//* All rights reserved, see COPYRIGHT for full restrictions +//* https://github.com/idaholab/moose/blob/master/COPYRIGHT +//* +//* Licensed under LGPL 2.1, please see LICENSE for details +//* https://www.gnu.org/licenses/lgpl-2.1.html + +#ifdef MOOSE_MFEM_ENABLED + +#include "MFEMMultiAppTransfer.h" +#include "MFEMProblem.h" +#include "DisplacedProblem.h" +#include "libmesh/int_range.h" + +InputParameters +MFEMMultiAppTransfer::validParams() +{ + InputParameters params = MultiAppTransfer::validParams(); + params.addRequiredParam>("variables", + "Variable(s) to store transferred values in."); + params.addRequiredParam>("source_variables", + "Variable(s) to transfer from."); + return params; +} + +MFEMMultiAppTransfer::MFEMMultiAppTransfer(InputParameters const & params) + : MultiAppTransfer(params), + _from_var_names(getParam>("source_variables")), + _to_var_names(getParam>("variables")) +{ + if (numToVar() != numFromVar()) + paramError("source_variables", "Number of variables transferred must be same in both systems."); +} + +void +MFEMMultiAppTransfer::execute() +{ + TIME_SECTION("MFEMMultiAppTransfer::execute", 5, "Perform transfer to and/or from subapps."); + switch (_current_direction) + { + case TO_MULTIAPP: + for (const auto i : make_range(getToMultiApp()->numGlobalApps())) + if (getToMultiApp()->hasLocalApp(i)) + { + setActiveToProblem(getToMultiApp()->appProblemBase(i), i); + setActiveFromProblem(getToMultiApp()->problemBase(), 0); + transferVariables(/*is_target_local=*/true); + } + break; + case FROM_MULTIAPP: + for (const auto i : make_range(getFromMultiApp()->numGlobalApps())) + if (getFromMultiApp()->hasLocalApp(i)) + { + setActiveToProblem(getFromMultiApp()->problemBase(), 0); + setActiveFromProblem(getFromMultiApp()->appProblemBase(i), i); + transferVariables(/*is_target_local=*/true); + } + break; + case BETWEEN_MULTIAPP: + bool transfers_done = false; + for (const auto from_app_id : make_range(getFromMultiApp()->numGlobalApps())) + if (getFromMultiApp()->hasLocalApp(from_app_id)) + for (const auto to_app_id : make_range(getToMultiApp()->numGlobalApps())) + { + bool is_target_local = getToMultiApp()->hasLocalApp(to_app_id); + setActiveFromProblem(getFromMultiApp()->appProblemBase(from_app_id), from_app_id); + if (is_target_local) + setActiveToProblem(getToMultiApp()->appProblemBase(to_app_id), to_app_id); + transferVariables(is_target_local); + transfers_done |= is_target_local; + } + if (!transfers_done) + mooseError("BETWEEN_MULTIAPP transfer not supported if there is not at least one subapp " + "per multiapp involved on each rank"); + break; + } +} + +EquationSystems & +MFEMMultiAppTransfer::getlibMeshEquationSystem(FEProblemBase & problem, bool use_displaced) const +{ + if (use_displaced) + { + if (!problem.getDisplacedProblem()) + mooseError("No displaced problem to provide a displaced equation system"); + return problem.getDisplacedProblem()->es(); + } + else + return problem.es(); +} + +#endif diff --git a/framework/src/mfem/transfers/MultiAppMFEMCopyTransfer.C b/framework/src/mfem/transfers/MultiAppMFEMCopyTransfer.C index 23d578f4317d..bf0977785782 100644 --- a/framework/src/mfem/transfers/MultiAppMFEMCopyTransfer.C +++ b/framework/src/mfem/transfers/MultiAppMFEMCopyTransfer.C @@ -10,63 +10,38 @@ #ifdef MOOSE_MFEM_ENABLED #include "MultiAppMFEMCopyTransfer.h" -#include "FEProblemBase.h" -#include "MultiApp.h" -#include "SystemBase.h" -#include "MFEMProblem.h" -#include "MFEMMesh.h" registerMooseObject("MooseApp", MultiAppMFEMCopyTransfer); InputParameters MultiAppMFEMCopyTransfer::validParams() { - InputParameters params = MultiAppTransfer::validParams(); - params.addRequiredParam>( - "variable", "AuxVariable to store transferred value in."); - params.addRequiredParam>("source_variable", - "Variable to transfer from"); + InputParameters params = MFEMMultiAppTransfer::validParams(); params.addClassDescription("Copies variable values from one MFEM application to another"); return params; } MultiAppMFEMCopyTransfer::MultiAppMFEMCopyTransfer(InputParameters const & params) - : MultiAppTransfer(params), - _from_var_names(getParam>("source_variable")), - _to_var_names(getParam>("variable")) + : MFEMMultiAppTransfer(params) { - auto bad_problem = [this]() - { - mooseError(type(), - " only works with MFEMProblem based applications. Check that all your inputs " - "involved in this transfer are MFEMProblem based"); - }; - if (hasToMultiApp()) - { - if (!dynamic_cast(&getToMultiApp()->problemBase())) - bad_problem(); - for (const auto i : make_range(getToMultiApp()->numGlobalApps())) - if (getToMultiApp()->hasLocalApp(i) && - !dynamic_cast(&getToMultiApp()->appProblemBase(i))) - bad_problem(); - } - if (hasFromMultiApp()) - { - if (!dynamic_cast(&getFromMultiApp()->problemBase())) - bad_problem(); - for (const auto i : make_range(getFromMultiApp()->numGlobalApps())) - if (getFromMultiApp()->hasLocalApp(i) && - !dynamic_cast(&getFromMultiApp()->appProblemBase(i))) - bad_problem(); - } + checkValidTransferProblemTypes(); } -void -MultiAppMFEMCopyTransfer::transfer(MFEMProblem & to_problem, MFEMProblem & from_problem) +MFEMProblem & +MultiAppMFEMCopyTransfer::getActiveFromProblem() +{ + return static_cast(MFEMMultiAppTransfer::getActiveFromProblem()); +} + +MFEMProblem & +MultiAppMFEMCopyTransfer::getActiveToProblem() { - if (numToVar() != numFromVar()) - mooseError("Number of variables transferred must be same in both systems."); + return static_cast(MFEMMultiAppTransfer::getActiveToProblem()); +} +void +MultiAppMFEMCopyTransfer::transferVariables(bool /*is_target_local*/) +{ auto getGF = [&](MFEMProblem & problem, const std::string & name) -> mfem::Vector & { if (problem.getProblemData().gridfunctions.Has(name)) @@ -78,8 +53,8 @@ MultiAppMFEMCopyTransfer::transfer(MFEMProblem & to_problem, MFEMProblem & from_ for (const auto v : make_range(numToVar())) { - mfem::Vector & from_var = getGF(from_problem, getFromVarName(v)); - mfem::Vector & to_var = getGF(to_problem, getToVarName(v)); + mfem::Vector & from_var = getGF(getActiveFromProblem(), getFromVarName(v)); + mfem::Vector & to_var = getGF(getActiveToProblem(), getToVarName(v)); if (from_var.Size() != to_var.Size()) mooseError("'", getFromVarName(v), "' and '", getToVarName(v), "' differ in no. of DoFs."); @@ -88,50 +63,6 @@ MultiAppMFEMCopyTransfer::transfer(MFEMProblem & to_problem, MFEMProblem & from_ } } -void -MultiAppMFEMCopyTransfer::execute() -{ - TIME_SECTION("MultiAppMFEMCopyTransfer::execute", 5, "Copies variables"); - if (_current_direction == TO_MULTIAPP) - { - for (unsigned int i = 0; i < getToMultiApp()->numGlobalApps(); i++) - { - if (getToMultiApp()->hasLocalApp(i)) - { - transfer(static_cast(getToMultiApp()->appProblemBase(i)), - static_cast(getToMultiApp()->problemBase())); - } - } - } - else if (_current_direction == FROM_MULTIAPP) - { - for (unsigned int i = 0; i < getFromMultiApp()->numGlobalApps(); i++) - { - if (getFromMultiApp()->hasLocalApp(i)) - { - transfer(static_cast(getFromMultiApp()->problemBase()), - static_cast(getFromMultiApp()->appProblemBase(i))); - } - } - } - else if (_current_direction == BETWEEN_MULTIAPP) - { - int transfers_done = 0; - for (unsigned int i = 0; i < getFromMultiApp()->numGlobalApps(); i++) - { - if (getFromMultiApp()->hasLocalApp(i) && getToMultiApp()->hasLocalApp(i)) - { - transfer(static_cast(getToMultiApp()->appProblemBase(i)), - static_cast(getFromMultiApp()->appProblemBase(i))); - ++transfers_done; - } - } - if (!transfers_done) - mooseError("BETWEEN_MULTIAPP transfer not supported if there is not at least one subapp " - "per multiapp involved on each rank"); - } -} - void MultiAppMFEMCopyTransfer::checkSiblingsTransferSupported() const { @@ -140,7 +71,7 @@ MultiAppMFEMCopyTransfer::checkSiblingsTransferSupported() const if (getFromMultiApp()->numGlobalApps() == getToMultiApp()->numGlobalApps()) { for (const auto i : make_range(getToMultiApp()->numGlobalApps())) - if (getFromMultiApp()->hasLocalApp(i) + getToMultiApp()->hasLocalApp(i) == 1) + if (getFromMultiApp()->hasLocalApp(i) != getToMultiApp()->hasLocalApp(i)) mooseError("Child application allocation on parallel processes must be the same to support " "siblings variable field copy transfer"); } diff --git a/framework/src/mfem/transfers/MultiAppMFEMShapeEvaluationTransfer.C b/framework/src/mfem/transfers/MultiAppMFEMShapeEvaluationTransfer.C new file mode 100644 index 000000000000..24e2438f47a3 --- /dev/null +++ b/framework/src/mfem/transfers/MultiAppMFEMShapeEvaluationTransfer.C @@ -0,0 +1,150 @@ +//* This file is part of the MOOSE framework +//* https://mooseframework.inl.gov +//* +//* All rights reserved, see COPYRIGHT for full restrictions +//* https://github.com/idaholab/moose/blob/master/COPYRIGHT +//* +//* Licensed under LGPL 2.1, please see LICENSE for details +//* https://www.gnu.org/licenses/lgpl-2.1.html + +#ifdef MOOSE_MFEM_ENABLED + +#include "MultiAppMFEMShapeEvaluationTransfer.h" + +registerMooseObject("MooseApp", MultiAppMFEMShapeEvaluationTransfer); + +InputParameters +MultiAppMFEMShapeEvaluationTransfer::validParams() +{ + InputParameters params = MFEMMultiAppTransfer::validParams(); + params.addClassDescription("Transfers variable values from one MFEM application to another using " + "shape function evaluations."); + return params; +} + +MultiAppMFEMShapeEvaluationTransfer::MultiAppMFEMShapeEvaluationTransfer( + InputParameters const & params) + : MFEMMultiAppTransfer(params) +{ + checkValidTransferProblemTypes(); +} + +MFEMProblem & +MultiAppMFEMShapeEvaluationTransfer::getActiveFromProblem() +{ + return static_cast(MFEMMultiAppTransfer::getActiveFromProblem()); +} + +MFEMProblem & +MultiAppMFEMShapeEvaluationTransfer::getActiveToProblem() +{ + return static_cast(MFEMMultiAppTransfer::getActiveToProblem()); +} + +void +MultiAppMFEMShapeEvaluationTransfer::transferVariables(bool is_target_local) +{ + auto transformTargetPointsToSourceFrame = + [this](mfem::Vector & point_coordinates, const unsigned int dimension) + { + mooseAssert(dimension == 2 || dimension == 3, "Target finite element space must be 2D or 3D"); + + const auto n_points = point_coordinates.Size() / dimension; + for (const auto i : make_range(n_points)) + { + Point point_in_target_frame; + for (const auto d : make_range(dimension)) + point_in_target_frame(d) = point_coordinates[i + d * n_points]; + + const auto point_in_source_frame = mapPointToActiveSourceFrame(point_in_target_frame); + for (const auto d : make_range(dimension)) + point_coordinates[i + d * n_points] = point_in_source_frame(d); + } + }; + + // Get GridFunction from problem by name. For complex variables, return the real component. + auto getGridFunction = [&](MFEMProblem & problem, + const std::string & name, + bool & is_complex) -> mfem::ParGridFunction & + { + if (problem.getProblemData().gridfunctions.Has(name)) + { + is_complex = false; + return *problem.getGridFunction(name); + } + if (problem.getProblemData().cmplx_gridfunctions.Has(name)) + { + is_complex = true; + return problem.getComplexGridFunction(name)->real(); + } + mooseError("No real or complex variable named '", name, "' found."); + }; + + for (const auto v : make_range(numToVar())) + { + bool is_from_complex{false}; + mfem::ParGridFunction & from_gf = + getGridFunction(getActiveFromProblem(), getFromVarName(v), is_from_complex); + mfem::ParFiniteElementSpace & from_pfespace = *from_gf.ParFESpace(); + from_pfespace.GetParMesh()->EnsureNodes(); + + bool is_to_complex{false}; + // Vector to store position coords of nodes/interpolation pts + mfem::Vector vxyz; + // Ordering of node coordinates x,y,z + mfem::Ordering::Type point_ordering = mfem::Ordering::Type::byNODES; + // Ordering of (vector) GridFunction data + mfem::Ordering::Type to_gf_ordering = mfem::Ordering::Type::byVDIM; + // Vector to store GridFunction values at interp. pts + mfem::Vector interp_vals; + + // Get points from target GridFunction on local rank + if (is_target_local) + { + mfem::ParGridFunction & to_gf = + getGridFunction(getActiveToProblem(), getToVarName(v), is_to_complex); + mfem::ParFiniteElementSpace & to_pfespace = *to_gf.ParFESpace(); + to_pfespace.GetParMesh()->EnsureNodes(); + // Generate list of points where the grid function will be evaluated + _mfem_projector.extractNodePositions(to_pfespace, vxyz, point_ordering); + // Evaluate source grid function at target points + const int dim = to_pfespace.GetParMesh()->Dimension(); + transformTargetPointsToSourceFrame(vxyz, dim); + // Update ordering for interpolation + to_gf_ordering = to_pfespace.GetOrdering(); + } + + // Evaluate source grid function at target points. + // Interpolation must be performed over all source ranks. + _mfem_interpolator.Setup(*from_gf.ParFESpace()->GetParMesh()); + _mfem_interpolator.SetDefaultInterpolationValue(getMFEMOutOfMeshValue()); + _mfem_interpolator.Interpolate(vxyz, from_gf, interp_vals, point_ordering, to_gf_ordering); + + // Project interpolated field onto target GridFunction data on the local rank + if (is_target_local) + { + mfem::ParGridFunction & to_gf = + getGridFunction(getActiveToProblem(), getToVarName(v), is_to_complex); + mfem::ParFiniteElementSpace & to_pfespace = *to_gf.ParFESpace(); + _mfem_projector.projectNodalValues(interp_vals, to_gf_ordering, to_gf); + if (is_to_complex) + { + // Get remaining imaginary component of destination GridFunction + mfem::ParGridFunction & to_gf_im = + getActiveToProblem().getComplexGridFunction(getToVarName(v))->imag(); + if (is_from_complex) + { + mfem::ParGridFunction & from_gf_im = + getActiveFromProblem().getComplexGridFunction(getFromVarName(v))->imag(); + _mfem_interpolator.Interpolate( + vxyz, from_gf_im, interp_vals, point_ordering, to_pfespace.GetOrdering()); + _mfem_projector.projectNodalValues(interp_vals, to_pfespace.GetOrdering(), to_gf_im); + } + else // Transfer from real variable to complex variable, so imag component zero + to_gf_im = 0.0; + } + } + } +} + +#endif diff --git a/framework/src/mfem/transfers/MultiAppMFEMTolibMeshShapeEvaluationTransfer.C b/framework/src/mfem/transfers/MultiAppMFEMTolibMeshShapeEvaluationTransfer.C new file mode 100644 index 000000000000..e561ca8ad2c9 --- /dev/null +++ b/framework/src/mfem/transfers/MultiAppMFEMTolibMeshShapeEvaluationTransfer.C @@ -0,0 +1,196 @@ +//* This file is part of the MOOSE framework +//* https://mooseframework.inl.gov +//* +//* All rights reserved, see COPYRIGHT for full restrictions +//* https://github.com/idaholab/moose/blob/master/COPYRIGHT +//* +//* Licensed under LGPL 2.1, please see LICENSE for details +//* https://www.gnu.org/licenses/lgpl-2.1.html + +#ifdef MOOSE_MFEM_ENABLED + +#include "MultiAppMFEMTolibMeshShapeEvaluationTransfer.h" +#include "MFEMVectorUtils.h" +#include "libmesh/mesh_function.h" + +registerMooseObject("MooseApp", MultiAppMFEMTolibMeshShapeEvaluationTransfer); + +InputParameters +MultiAppMFEMTolibMeshShapeEvaluationTransfer::validParams() +{ + InputParameters params = MFEMMultiAppTransfer::validParams(); + params.addClassDescription("Transfers variable values from an MFEM based application to a " + "libMesh application, using shape function evaluations."); + return params; +} + +MultiAppMFEMTolibMeshShapeEvaluationTransfer::MultiAppMFEMTolibMeshShapeEvaluationTransfer( + InputParameters const & params) + : MFEMMultiAppTransfer(params), _mfem_interpolator(this->comm().get()) +{ + checkValidTransferProblemTypes(); +} + +MFEMProblem & +MultiAppMFEMTolibMeshShapeEvaluationTransfer::getActiveFromProblem() +{ + return static_cast(MFEMMultiAppTransfer::getActiveFromProblem()); +} + +/// Extract locations from libMesh-based MooseVariable at which projection will take place +void +MultiAppMFEMTolibMeshShapeEvaluationTransfer::extractlibMeshNodePositions( + libMesh::System & to_sys, + const MooseVariableFieldBase & to_var, + std::vector & outgoing_libmesh_points) +{ + // libMesh mesh + const MeshBase & to_mesh = getActiveToProblem().mesh(_displaced_target_mesh).getMesh(); + auto var_num = to_var.number(); + auto sys_num = to_sys.number(); + auto & fe_type = to_var.feType(); + bool is_nodal = to_var.isNodal(); + + // Populate set of points + if (fe_type.order > CONSTANT && !is_nodal) + mooseError("Transfers of non-nodal FEs from MFEM to libMesh with order higher than " + "CONSTANT are not supported."); + else if (is_nodal) + { + // Consider nodes the variable has dofs at. + for (const auto & node : to_mesh.local_node_ptr_range()) + if (node->n_dofs(sys_num, var_num)) + outgoing_libmesh_points.push_back(*node); + } + else // Elemental, constant monomial + { + // Consider elements the variable has dofs at. + for (const auto & elem : as_range(to_mesh.local_elements_begin(), to_mesh.local_elements_end())) + if (elem->n_dofs(sys_num, var_num)) + outgoing_libmesh_points.push_back(elem->vertex_average()); + } +} + +/// Project interpolated values to set DoFs of libMesh-based MooseVariable +void +MultiAppMFEMTolibMeshShapeEvaluationTransfer::projectlibMeshNodalValues( + libMesh::System & to_sys, const MooseVariableFieldBase & to_var, mfem::Vector & interp_vals) +{ + // libMesh mesh + const MeshBase & to_mesh = getActiveToProblem().mesh(_displaced_target_mesh).getMesh(); + auto var_num = to_var.number(); + auto sys_num = to_sys.number(); + auto & fe_type = to_var.feType(); + bool is_nodal = to_var.isNodal(); + + unsigned int mfem_point_index = 0; + if (fe_type.order > CONSTANT && !is_nodal) + mooseError("Transfers of non-nodal FEs from MFEM to libMesh with order higher than " + "CONSTANT are not supported."); + else if (is_nodal) + { + // Consider nodes the variable has dofs at. + for (const auto & node : to_mesh.local_node_ptr_range()) + if (node->n_dofs(sys_num, var_num)) + { + const auto dof_object_id = node->id(); + const DofObject * dof_object = to_mesh.node_ptr(dof_object_id); + const auto dof = dof_object->dof_number(sys_num, var_num, 0); + const auto val = interp_vals[mfem_point_index]; + to_sys.solution->set(dof, val); + mfem_point_index++; + } + } + else // Elemental, constant monomial + { + // Consider elements the variable has dofs at. + for (const auto & elem : as_range(to_mesh.local_elements_begin(), to_mesh.local_elements_end())) + if (elem->n_dofs(sys_num, var_num)) + { + const auto dof_object_id = elem->id(); + const DofObject * dof_object = to_mesh.elem_ptr(dof_object_id); + const auto dof = dof_object->dof_number(sys_num, var_num, 0); + const auto val = interp_vals[mfem_point_index]; + to_sys.solution->set(dof, val); + mfem_point_index++; + } + } + to_sys.solution->close(); + // Sync local solutions + to_sys.update(); +} + +void +MultiAppMFEMTolibMeshShapeEvaluationTransfer::transferVariables(bool is_target_local) +{ + // Send from MFEM problem to libMesh problem + for (const auto var_index : make_range(numToVar())) + { + // Declare source variable alias and construct vectors to store interpolation points and vals + auto & from_var = *getActiveFromProblem().getGridFunction(getFromVarName(var_index)); + if (from_var.VectorDim() > 1) + mooseError("MultiAppMFEMTolibMeshShapeEvaluationTransfer does not support transfers of " + "vector variables from MFEM to libMesh-based subapps"); + from_var.ParFESpace()->GetParMesh()->EnsureNodes(); + // Ordering of interpolated MFEM output, chosen to match libMesh ordering + const mfem::Ordering::Type ordering = mfem::Ordering::byVDIM; + mfem::Vector interp_vals; + mfem::Vector outgoing_mfem_points; + + // If target libMesh app is on the current rank, update the set of interpolation + // points with the libMesh variable's set + if (is_target_local) + { + // Declare aliases for convenience + FEProblemBase & to_problem = getActiveToProblem(); + const MooseVariableFieldBase & to_var( + to_problem.getVariable(0, + getToVarName(var_index), + Moose::VarKindType::VAR_ANY, + Moose::VarFieldType::VAR_FIELD_ANY)); + const auto & to_var_name = getToVarName(var_index); + auto & es = getlibMeshEquationSystem(to_problem, _displaced_target_mesh); + System & to_sys = *find_sys(es, to_var_name); + // Extract set of target points in libMesh mesh to perform interpolation of MFEM variable at + std::vector outgoing_libmesh_points; + extractlibMeshNodePositions(to_sys, to_var, outgoing_libmesh_points); + const MeshBase & to_mesh = to_problem.mesh(_displaced_target_mesh).getMesh(); + // Perform interpolation of MFEM variable + for (auto & point : outgoing_libmesh_points) + point = mapPointToActiveSourceFrame(point); + outgoing_mfem_points = Moose::MFEM::libMeshPointsToMFEMVector( + outgoing_libmesh_points, to_mesh.mesh_dimension(), ordering); + } + + // MFEM interpolation using FindPointsGSLib::Interpolate must be over all ranks + // of the MFEM variable's MPI communicator + _mfem_interpolator.SetDefaultInterpolationValue(getMFEMOutOfMeshValue()); + _mfem_interpolator.Interpolate(*from_var.ParFESpace()->GetParMesh(), + outgoing_mfem_points, + from_var, + interp_vals, + ordering); + + // If target libMesh variable exists on the current rank, update the set of local + // DoFs of the target libMesh variable using the interpolated MFEM values + if (is_target_local) + { + // Declare aliases for convenience + FEProblemBase & to_problem = getActiveToProblem(); + const MooseVariableFieldBase & to_var( + to_problem.getVariable(0, + getToVarName(var_index), + Moose::VarKindType::VAR_ANY, + Moose::VarFieldType::VAR_FIELD_ANY)); + const auto & to_var_name = getToVarName(var_index); + // Get undisplaced system for writing transferred variable to + auto & out_es = getlibMeshEquationSystem(to_problem, false); + auto & out_sys = *find_sys(out_es, to_var_name); + + // Project interpolated values at destination nodes onto destination variables to set DoFs + projectlibMeshNodalValues(out_sys, to_var, interp_vals); + } + } +} + +#endif diff --git a/framework/src/mfem/transfers/MultiApplibMeshToMFEMShapeEvaluationTransfer.C b/framework/src/mfem/transfers/MultiApplibMeshToMFEMShapeEvaluationTransfer.C new file mode 100644 index 000000000000..de8c3eba434d --- /dev/null +++ b/framework/src/mfem/transfers/MultiApplibMeshToMFEMShapeEvaluationTransfer.C @@ -0,0 +1,149 @@ +//* This file is part of the MOOSE framework +//* https://mooseframework.inl.gov +//* +//* All rights reserved, see COPYRIGHT for full restrictions +//* https://github.com/idaholab/moose/blob/master/COPYRIGHT +//* +//* Licensed under LGPL 2.1, please see LICENSE for details +//* https://www.gnu.org/licenses/lgpl-2.1.html + +#ifdef MOOSE_MFEM_ENABLED + +#include "MultiApplibMeshToMFEMShapeEvaluationTransfer.h" +#include "MFEMVectorUtils.h" +#include "libmesh/mesh_function.h" +#include "libmesh/parallel_algebra.h" // for communicator send and receive stuff + +registerMooseObject("MooseApp", MultiApplibMeshToMFEMShapeEvaluationTransfer); + +InputParameters +MultiApplibMeshToMFEMShapeEvaluationTransfer::validParams() +{ + InputParameters params = MFEMMultiAppTransfer::validParams(); + params.addClassDescription("Transfers variable values from a libMesh based application to an " + "MFEM application, using shape function evaluations."); + return params; +} + +MultiApplibMeshToMFEMShapeEvaluationTransfer::MultiApplibMeshToMFEMShapeEvaluationTransfer( + InputParameters const & params) + : MFEMMultiAppTransfer(params) +{ + checkValidTransferProblemTypes(); +} + +MFEMProblem & +MultiApplibMeshToMFEMShapeEvaluationTransfer::getActiveToProblem() +{ + return static_cast(MFEMMultiAppTransfer::getActiveToProblem()); +} + +void +MultiApplibMeshToMFEMShapeEvaluationTransfer::transferVariables(bool is_target_local) +{ + for (const auto var_index : make_range(numToVar())) + { + // Declare map of processor ID to corresponding vector of libMesh points + // on that processor to interpolate source libMesh variable at + std::map> outgoing_points; + mfem::Vector interp_vals; + if (is_target_local) + { + // Generate list of points where the grid function will be evaluated + mfem::ParGridFunction & to_gf = + *getActiveToProblem().getGridFunction(getToVarName(var_index)); + mfem::ParFiniteElementSpace & to_pfespace = *to_gf.ParFESpace(); + if (to_gf.VectorDim() > 1) + mooseError("MultiApplibMeshToMFEMShapeEvaluationTransfer does not support transfers of " + "vector variables from libMesh to MFEM-based subapps"); + mfem::Vector vxyz; + mfem::Ordering::Type point_ordering; + _mfem_projector.extractNodePositions(to_pfespace, vxyz, point_ordering); + + // Populate outgoing point locations map between processor and points vector for libMesh to + // use in interpolation + const int dim = to_pfespace.GetParMesh()->Dimension(); + const int nnodes = vxyz.Size() / dim; + for (const auto i : make_range(nnodes)) + { + libMesh::Point point_in_target_frame; + for (const auto d : make_range(dim)) + point_in_target_frame(d) = vxyz[i + d * nnodes]; + + const auto point_in_source_frame = mapPointToActiveSourceFrame(point_in_target_frame); + for (const auto i_proc : make_range(n_processors())) + outgoing_points[i_proc].push_back(point_in_source_frame); + } + interp_vals.SetSize(nnodes); + } + + // Perform interpolation of libMesh variable at specified points + interpolatelibMeshVariable(outgoing_points, var_index, interp_vals); + + // Project DoFs to MFEM GridFunction + if (is_target_local) + { + mfem::ParGridFunction & to_gf = + *getActiveToProblem().getGridFunction(getToVarName(var_index)); + mfem::Ordering::Type libmesh_interp_ordering(mfem::Ordering::Type::byNODES); + _mfem_projector.projectNodalValues(interp_vals, libmesh_interp_ordering, to_gf); + } + } +} + +void +MultiApplibMeshToMFEMShapeEvaluationTransfer::interpolatelibMeshVariable( + std::map> & outgoing_points, + const unsigned int var_index, + mfem::Vector & interp_vals) +{ + FEProblemBase & from_problem = getActiveFromProblem(); + MooseVariableFieldBase & from_var = from_problem.getVariable(0, + getFromVarName(var_index), + Moose::VarKindType::VAR_ANY, + Moose::VarFieldType::VAR_FIELD_ANY); + System & from_sys = from_var.sys().system(); + unsigned int from_var_num = from_sys.variable_number(getFromVarName(var_index)); + // Construct a local mesh function for each origin problem + libMesh::MeshFunction local_meshfuns( + getlibMeshEquationSystem(from_problem, _displaced_source_mesh), + *from_sys.current_local_solution, + from_sys.get_dof_map(), + from_var_num); + local_meshfuns.init(); + local_meshfuns.enable_out_of_mesh_mode(getMFEMOutOfMeshValue()); + + // Evaluate interpolated values at incoming points. + auto gather_functor = + [this, &local_meshfuns](processor_id_type /*pid*/, + const std::vector & incoming_points, + std::vector & vals_for_incoming_points) + { + vals_for_incoming_points.resize(incoming_points.size(), getMFEMOutOfMeshValue()); + // Compute interpolation values of the libMesh variable at all requested points + for (const auto i_pt : index_range(incoming_points)) + vals_for_incoming_points[i_pt] = local_meshfuns(incoming_points[i_pt]); + }; + // Copy data out to interp_vals + auto action_functor = + [&interp_vals, this](processor_id_type /*pid*/, + const std::vector & /*my_outgoing_points*/, + const std::vector & vals_for_outgoing_points) + { + for (const auto i : make_range(interp_vals.Size())) + { + const auto val = vals_for_outgoing_points[i]; + if (val == getMFEMOutOfMeshValue()) + continue; + interp_vals(i) = val; + } + }; + + // Set interpolated field values at points on local processor + interp_vals = getMFEMOutOfMeshValue(); // default to the out-of-mesh value + // We assume incoming_vals is ordered in the same way as outgoing_points + libMesh::Parallel::pull_parallel_vector_data( + comm(), outgoing_points, gather_functor, action_functor, (mfem::real_t *)(nullptr)); +} + +#endif diff --git a/framework/src/mfem/utils/MFEMNodalProjector.C b/framework/src/mfem/utils/MFEMNodalProjector.C new file mode 100644 index 000000000000..d98ec62fbb55 --- /dev/null +++ b/framework/src/mfem/utils/MFEMNodalProjector.C @@ -0,0 +1,99 @@ +//* This file is part of the MOOSE framework +//* https://mooseframework.inl.gov +//* +//* All rights reserved, see COPYRIGHT for full restrictions +//* https://github.com/idaholab/moose/blob/master/COPYRIGHT +//* +//* Licensed under LGPL 2.1, please see LICENSE for details +//* https://www.gnu.org/licenses/lgpl-2.1.html + +#ifdef MOOSE_MFEM_ENABLED + +#include "MFEMNodalProjector.h" +#include "MFEMVectorUtils.h" +#include "MooseError.h" + +void +MFEMNodalProjector::extractNodePositions(const mfem::ParFiniteElementSpace & fespace, + mfem::Vector & node_positions, + mfem::Ordering::Type & node_ordering) +{ + const int nelem = fespace.GetParMesh()->GetNE(); + const int dim = fespace.GetParMesh()->Dimension(); + + // Find total number of local nodes/interpolation points + int nnodes = 0; + for (const auto i : make_range(nelem)) + nnodes += fespace.GetFE(i)->GetNodes().GetNPoints(); + + node_positions.SetSize(nnodes * dim); + + int nodal_offset = 0; + for (const auto i : make_range(nelem)) + { + const mfem::IntegrationRule ir = fespace.GetFE(i)->GetNodes(); + const int nqpt = ir.GetNPoints(); + + mfem::DenseMatrix pos; + fespace.GetElementTransformation(i)->Transform(ir, pos); + mfem::Vector row; + + for (const auto d : make_range(dim)) + { + row.SetDataAndSize(node_positions.GetData() + nodal_offset + d * nnodes, nqpt); + pos.GetRow(d, row); + } + + nodal_offset += nqpt; + } + node_ordering = mfem::Ordering::Type::byNODES; +} + +void +MFEMNodalProjector::projectNodalValues(const mfem::Vector & nodal_vals, + const mfem::Ordering::Type & nodal_val_ordering, + mfem::ParGridFunction & gridfunction) +{ + mfem::ParFiniteElementSpace & fespace = *gridfunction.ParFESpace(); + const int nelem = fespace.GetParMesh()->GetNE(); + const int gf_ncomp = gridfunction.VectorDim(); + + fespace.GetParMesh()->EnsureNodes(); + + // Check FESpaces can be transferred + const auto map = fespace.FEColl()->GetMapType(fespace.GetParMesh()->Dimension()); + const bool H1L2 = map == mfem::FiniteElement::VALUE || map == mfem::FiniteElement::INTEGRAL; + const bool RTND = map == mfem::FiniteElement::H_DIV || map == mfem::FiniteElement::H_CURL; + if (!H1L2 && !RTND) + mooseError("FESpace type not supported yet in transfers."); + + // Project the interpolated values to the target FiniteElementSpace. + mfem::Ordering::Type dof_ordering = H1L2 ? mfem::Ordering::byNODES : mfem::Ordering::byVDIM; + mfem::Array vdofs; + mfem::Vector vals; + int nodal_offset = 0; + for (const auto el : make_range(nelem)) + { + const int nqpt = fespace.GetFE(el)->GetNodes().GetNPoints(); + mfem::Vector dof_vals(nqpt * gf_ncomp); + fespace.GetElementVDofs(el, vdofs); // Returned vdofs always indexed with ordering byNODES + for (const auto qp : make_range(nqpt)) + for (const auto d : make_range(gf_ncomp)) + dof_vals(Moose::MFEM::MFEMIndex(d, qp, gf_ncomp, nqpt, dof_ordering)) = nodal_vals( + Moose::MFEM::MFEMIndex(d, qp, gf_ncomp, nqpt, nodal_val_ordering) + nodal_offset); + + if (H1L2) + gridfunction.SetSubVector(vdofs, dof_vals); + else if (RTND) + { + vals.SetSize(vdofs.Size()); + fespace.GetFE(el)->ProjectFromNodes(dof_vals, *fespace.GetElementTransformation(el), vals); + gridfunction.SetSubVector(vdofs, vals); + } + + nodal_offset += nqpt * gf_ncomp; + } + gridfunction.SetTrueVector(); +} + +#endif diff --git a/framework/src/mfem/utils/MFEMVectorUtils.C b/framework/src/mfem/utils/MFEMVectorUtils.C new file mode 100644 index 000000000000..d98671574797 --- /dev/null +++ b/framework/src/mfem/utils/MFEMVectorUtils.C @@ -0,0 +1,39 @@ +//* This file is part of the MOOSE framework +//* https://mooseframework.inl.gov +//* +//* All rights reserved, see COPYRIGHT for full restrictions +//* https://github.com/idaholab/moose/blob/master/COPYRIGHT +//* +//* Licensed under LGPL 2.1, please see LICENSE for details +//* https://www.gnu.org/licenses/lgpl-2.1.html + +#ifdef MOOSE_MFEM_ENABLED + +#include "MFEMVectorUtils.h" +#include "libmesh/int_range.h" + +namespace Moose::MFEM +{ +libMesh::Point +libMeshPointFromMFEMVector(const mfem::Vector & vec) +{ + return libMesh::Point(vec(0), vec.Size() > 1 ? vec(1) : 0., vec.Size() > 2 ? vec(2) : 0.); +} + +mfem::Vector +libMeshPointsToMFEMVector(const std::vector & points, + const unsigned int num_dims, + const mfem::Ordering::Type ordering) +{ + const unsigned int num_points = points.size(); + mfem::Vector mfem_points(num_points * num_dims); + for (const auto i_point : libMesh::make_range(num_points)) + for (const auto i_dim : libMesh::make_range(num_dims)) + mfem_points(MFEMIndex(i_dim, i_point, num_dims, num_points, ordering)) = + points[i_point](i_dim); + + return mfem_points; +} +} + +#endif diff --git a/framework/src/mfem/vectorpostprocessors/MFEMValueSamplerBase.C b/framework/src/mfem/vectorpostprocessors/MFEMValueSamplerBase.C index 814949fb1285..2fdb0dce23b3 100644 --- a/framework/src/mfem/vectorpostprocessors/MFEMValueSamplerBase.C +++ b/framework/src/mfem/vectorpostprocessors/MFEMValueSamplerBase.C @@ -11,48 +11,12 @@ #include "MFEMValueSamplerBase.h" #include "MFEMProblem.h" +#include "MFEMVectorUtils.h" #include "mfem/fem/fespace.hpp" namespace { -size_t -MFEMIndex(const size_t i_dim, - const size_t i_point, - const size_t num_dims, - const size_t num_points, - const mfem::Ordering::Type ordering) -{ - if (ordering == mfem::Ordering::byNODES) - { - return i_dim * num_points + i_point; - } - else // ordering == mfem::Ordering::byVDIM - { - return i_point * num_dims + i_dim; - } -} - -mfem::Vector -pointsToMFEMVector(const std::vector & points, - const unsigned int num_dims, - const mfem::Ordering::Type ordering) -{ - const unsigned int num_points = points.size(); - mfem::Vector mfem_points(num_points * num_dims); - for (unsigned int i_point = 0; i_point < num_points; i_point++) - { - for (unsigned int i_dim = 0; i_dim < num_dims; i_dim++) - { - const size_t idx = MFEMIndex(i_dim, i_point, num_dims, num_points, ordering); - - mfem_points(idx) = points[i_point](i_dim); - } - } - - return mfem_points; -} - void MFEMVectorToPostprocessorPoints( const mfem::Vector & mfem_points, @@ -65,7 +29,7 @@ MFEMVectorToPostprocessorPoints( { for (unsigned int i_dim = 0; i_dim < num_dims; i_dim++) { - const size_t idx = MFEMIndex(i_dim, i_point, num_dims, num_points, ordering); + const size_t idx = Moose::MFEM::MFEMIndex(i_dim, i_point, num_dims, num_points, ordering); points[i_dim].get()[i_point] = mfem_points(idx); } @@ -96,7 +60,8 @@ MFEMValueSamplerBase::MFEMValueSamplerBase(const InputParameters & parameters, _finder(this->comm().get()), _points_ordering(getParam("point_ordering") == "NODES" ? mfem::Ordering::byNODES : mfem::Ordering::byVDIM), - _points(pointsToMFEMVector(points, _mesh.SpaceDimension(), _points_ordering)), + _points( + Moose::MFEM::libMeshPointsToMFEMVector(points, _mesh.SpaceDimension(), _points_ordering)), _interp_vals(points.size()) { if (getMFEMProblem().mesh().shouldDisplace()) @@ -159,7 +124,8 @@ MFEMValueSamplerBase::finalize() { for (size_t i_point = 0; i_point < num_points; i_point++) { - const auto mfem_idx = MFEMIndex(i_dim, i_point, val_dims, num_points, val_fespace_ordering); + const auto mfem_idx = + Moose::MFEM::MFEMIndex(i_dim, i_point, val_dims, num_points, val_fespace_ordering); _declared_vals[i_dim].get()[i_point] = _interp_vals[mfem_idx]; } } diff --git a/framework/src/multiapps/MultiApp.C b/framework/src/multiapps/MultiApp.C index bdbb2528c9c0..ed932c2bab03 100644 --- a/framework/src/multiapps/MultiApp.C +++ b/framework/src/multiapps/MultiApp.C @@ -1170,10 +1170,23 @@ MultiApp::createApp(unsigned int i, Real start_time) app_params.set("_multiapp_number") = _first_local_app + i; app_params.set("_master_mesh") = &_fe_problem.mesh(); #ifdef MOOSE_MFEM_ENABLED - app_params.set>("_mfem_device") = - _app.getMFEMDevice(Moose::PassKey()); - const auto & mfem_device_set = _app.getMFEMDevices(Moose::PassKey()); - app_params.set>("_mfem_devices") = mfem_device_set; + // MFEM device must only be set once across all apps + // FIXME: this required that the base app is an MFEM app; itwill + // still fail if multiple MFEM sub-apps are launched from a libMesh base app + if (i == 0) + { + app_params.set>("_mfem_device") = + _app.getMFEMDevice(Moose::PassKey()); + const auto & mfem_device_set = _app.getMFEMDevices(Moose::PassKey()); + app_params.set>("_mfem_devices") = mfem_device_set; + } + else + { + app_params.set>("_mfem_device") = + _apps[0]->getMFEMDevice(Moose::PassKey()); + const auto & mfem_device_set = _apps[0]->getMFEMDevices(Moose::PassKey()); + app_params.set>("_mfem_devices") = mfem_device_set; + } #endif if (getParam("clone_master_mesh") || getParam("clone_parent_mesh")) { diff --git a/test/tests/mfem/mesh/cube.e b/test/tests/mfem/mesh/cube.e new file mode 100644 index 000000000000..560bd078d08f Binary files /dev/null and b/test/tests/mfem/mesh/cube.e differ diff --git a/test/tests/mfem/mesh/cube_tetmesh.e b/test/tests/mfem/mesh/cube_tetmesh.e new file mode 100644 index 000000000000..e97b6b59299d Binary files /dev/null and b/test/tests/mfem/mesh/cube_tetmesh.e differ diff --git a/test/tests/mfem/mesh/square_mixed.e b/test/tests/mfem/mesh/square_mixed.e new file mode 100644 index 000000000000..538da62b2cd9 Binary files /dev/null and b/test/tests/mfem/mesh/square_mixed.e differ diff --git a/test/tests/mfem/mesh/square_quad9.e b/test/tests/mfem/mesh/square_quad9.e new file mode 100644 index 000000000000..2e18074b754d Binary files /dev/null and b/test/tests/mfem/mesh/square_quad9.e differ diff --git a/test/tests/mfem/mesh/square_tri.e b/test/tests/mfem/mesh/square_tri.e new file mode 100644 index 000000000000..e78b105c67ba Binary files /dev/null and b/test/tests/mfem/mesh/square_tri.e differ diff --git a/test/tests/mfem/submeshes/av_magnetostatic.i b/test/tests/mfem/submeshes/av_magnetostatic.i index e0f7caaef8be..ff05b4c99093 100644 --- a/test/tests/mfem/submeshes/av_magnetostatic.i +++ b/test/tests/mfem/submeshes/av_magnetostatic.i @@ -133,8 +133,8 @@ [Transfers] [from_coil] type = MultiAppMFEMCopyTransfer - source_variable = e_field - variable = e_field + source_variables = e_field + variables = e_field from_multi_app = coil [] [] diff --git a/test/tests/mfem/submeshes/hphi_magnetodynamic.i b/test/tests/mfem/submeshes/hphi_magnetodynamic.i index 990a7835ed61..d3d13d1ee491 100644 --- a/test/tests/mfem/submeshes/hphi_magnetodynamic.i +++ b/test/tests/mfem/submeshes/hphi_magnetodynamic.i @@ -146,8 +146,8 @@ vacuum_permeability = 1.0 [Transfers] [from_external_field] type = MultiAppMFEMCopyTransfer - source_variable = h_field - variable = h_field + source_variables = h_field + variables = h_field from_multi_app = hphi_magnetostatic [] [submesh_transfer_to_coil] diff --git a/test/tests/mfem/submeshes/magnetostatic.i b/test/tests/mfem/submeshes/magnetostatic.i index e16f49ee3428..86abed527171 100644 --- a/test/tests/mfem/submeshes/magnetostatic.i +++ b/test/tests/mfem/submeshes/magnetostatic.i @@ -106,8 +106,8 @@ [Transfers] [from_sub] type = MultiAppMFEMCopyTransfer - source_variable = electric_potential - variable = electric_potential + source_variables = electric_potential + variables = electric_potential from_multi_app = subapp [] [] diff --git a/test/tests/mfem/transfers/displaced/base_strip.e b/test/tests/mfem/transfers/displaced/base_strip.e new file mode 100644 index 000000000000..476103659705 Binary files /dev/null and b/test/tests/mfem/transfers/displaced/base_strip.e differ diff --git a/test/tests/mfem/transfers/displaced/displaced_indicator_strip.e b/test/tests/mfem/transfers/displaced/displaced_indicator_strip.e new file mode 100644 index 000000000000..e64f5a752337 Binary files /dev/null and b/test/tests/mfem/transfers/displaced/displaced_indicator_strip.e differ diff --git a/test/tests/mfem/transfers/displaced/gold/OutputData/Displaced/Run0/Cycle000010/data.pvtu b/test/tests/mfem/transfers/displaced/gold/OutputData/Displaced/Run0/Cycle000010/data.pvtu new file mode 100644 index 000000000000..b5d2354d3981 --- /dev/null +++ b/test/tests/mfem/transfers/displaced/gold/OutputData/Displaced/Run0/Cycle000010/data.pvtu @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/test/tests/mfem/transfers/displaced/gold/OutputData/Displaced/Run0/Cycle000010/proc000000.vtu b/test/tests/mfem/transfers/displaced/gold/OutputData/Displaced/Run0/Cycle000010/proc000000.vtu new file mode 100644 index 000000000000..e6cf6e5b969f --- /dev/null +++ b/test/tests/mfem/transfers/displaced/gold/OutputData/Displaced/Run0/Cycle000010/proc000000.vtu @@ -0,0 +1,1826 @@ + + + + + +-0.5 0 0 +-0.46 0 0 +-0.5 0.166666667 0 +-0.46 0.166666667 0 +-0.46 0 0 +-0.42 0 0 +-0.46 0.166666667 0 +-0.42 0.166666667 0 +-0.42 0 0 +-0.38 0 0 +-0.42 0.166666667 0 +-0.38 0.166666667 0 +-0.38 0 0 +-0.34 0 0 +-0.38 0.166666667 0 +-0.34 0.166666667 0 +-0.34 0 0 +-0.3 0 0 +-0.34 0.166666667 0 +-0.3 0.166666667 0 +-0.3 0 0 +-0.26 0 0 +-0.3 0.166666667 0 +-0.26 0.166666667 0 +-0.26 0 0 +-0.22 0 0 +-0.26 0.166666667 0 +-0.22 0.166666667 0 +-0.22 0 0 +-0.18 0 0 +-0.22 0.166666667 0 +-0.18 0.166666667 0 +-0.18 0 0 +-0.14 0 0 +-0.18 0.166666667 0 +-0.14 0.166666667 0 +-0.14 0 0 +-0.1 0 0 +-0.14 0.166666667 0 +-0.1 0.166666667 0 +-0.1 0 0 +-0.06 0 0 +-0.1 0.166666667 0 +-0.06 0.166666667 0 +-0.06 0 0 +-0.02 0 0 +-0.06 0.166666667 0 +-0.02 0.166666667 0 +-0.02 0 0 +0.02 0 0 +-0.02 0.166666667 0 +0.02 0.166666667 0 +0.02 0 0 +0.06 0 0 +0.02 0.166666667 0 +0.06 0.166666667 0 +0.06 0 0 +0.1 0 0 +0.06 0.166666667 0 +0.1 0.166666667 0 +0.1 0 0 +0.14 0 0 +0.1 0.166666667 0 +0.14 0.166666667 0 +0.14 0 0 +0.18 0 0 +0.14 0.166666667 0 +0.18 0.166666667 0 +0.18 0 0 +0.22 0 0 +0.18 0.166666667 0 +0.22 0.166666667 0 +0.22 0 0 +0.26 0 0 +0.22 0.166666667 0 +0.26 0.166666667 0 +0.26 0 0 +0.3 0 0 +0.26 0.166666667 0 +0.3 0.166666667 0 +0.3 0 0 +0.34 0 0 +0.3 0.166666667 0 +0.34 0.166666667 0 +0.34 0 0 +0.38 0 0 +0.34 0.166666667 0 +0.38 0.166666667 0 +0.38 0 0 +0.42 0 0 +0.38 0.166666667 0 +0.42 0.166666667 0 +0.42 0 0 +0.46 0 0 +0.42 0.166666667 0 +0.46 0.166666667 0 +0.46 0 0 +0.5 0 0 +0.46 0.166666667 0 +0.5 0.166666667 0 +0.5 0 0 +0.54 0 0 +0.5 0.166666667 0 +0.54 0.166666667 0 +0.54 0 0 +0.58 0 0 +0.54 0.166666667 0 +0.58 0.166666667 0 +0.58 0 0 +0.62 0 0 +0.58 0.166666667 0 +0.62 0.166666667 0 +0.62 0 0 +0.66 0 0 +0.62 0.166666667 0 +0.66 0.166666667 0 +0.66 0 0 +0.7 0 0 +0.66 0.166666667 0 +0.7 0.166666667 0 +0.7 0 0 +0.74 0 0 +0.7 0.166666667 0 +0.74 0.166666667 0 +0.74 0 0 +0.78 0 0 +0.74 0.166666667 0 +0.78 0.166666667 0 +0.78 0 0 +0.82 0 0 +0.78 0.166666667 0 +0.82 0.166666667 0 +0.82 0 0 +0.86 0 0 +0.82 0.166666667 0 +0.86 0.166666667 0 +0.86 0 0 +0.9 0 0 +0.86 0.166666667 0 +0.9 0.166666667 0 +0.9 0 0 +0.94 0 0 +0.9 0.166666667 0 +0.94 0.166666667 0 +0.94 0 0 +0.98 0 0 +0.94 0.166666667 0 +0.98 0.166666667 0 +0.98 0 0 +1.02 0 0 +0.98 0.166666667 0 +1.02 0.166666667 0 +1.02 0 0 +1.06 0 0 +1.02 0.166666667 0 +1.06 0.166666667 0 +1.06 0 0 +1.1 0 0 +1.06 0.166666667 0 +1.1 0.166666667 0 +1.1 0 0 +1.14 0 0 +1.1 0.166666667 0 +1.14 0.166666667 0 +1.14 0 0 +1.18 0 0 +1.14 0.166666667 0 +1.18 0.166666667 0 +1.18 0 0 +1.22 0 0 +1.18 0.166666667 0 +1.22 0.166666667 0 +1.22 0 0 +1.26 0 0 +1.22 0.166666667 0 +1.26 0.166666667 0 +1.26 0 0 +1.3 0 0 +1.26 0.166666667 0 +1.3 0.166666667 0 +1.3 0 0 +1.34 0 0 +1.3 0.166666667 0 +1.34 0.166666667 0 +1.34 0 0 +1.38 0 0 +1.34 0.166666667 0 +1.38 0.166666667 0 +1.38 0 0 +1.42 0 0 +1.38 0.166666667 0 +1.42 0.166666667 0 +1.42 0 0 +1.46 0 0 +1.42 0.166666667 0 +1.46 0.166666667 0 +1.46 0 0 +1.5 0 0 +1.46 0.166666667 0 +1.5 0.166666667 0 +-0.5 0.166666667 0 +-0.46 0.166666667 0 +-0.5 0.333333333 0 +-0.46 0.333333333 0 +-0.46 0.166666667 0 +-0.42 0.166666667 0 +-0.46 0.333333333 0 +-0.42 0.333333333 0 +-0.42 0.166666667 0 +-0.38 0.166666667 0 +-0.42 0.333333333 0 +-0.38 0.333333333 0 +-0.38 0.166666667 0 +-0.34 0.166666667 0 +-0.38 0.333333333 0 +-0.34 0.333333333 0 +-0.34 0.166666667 0 +-0.3 0.166666667 0 +-0.34 0.333333333 0 +-0.3 0.333333333 0 +-0.3 0.166666667 0 +-0.26 0.166666667 0 +-0.3 0.333333333 0 +-0.26 0.333333333 0 +-0.26 0.166666667 0 +-0.22 0.166666667 0 +-0.26 0.333333333 0 +-0.22 0.333333333 0 +-0.22 0.166666667 0 +-0.18 0.166666667 0 +-0.22 0.333333333 0 +-0.18 0.333333333 0 +-0.18 0.166666667 0 +-0.14 0.166666667 0 +-0.18 0.333333333 0 +-0.14 0.333333333 0 +-0.14 0.166666667 0 +-0.1 0.166666667 0 +-0.14 0.333333333 0 +-0.1 0.333333333 0 +-0.1 0.166666667 0 +-0.06 0.166666667 0 +-0.1 0.333333333 0 +-0.06 0.333333333 0 +-0.06 0.166666667 0 +-0.02 0.166666667 0 +-0.06 0.333333333 0 +-0.02 0.333333333 0 +-0.02 0.166666667 0 +0.02 0.166666667 0 +-0.02 0.333333333 0 +0.02 0.333333333 0 +0.02 0.166666667 0 +0.06 0.166666667 0 +0.02 0.333333333 0 +0.06 0.333333333 0 +0.06 0.166666667 0 +0.1 0.166666667 0 +0.06 0.333333333 0 +0.1 0.333333333 0 +0.1 0.166666667 0 +0.14 0.166666667 0 +0.1 0.333333333 0 +0.14 0.333333333 0 +0.14 0.166666667 0 +0.18 0.166666667 0 +0.14 0.333333333 0 +0.18 0.333333333 0 +0.18 0.166666667 0 +0.22 0.166666667 0 +0.18 0.333333333 0 +0.22 0.333333333 0 +0.22 0.166666667 0 +0.26 0.166666667 0 +0.22 0.333333333 0 +0.26 0.333333333 0 +0.26 0.166666667 0 +0.3 0.166666667 0 +0.26 0.333333333 0 +0.3 0.333333333 0 +0.3 0.166666667 0 +0.34 0.166666667 0 +0.3 0.333333333 0 +0.34 0.333333333 0 +0.34 0.166666667 0 +0.38 0.166666667 0 +0.34 0.333333333 0 +0.38 0.333333333 0 +0.38 0.166666667 0 +0.42 0.166666667 0 +0.38 0.333333333 0 +0.42 0.333333333 0 +0.42 0.166666667 0 +0.46 0.166666667 0 +0.42 0.333333333 0 +0.46 0.333333333 0 +0.46 0.166666667 0 +0.5 0.166666667 0 +0.46 0.333333333 0 +0.5 0.333333333 0 +0.5 0.166666667 0 +0.54 0.166666667 0 +0.5 0.333333333 0 +0.54 0.333333333 0 +0.54 0.166666667 0 +0.58 0.166666667 0 +0.54 0.333333333 0 +0.58 0.333333333 0 +0.58 0.166666667 0 +0.62 0.166666667 0 +0.58 0.333333333 0 +0.62 0.333333333 0 +0.62 0.166666667 0 +0.66 0.166666667 0 +0.62 0.333333333 0 +0.66 0.333333333 0 +0.66 0.166666667 0 +0.7 0.166666667 0 +0.66 0.333333333 0 +0.7 0.333333333 0 +0.7 0.166666667 0 +0.74 0.166666667 0 +0.7 0.333333333 0 +0.74 0.333333333 0 +0.74 0.166666667 0 +0.78 0.166666667 0 +0.74 0.333333333 0 +0.78 0.333333333 0 +0.78 0.166666667 0 +0.82 0.166666667 0 +0.78 0.333333333 0 +0.82 0.333333333 0 +0.82 0.166666667 0 +0.86 0.166666667 0 +0.82 0.333333333 0 +0.86 0.333333333 0 +0.86 0.166666667 0 +0.9 0.166666667 0 +0.86 0.333333333 0 +0.9 0.333333333 0 +0.9 0.166666667 0 +0.94 0.166666667 0 +0.9 0.333333333 0 +0.94 0.333333333 0 +0.94 0.166666667 0 +0.98 0.166666667 0 +0.94 0.333333333 0 +0.98 0.333333333 0 +0.98 0.166666667 0 +1.02 0.166666667 0 +0.98 0.333333333 0 +1.02 0.333333333 0 +1.02 0.166666667 0 +1.06 0.166666667 0 +1.02 0.333333333 0 +1.06 0.333333333 0 +1.06 0.166666667 0 +1.1 0.166666667 0 +1.06 0.333333333 0 +1.1 0.333333333 0 +1.1 0.166666667 0 +1.14 0.166666667 0 +1.1 0.333333333 0 +1.14 0.333333333 0 +1.14 0.166666667 0 +1.18 0.166666667 0 +1.14 0.333333333 0 +1.18 0.333333333 0 +1.18 0.166666667 0 +1.22 0.166666667 0 +1.18 0.333333333 0 +1.22 0.333333333 0 +1.22 0.166666667 0 +1.26 0.166666667 0 +1.22 0.333333333 0 +1.26 0.333333333 0 +1.26 0.166666667 0 +1.3 0.166666667 0 +1.26 0.333333333 0 +1.3 0.333333333 0 +1.3 0.166666667 0 +1.34 0.166666667 0 +1.3 0.333333333 0 +1.34 0.333333333 0 +1.34 0.166666667 0 +1.38 0.166666667 0 +1.34 0.333333333 0 +1.38 0.333333333 0 +1.38 0.166666667 0 +1.42 0.166666667 0 +1.38 0.333333333 0 +1.42 0.333333333 0 +1.42 0.166666667 0 +1.46 0.166666667 0 +1.42 0.333333333 0 +1.46 0.333333333 0 +1.46 0.166666667 0 +1.5 0.166666667 0 +1.46 0.333333333 0 +1.5 0.333333333 0 +-0.5 0.333333333 0 +-0.46 0.333333333 0 +-0.5 0.5 0 +-0.46 0.5 0 +-0.46 0.333333333 0 +-0.42 0.333333333 0 +-0.46 0.5 0 +-0.42 0.5 0 +-0.42 0.333333333 0 +-0.38 0.333333333 0 +-0.42 0.5 0 +-0.38 0.5 0 +-0.38 0.333333333 0 +-0.34 0.333333333 0 +-0.38 0.5 0 +-0.34 0.5 0 +-0.34 0.333333333 0 +-0.3 0.333333333 0 +-0.34 0.5 0 +-0.3 0.5 0 +-0.3 0.333333333 0 +-0.26 0.333333333 0 +-0.3 0.5 0 +-0.26 0.5 0 +-0.26 0.333333333 0 +-0.22 0.333333333 0 +-0.26 0.5 0 +-0.22 0.5 0 +-0.22 0.333333333 0 +-0.18 0.333333333 0 +-0.22 0.5 0 +-0.18 0.5 0 +-0.18 0.333333333 0 +-0.14 0.333333333 0 +-0.18 0.5 0 +-0.14 0.5 0 +-0.14 0.333333333 0 +-0.1 0.333333333 0 +-0.14 0.5 0 +-0.1 0.5 0 +-0.1 0.333333333 0 +-0.06 0.333333333 0 +-0.1 0.5 0 +-0.06 0.5 0 +-0.06 0.333333333 0 +-0.02 0.333333333 0 +-0.06 0.5 0 +-0.02 0.5 0 +-0.02 0.333333333 0 +0.02 0.333333333 0 +-0.02 0.5 0 +0.02 0.5 0 +0.02 0.333333333 0 +0.06 0.333333333 0 +0.02 0.5 0 +0.06 0.5 0 +0.06 0.333333333 0 +0.1 0.333333333 0 +0.06 0.5 0 +0.1 0.5 0 +0.1 0.333333333 0 +0.14 0.333333333 0 +0.1 0.5 0 +0.14 0.5 0 +0.14 0.333333333 0 +0.18 0.333333333 0 +0.14 0.5 0 +0.18 0.5 0 +0.18 0.333333333 0 +0.22 0.333333333 0 +0.18 0.5 0 +0.22 0.5 0 +0.22 0.333333333 0 +0.26 0.333333333 0 +0.22 0.5 0 +0.26 0.5 0 +0.26 0.333333333 0 +0.3 0.333333333 0 +0.26 0.5 0 +0.3 0.5 0 +0.3 0.333333333 0 +0.34 0.333333333 0 +0.3 0.5 0 +0.34 0.5 0 +0.34 0.333333333 0 +0.38 0.333333333 0 +0.34 0.5 0 +0.38 0.5 0 +0.38 0.333333333 0 +0.42 0.333333333 0 +0.38 0.5 0 +0.42 0.5 0 +0.42 0.333333333 0 +0.46 0.333333333 0 +0.42 0.5 0 +0.46 0.5 0 +0.46 0.333333333 0 +0.5 0.333333333 0 +0.46 0.5 0 +0.5 0.5 0 +0.5 0.333333333 0 +0.54 0.333333333 0 +0.5 0.5 0 +0.54 0.5 0 +0.54 0.333333333 0 +0.58 0.333333333 0 +0.54 0.5 0 +0.58 0.5 0 +0.58 0.333333333 0 +0.62 0.333333333 0 +0.58 0.5 0 +0.62 0.5 0 +0.62 0.333333333 0 +0.66 0.333333333 0 +0.62 0.5 0 +0.66 0.5 0 +0.66 0.333333333 0 +0.7 0.333333333 0 +0.66 0.5 0 +0.7 0.5 0 +0.7 0.333333333 0 +0.74 0.333333333 0 +0.7 0.5 0 +0.74 0.5 0 +0.74 0.333333333 0 +0.78 0.333333333 0 +0.74 0.5 0 +0.78 0.5 0 +0.78 0.333333333 0 +0.82 0.333333333 0 +0.78 0.5 0 +0.82 0.5 0 +0.82 0.333333333 0 +0.86 0.333333333 0 +0.82 0.5 0 +0.86 0.5 0 +0.86 0.333333333 0 +0.9 0.333333333 0 +0.86 0.5 0 +0.9 0.5 0 +0.9 0.333333333 0 +0.94 0.333333333 0 +0.9 0.5 0 +0.94 0.5 0 +0.94 0.333333333 0 +0.98 0.333333333 0 +0.94 0.5 0 +0.98 0.5 0 +0.98 0.333333333 0 +1.02 0.333333333 0 +0.98 0.5 0 +1.02 0.5 0 +1.02 0.333333333 0 +1.06 0.333333333 0 +1.02 0.5 0 +1.06 0.5 0 +1.06 0.333333333 0 +1.1 0.333333333 0 +1.06 0.5 0 +1.1 0.5 0 +1.1 0.333333333 0 +1.14 0.333333333 0 +1.1 0.5 0 +1.14 0.5 0 +1.14 0.333333333 0 +1.18 0.333333333 0 +1.14 0.5 0 +1.18 0.5 0 +1.18 0.333333333 0 +1.22 0.333333333 0 +1.18 0.5 0 +1.22 0.5 0 +1.22 0.333333333 0 +1.26 0.333333333 0 +1.22 0.5 0 +1.26 0.5 0 +1.26 0.333333333 0 +1.3 0.333333333 0 +1.26 0.5 0 +1.3 0.5 0 +1.3 0.333333333 0 +1.34 0.333333333 0 +1.3 0.5 0 +1.34 0.5 0 +1.34 0.333333333 0 +1.38 0.333333333 0 +1.34 0.5 0 +1.38 0.5 0 +1.38 0.333333333 0 +1.42 0.333333333 0 +1.38 0.5 0 +1.42 0.5 0 +1.42 0.333333333 0 +1.46 0.333333333 0 +1.42 0.5 0 +1.46 0.5 0 +1.46 0.333333333 0 +1.5 0.333333333 0 +1.46 0.5 0 +1.5 0.5 0 + + + + +0 1 3 2 +4 5 7 6 +8 9 11 10 +12 13 15 14 +16 17 19 18 +20 21 23 22 +24 25 27 26 +28 29 31 30 +32 33 35 34 +36 37 39 38 +40 41 43 42 +44 45 47 46 +48 49 51 50 +52 53 55 54 +56 57 59 58 +60 61 63 62 +64 65 67 66 +68 69 71 70 +72 73 75 74 +76 77 79 78 +80 81 83 82 +84 85 87 86 +88 89 91 90 +92 93 95 94 +96 97 99 98 +100 101 103 102 +104 105 107 106 +108 109 111 110 +112 113 115 114 +116 117 119 118 +120 121 123 122 +124 125 127 126 +128 129 131 130 +132 133 135 134 +136 137 139 138 +140 141 143 142 +144 145 147 146 +148 149 151 150 +152 153 155 154 +156 157 159 158 +160 161 163 162 +164 165 167 166 +168 169 171 170 +172 173 175 174 +176 177 179 178 +180 181 183 182 +184 185 187 186 +188 189 191 190 +192 193 195 194 +196 197 199 198 +200 201 203 202 +204 205 207 206 +208 209 211 210 +212 213 215 214 +216 217 219 218 +220 221 223 222 +224 225 227 226 +228 229 231 230 +232 233 235 234 +236 237 239 238 +240 241 243 242 +244 245 247 246 +248 249 251 250 +252 253 255 254 +256 257 259 258 +260 261 263 262 +264 265 267 266 +268 269 271 270 +272 273 275 274 +276 277 279 278 +280 281 283 282 +284 285 287 286 +288 289 291 290 +292 293 295 294 +296 297 299 298 +300 301 303 302 +304 305 307 306 +308 309 311 310 +312 313 315 314 +316 317 319 318 +320 321 323 322 +324 325 327 326 +328 329 331 330 +332 333 335 334 +336 337 339 338 +340 341 343 342 +344 345 347 346 +348 349 351 350 +352 353 355 354 +356 357 359 358 +360 361 363 362 +364 365 367 366 +368 369 371 370 +372 373 375 374 +376 377 379 378 +380 381 383 382 +384 385 387 386 +388 389 391 390 +392 393 395 394 +396 397 399 398 +400 401 403 402 +404 405 407 406 +408 409 411 410 +412 413 415 414 +416 417 419 418 +420 421 423 422 +424 425 427 426 +428 429 431 430 +432 433 435 434 +436 437 439 438 +440 441 443 442 +444 445 447 446 +448 449 451 450 +452 453 455 454 +456 457 459 458 +460 461 463 462 +464 465 467 466 +468 469 471 470 +472 473 475 474 +476 477 479 478 +480 481 483 482 +484 485 487 486 +488 489 491 490 +492 493 495 494 +496 497 499 498 +500 501 503 502 +504 505 507 506 +508 509 511 510 +512 513 515 514 +516 517 519 518 +520 521 523 522 +524 525 527 526 +528 529 531 530 +532 533 535 534 +536 537 539 538 +540 541 543 542 +544 545 547 546 +548 549 551 550 +552 553 555 554 +556 557 559 558 +560 561 563 562 +564 565 567 566 +568 569 571 570 +572 573 575 574 +576 577 579 578 +580 581 583 582 +584 585 587 586 +588 589 591 590 +592 593 595 594 +596 597 599 598 + + +4 +8 +12 +16 +20 +24 +28 +32 +36 +40 +44 +48 +52 +56 +60 +64 +68 +72 +76 +80 +84 +88 +92 +96 +100 +104 +108 +112 +116 +120 +124 +128 +132 +136 +140 +144 +148 +152 +156 +160 +164 +168 +172 +176 +180 +184 +188 +192 +196 +200 +204 +208 +212 +216 +220 +224 +228 +232 +236 +240 +244 +248 +252 +256 +260 +264 +268 +272 +276 +280 +284 +288 +292 +296 +300 +304 +308 +312 +316 +320 +324 +328 +332 +336 +340 +344 +348 +352 +356 +360 +364 +368 +372 +376 +380 +384 +388 +392 +396 +400 +404 +408 +412 +416 +420 +424 +428 +432 +436 +440 +444 +448 +452 +456 +460 +464 +468 +472 +476 +480 +484 +488 +492 +496 +500 +504 +508 +512 +516 +520 +524 +528 +532 +536 +540 +544 +548 +552 +556 +560 +564 +568 +572 +576 +580 +584 +588 +592 +596 +600 + + +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 + + + + +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 + + + + +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan + + + + + diff --git a/test/tests/mfem/transfers/displaced/gold/OutputData/Displaced/Run0/Cycle000010/proc000001.vtu b/test/tests/mfem/transfers/displaced/gold/OutputData/Displaced/Run0/Cycle000010/proc000001.vtu new file mode 100644 index 000000000000..4b014e984802 --- /dev/null +++ b/test/tests/mfem/transfers/displaced/gold/OutputData/Displaced/Run0/Cycle000010/proc000001.vtu @@ -0,0 +1,482 @@ + + + + + +-0.18 0.166666667 0 +-0.22 0 0 +-0.18 0 0 +-0.22 0.166666667 0 +-0.14 0 0 +-0.18 0.166666667 0 +-0.14 0.166666667 0 +-0.18 0 0 +-0.1 0.166666667 0 +-0.14 0 0 +-0.1 0 0 +-0.14 0.166666667 0 +-0.06 0 0 +-0.1 0.166666667 0 +-0.06 0.166666667 0 +-0.1 0 0 +-0.02 0 0 +-0.06 0.166666667 0 +-0.02 0.166666667 0 +-0.06 0 0 +0.02 0.166666667 0 +-0.02 0 0 +0.02 0 0 +-0.02 0.166666667 0 +0.1 0 0 +0.06 0.166666667 0 +0.1 0.166666667 0 +0.06 0 0 +0.18 0.166666667 0 +0.14 0 0 +0.18 0 0 +0.14 0.166666667 0 +1.1 0.166666667 0 +1.06 0 0 +1.1 0 0 +1.06 0.166666667 0 +1.38 0.166666667 0 +1.34 0 0 +1.38 0 0 +1.34 0.166666667 0 +1.5 0.166666667 0 +1.46 0 0 +1.5 0 0 +1.46 0.166666667 0 +-0.42 0.333333333 0 +-0.46 0.166666667 0 +-0.42 0.166666667 0 +-0.46 0.333333333 0 +0.42 0.166666667 0 +0.38 0.333333333 0 +0.42 0.333333333 0 +0.38 0.166666667 0 +0.54 0.333333333 0 +0.5 0.166666667 0 +0.54 0.166666667 0 +0.5 0.333333333 0 +0.58 0.333333333 0 +0.54 0.166666667 0 +0.58 0.166666667 0 +0.54 0.333333333 0 +0.62 0.333333333 0 +0.58 0.166666667 0 +0.62 0.166666667 0 +0.58 0.333333333 0 +0.74 0.333333333 0 +0.7 0.166666667 0 +0.74 0.166666667 0 +0.7 0.333333333 0 +1.1 0.166666667 0 +1.06 0.333333333 0 +1.1 0.333333333 0 +1.06 0.166666667 0 +1.14 0.166666667 0 +1.1 0.333333333 0 +1.14 0.333333333 0 +1.1 0.166666667 0 +1.38 0.333333333 0 +1.34 0.166666667 0 +1.38 0.166666667 0 +1.34 0.333333333 0 +1.5 0.166666667 0 +1.46 0.333333333 0 +1.5 0.333333333 0 +1.46 0.166666667 0 +-0.46 0.333333333 0 +-0.5 0.5 0 +-0.46 0.5 0 +-0.5 0.333333333 0 +-0.42 0.333333333 0 +-0.46 0.5 0 +-0.42 0.5 0 +-0.46 0.333333333 0 +-0.26 0.333333333 0 +-0.3 0.5 0 +-0.26 0.5 0 +-0.3 0.333333333 0 +-0.22 0.333333333 0 +-0.26 0.5 0 +-0.22 0.5 0 +-0.26 0.333333333 0 +0.3 0.333333333 0 +0.26 0.5 0 +0.3 0.5 0 +0.26 0.333333333 0 +0.38 0.5 0 +0.34 0.333333333 0 +0.38 0.333333333 0 +0.34 0.5 0 +0.42 0.5 0 +0.38 0.333333333 0 +0.42 0.333333333 0 +0.38 0.5 0 +0.5 0.333333333 0 +0.46 0.5 0 +0.5 0.5 0 +0.46 0.333333333 0 +0.54 0.333333333 0 +0.5 0.5 0 +0.54 0.5 0 +0.5 0.333333333 0 +0.74 0.333333333 0 +0.7 0.5 0 +0.74 0.5 0 +0.7 0.333333333 0 +0.78 0.333333333 0 +0.74 0.5 0 +0.78 0.5 0 +0.74 0.333333333 0 +0.82 0.333333333 0 +0.78 0.5 0 +0.82 0.5 0 +0.78 0.333333333 0 +1.3 0.333333333 0 +1.26 0.5 0 +1.3 0.5 0 +1.26 0.333333333 0 +1.34 0.333333333 0 +1.3 0.5 0 +1.34 0.5 0 +1.3 0.333333333 0 +1.38 0.5 0 +1.34 0.333333333 0 +1.38 0.333333333 0 +1.34 0.5 0 +1.42 0.333333333 0 +1.38 0.5 0 +1.42 0.5 0 +1.38 0.333333333 0 +1.46 0.333333333 0 +1.42 0.5 0 +1.46 0.5 0 +1.42 0.333333333 0 + + + + +0 1 2 3 +4 5 6 7 +8 9 10 11 +12 13 14 15 +16 17 18 19 +20 21 22 23 +24 25 26 27 +28 29 30 31 +32 33 34 35 +36 37 38 39 +40 41 42 43 +44 45 46 47 +48 49 50 51 +52 53 54 55 +56 57 58 59 +60 61 62 63 +64 65 66 67 +68 69 70 71 +72 73 74 75 +76 77 78 79 +80 81 82 83 +84 85 86 87 +88 89 90 91 +92 93 94 95 +96 97 98 99 +100 101 102 103 +104 105 106 107 +108 109 110 111 +112 113 114 115 +116 117 118 119 +120 121 122 123 +124 125 126 127 +128 129 130 131 +132 133 134 135 +136 137 138 139 +140 141 142 143 +144 145 146 147 +148 149 150 151 + + +4 +8 +12 +16 +20 +24 +28 +32 +36 +40 +44 +48 +52 +56 +60 +64 +68 +72 +76 +80 +84 +88 +92 +96 +100 +104 +108 +112 +116 +120 +124 +128 +132 +136 +140 +144 +148 +152 + + +10 +10 +10 +10 +10 +10 +10 +10 +10 +10 +10 +10 +10 +10 +10 +10 +10 +10 +10 +10 +10 +10 +10 +10 +10 +10 +10 +10 +10 +10 +10 +10 +10 +10 +10 +10 +10 +10 + + + + +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 + + + + +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +1 +1 +1 +1 +1 +1 +1 +1 +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan + + + + + diff --git a/test/tests/mfem/transfers/displaced/gold/OutputData/Displaced/Run0/Cycle000010/proc000002.vtu b/test/tests/mfem/transfers/displaced/gold/OutputData/Displaced/Run0/Cycle000010/proc000002.vtu new file mode 100644 index 000000000000..0abd41954681 --- /dev/null +++ b/test/tests/mfem/transfers/displaced/gold/OutputData/Displaced/Run0/Cycle000010/proc000002.vtu @@ -0,0 +1,470 @@ + + + + + +-0.38 0 0 +-0.42 0.166666667 0 +-0.38 0.166666667 0 +-0.42 0 0 +-0.34 0.166666667 0 +-0.38 0 0 +-0.34 0 0 +-0.38 0.166666667 0 +-0.22 0.166666667 0 +-0.26 0 0 +-0.22 0 0 +-0.26 0.166666667 0 +0.26 0.166666667 0 +0.22 0 0 +0.26 0 0 +0.22 0.166666667 0 +0.3 0.166666667 0 +0.26 0 0 +0.3 0 0 +0.26 0.166666667 0 +0.34 0.166666667 0 +0.3 0 0 +0.34 0 0 +0.3 0.166666667 0 +0.42 0.166666667 0 +0.38 0 0 +0.42 0 0 +0.38 0.166666667 0 +0.46 0.166666667 0 +0.42 0 0 +0.46 0 0 +0.42 0.166666667 0 +0.58 0 0 +0.54 0.166666667 0 +0.58 0.166666667 0 +0.54 0 0 +0.74 0.166666667 0 +0.7 0 0 +0.74 0 0 +0.7 0.166666667 0 +0.9 0.166666667 0 +0.86 0 0 +0.9 0 0 +0.86 0.166666667 0 +0.94 0 0 +0.9 0.166666667 0 +0.94 0.166666667 0 +0.9 0 0 +-0.46 0.166666667 0 +-0.5 0.333333333 0 +-0.46 0.333333333 0 +-0.5 0.166666667 0 +-0.26 0.333333333 0 +-0.3 0.166666667 0 +-0.26 0.166666667 0 +-0.3 0.333333333 0 +-0.22 0.166666667 0 +-0.26 0.333333333 0 +-0.22 0.333333333 0 +-0.26 0.166666667 0 +-0.18 0.166666667 0 +-0.22 0.333333333 0 +-0.18 0.333333333 0 +-0.22 0.166666667 0 +-0.14 0.333333333 0 +-0.18 0.166666667 0 +-0.14 0.166666667 0 +-0.18 0.333333333 0 +-0.1 0.333333333 0 +-0.14 0.166666667 0 +-0.1 0.166666667 0 +-0.14 0.333333333 0 +-0.06 0.333333333 0 +-0.1 0.166666667 0 +-0.06 0.166666667 0 +-0.1 0.333333333 0 +-0.02 0.166666667 0 +-0.06 0.333333333 0 +-0.02 0.333333333 0 +-0.06 0.166666667 0 +0.02 0.333333333 0 +-0.02 0.166666667 0 +0.02 0.166666667 0 +-0.02 0.333333333 0 +0.06 0.333333333 0 +0.02 0.166666667 0 +0.06 0.166666667 0 +0.02 0.333333333 0 +0.38 0.333333333 0 +0.34 0.166666667 0 +0.38 0.166666667 0 +0.34 0.333333333 0 +0.46 0.333333333 0 +0.42 0.166666667 0 +0.46 0.166666667 0 +0.42 0.333333333 0 +0.7 0.333333333 0 +0.66 0.166666667 0 +0.7 0.166666667 0 +0.66 0.333333333 0 +0.78 0.333333333 0 +0.74 0.166666667 0 +0.78 0.166666667 0 +0.74 0.333333333 0 +1.22 0.166666667 0 +1.18 0.333333333 0 +1.22 0.333333333 0 +1.18 0.166666667 0 +1.46 0.166666667 0 +1.42 0.333333333 0 +1.46 0.333333333 0 +1.42 0.166666667 0 +-0.3 0.333333333 0 +-0.34 0.5 0 +-0.3 0.5 0 +-0.34 0.333333333 0 +-0.14 0.333333333 0 +-0.18 0.5 0 +-0.14 0.5 0 +-0.18 0.333333333 0 +-0.06 0.333333333 0 +-0.1 0.5 0 +-0.06 0.5 0 +-0.1 0.333333333 0 +0.34 0.5 0 +0.3 0.333333333 0 +0.34 0.333333333 0 +0.3 0.5 0 +0.46 0.333333333 0 +0.42 0.5 0 +0.46 0.5 0 +0.42 0.333333333 0 +0.58 0.333333333 0 +0.54 0.5 0 +0.58 0.5 0 +0.54 0.333333333 0 +1.14 0.333333333 0 +1.1 0.5 0 +1.14 0.5 0 +1.1 0.333333333 0 +1.22 0.333333333 0 +1.18 0.5 0 +1.22 0.5 0 +1.18 0.333333333 0 +1.26 0.333333333 0 +1.22 0.5 0 +1.26 0.5 0 +1.22 0.333333333 0 + + + + +0 1 2 3 +4 5 6 7 +8 9 10 11 +12 13 14 15 +16 17 18 19 +20 21 22 23 +24 25 26 27 +28 29 30 31 +32 33 34 35 +36 37 38 39 +40 41 42 43 +44 45 46 47 +48 49 50 51 +52 53 54 55 +56 57 58 59 +60 61 62 63 +64 65 66 67 +68 69 70 71 +72 73 74 75 +76 77 78 79 +80 81 82 83 +84 85 86 87 +88 89 90 91 +92 93 94 95 +96 97 98 99 +100 101 102 103 +104 105 106 107 +108 109 110 111 +112 113 114 115 +116 117 118 119 +120 121 122 123 +124 125 126 127 +128 129 130 131 +132 133 134 135 +136 137 138 139 +140 141 142 143 +144 145 146 147 + + +4 +8 +12 +16 +20 +24 +28 +32 +36 +40 +44 +48 +52 +56 +60 +64 +68 +72 +76 +80 +84 +88 +92 +96 +100 +104 +108 +112 +116 +120 +124 +128 +132 +136 +140 +144 +148 + + +10 +10 +10 +10 +10 +10 +10 +10 +10 +10 +10 +10 +10 +10 +10 +10 +10 +10 +10 +10 +10 +10 +10 +10 +10 +10 +10 +10 +10 +10 +10 +10 +10 +10 +10 +10 +10 + + + + +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 + + + + +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +1 +1 +1 +1 +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +1 +1 +1 +1 +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan + + + + + diff --git a/test/tests/mfem/transfers/displaced/gold/OutputData/Displaced/Run0/Cycle000010/proc000003.vtu b/test/tests/mfem/transfers/displaced/gold/OutputData/Displaced/Run0/Cycle000010/proc000003.vtu new file mode 100644 index 000000000000..5c225ad36207 --- /dev/null +++ b/test/tests/mfem/transfers/displaced/gold/OutputData/Displaced/Run0/Cycle000010/proc000003.vtu @@ -0,0 +1,482 @@ + + + + + +-0.3 0 0 +-0.34 0.166666667 0 +-0.3 0.166666667 0 +-0.34 0 0 +-0.26 0.166666667 0 +-0.3 0 0 +-0.26 0 0 +-0.3 0.166666667 0 +0.22 0.166666667 0 +0.18 0 0 +0.22 0 0 +0.18 0.166666667 0 +0.5 0.166666667 0 +0.46 0 0 +0.5 0 0 +0.46 0.166666667 0 +0.54 0.166666667 0 +0.5 0 0 +0.54 0 0 +0.5 0.166666667 0 +0.62 0.166666667 0 +0.58 0 0 +0.62 0 0 +0.58 0.166666667 0 +0.66 0.166666667 0 +0.62 0 0 +0.66 0 0 +0.62 0.166666667 0 +0.7 0.166666667 0 +0.66 0 0 +0.7 0 0 +0.66 0.166666667 0 +0.78 0.166666667 0 +0.74 0 0 +0.78 0 0 +0.74 0.166666667 0 +0.82 0 0 +0.78 0.166666667 0 +0.82 0.166666667 0 +0.78 0 0 +0.86 0 0 +0.82 0.166666667 0 +0.86 0.166666667 0 +0.82 0 0 +1.22 0.166666667 0 +1.18 0 0 +1.22 0 0 +1.18 0.166666667 0 +1.42 0.166666667 0 +1.38 0 0 +1.42 0 0 +1.38 0.166666667 0 +1.46 0.166666667 0 +1.42 0 0 +1.46 0 0 +1.42 0.166666667 0 +0.22 0.333333333 0 +0.18 0.166666667 0 +0.22 0.166666667 0 +0.18 0.333333333 0 +0.26 0.333333333 0 +0.22 0.166666667 0 +0.26 0.166666667 0 +0.22 0.333333333 0 +0.34 0.333333333 0 +0.3 0.166666667 0 +0.34 0.166666667 0 +0.3 0.333333333 0 +0.5 0.333333333 0 +0.46 0.166666667 0 +0.5 0.166666667 0 +0.46 0.333333333 0 +0.66 0.333333333 0 +0.62 0.166666667 0 +0.66 0.166666667 0 +0.62 0.333333333 0 +0.82 0.333333333 0 +0.78 0.166666667 0 +0.82 0.166666667 0 +0.78 0.333333333 0 +0.86 0.166666667 0 +0.82 0.333333333 0 +0.86 0.333333333 0 +0.82 0.166666667 0 +0.9 0.333333333 0 +0.86 0.166666667 0 +0.9 0.166666667 0 +0.86 0.333333333 0 +1.26 0.166666667 0 +1.22 0.333333333 0 +1.26 0.333333333 0 +1.22 0.166666667 0 +1.3 0.166666667 0 +1.26 0.333333333 0 +1.3 0.333333333 0 +1.26 0.166666667 0 +1.42 0.166666667 0 +1.38 0.333333333 0 +1.42 0.333333333 0 +1.38 0.166666667 0 +-0.02 0.5 0 +-0.06 0.333333333 0 +-0.02 0.333333333 0 +-0.06 0.5 0 +0.02 0.333333333 0 +-0.02 0.5 0 +0.02 0.5 0 +-0.02 0.333333333 0 +0.18 0.5 0 +0.14 0.333333333 0 +0.18 0.333333333 0 +0.14 0.5 0 +0.22 0.5 0 +0.18 0.333333333 0 +0.22 0.333333333 0 +0.18 0.5 0 +0.62 0.333333333 0 +0.58 0.5 0 +0.62 0.5 0 +0.58 0.333333333 0 +0.66 0.5 0 +0.62 0.333333333 0 +0.66 0.333333333 0 +0.62 0.5 0 +0.7 0.5 0 +0.66 0.333333333 0 +0.7 0.333333333 0 +0.66 0.5 0 +0.86 0.333333333 0 +0.82 0.5 0 +0.86 0.5 0 +0.82 0.333333333 0 +0.9 0.5 0 +0.86 0.333333333 0 +0.9 0.333333333 0 +0.86 0.5 0 +0.94 0.333333333 0 +0.9 0.5 0 +0.94 0.5 0 +0.9 0.333333333 0 +0.98 0.333333333 0 +0.94 0.5 0 +0.98 0.5 0 +0.94 0.333333333 0 +1.02 0.333333333 0 +0.98 0.5 0 +1.02 0.5 0 +0.98 0.333333333 0 +1.18 0.333333333 0 +1.14 0.5 0 +1.18 0.5 0 +1.14 0.333333333 0 + + + + +0 1 2 3 +4 5 6 7 +8 9 10 11 +12 13 14 15 +16 17 18 19 +20 21 22 23 +24 25 26 27 +28 29 30 31 +32 33 34 35 +36 37 38 39 +40 41 42 43 +44 45 46 47 +48 49 50 51 +52 53 54 55 +56 57 58 59 +60 61 62 63 +64 65 66 67 +68 69 70 71 +72 73 74 75 +76 77 78 79 +80 81 82 83 +84 85 86 87 +88 89 90 91 +92 93 94 95 +96 97 98 99 +100 101 102 103 +104 105 106 107 +108 109 110 111 +112 113 114 115 +116 117 118 119 +120 121 122 123 +124 125 126 127 +128 129 130 131 +132 133 134 135 +136 137 138 139 +140 141 142 143 +144 145 146 147 +148 149 150 151 + + +4 +8 +12 +16 +20 +24 +28 +32 +36 +40 +44 +48 +52 +56 +60 +64 +68 +72 +76 +80 +84 +88 +92 +96 +100 +104 +108 +112 +116 +120 +124 +128 +132 +136 +140 +144 +148 +152 + + +10 +10 +10 +10 +10 +10 +10 +10 +10 +10 +10 +10 +10 +10 +10 +10 +10 +10 +10 +10 +10 +10 +10 +10 +10 +10 +10 +10 +10 +10 +10 +10 +10 +10 +10 +10 +10 +10 + + + + +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 + + + + +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +1 +1 +1 +1 +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +1 +1 +1 +1 +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan + + + + + diff --git a/test/tests/mfem/transfers/displaced/gold/OutputData/Displaced/Run0/Run0.pvd b/test/tests/mfem/transfers/displaced/gold/OutputData/Displaced/Run0/Run0.pvd new file mode 100644 index 000000000000..2d13f5ed4585 --- /dev/null +++ b/test/tests/mfem/transfers/displaced/gold/OutputData/Displaced/Run0/Run0.pvd @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + diff --git a/test/tests/mfem/transfers/displaced/gold/libmesh_parent_out.e b/test/tests/mfem/transfers/displaced/gold/libmesh_parent_out.e new file mode 100644 index 000000000000..ef6610f42c90 Binary files /dev/null and b/test/tests/mfem/transfers/displaced/gold/libmesh_parent_out.e differ diff --git a/test/tests/mfem/transfers/displaced/libmesh_child.i b/test/tests/mfem/transfers/displaced/libmesh_child.i new file mode 100644 index 000000000000..01bda2f5e027 --- /dev/null +++ b/test/tests/mfem/transfers/displaced/libmesh_child.i @@ -0,0 +1,50 @@ +[Mesh] + type = FileMesh + file = displaced_indicator_strip.e + displacements = 'disp_x disp_y' +[] + +[Problem] + kernel_coverage_check = false + skip_nl_system_check = true +[] + +[AuxVariables] + [solid_indicator] + initial_condition = 1.0 + [] + [disp_x] + [] + [disp_y] + [] +[] + +[AuxKernels] + [move] + type = FunctionAux + variable = disp_x + function = 't' + execute_on = 'TIMESTEP_BEGIN' + [] +[] + +[Executioner] + type = Transient + num_steps = 1 + solve_type = 'NEWTON' + petsc_options_iname = '-pc_type -pc_factor_mat_solver_type -pc_factor_shift_type' + petsc_options_value = 'lu superlu_dist NONZERO' + nl_max_its = 40 + l_max_its = 15 + line_search = 'none' + nl_abs_tol = 1e-5 + nl_rel_tol = 1e-4 + automatic_scaling = true +[] + +[Outputs] + [out] + type = Exodus + execute_on = 'INITIAL TIMESTEP_END' + [] +[] diff --git a/test/tests/mfem/transfers/displaced/libmesh_parent.i b/test/tests/mfem/transfers/displaced/libmesh_parent.i new file mode 100644 index 000000000000..b6b0393dc9da --- /dev/null +++ b/test/tests/mfem/transfers/displaced/libmesh_parent.i @@ -0,0 +1,61 @@ +[Mesh] + type = FileMesh + file = displaced_indicator_strip.e + displacements = 'disp_x disp_y' +[] + +[Problem] + kernel_coverage_check = false + skip_nl_system_check = true + verbose_multiapps = true +[] + +[AuxVariables] + [background_field] + [] + [disp_x] + [] + [disp_y] + [] +[] + +[AuxKernels] + [move] + type = FunctionAux + variable = disp_x + function = 't' + execute_on = 'TIMESTEP_END' + [] +[] + +[MultiApps] + [background] + type = TransientMultiApp + input_files = mfem_child.i + execute_on = 'initial timestep_begin' + [] +[] + +[Transfers] + [pull_indicator_nodal] + type = MultiAppMFEMTolibMeshShapeEvaluationTransfer + from_multi_app = background + source_variables = indicator_field + variables = background_field + displaced_target_mesh = true + execute_on = 'initial timestep_begin' + [] +[] + +[Executioner] + type = Transient + dt = 0.05 + num_steps = 10 +[] + +[Outputs] + [out] + type = Exodus + execute_on = 'INITIAL TIMESTEP_END' + [] +[] diff --git a/test/tests/mfem/transfers/displaced/mfem_child.i b/test/tests/mfem/transfers/displaced/mfem_child.i new file mode 100644 index 000000000000..c25872dc1ec6 --- /dev/null +++ b/test/tests/mfem/transfers/displaced/mfem_child.i @@ -0,0 +1,46 @@ +[Problem] + type = MFEMProblem + solve = false +[] + +[Mesh] + type = MFEMMesh + file = base_strip.e +[] + +[FESpaces] + [H1FESpace] + type = MFEMScalarFESpace + fec_type = H1 + fec_order = FIRST + [] +[] + +[AuxVariables] + [indicator_field] + type = MFEMVariable + fespace = H1FESpace + [] +[] + +[Functions] + [background] + type = ParsedFunction + expression = '1+x*x' + [] +[] + +[ICs] + [background_ic] + type = MFEMScalarIC + coefficient = background + variable = indicator_field + [] +[] + +[Executioner] + type = MFEMTransient + dt = 0.05 + num_steps = 10 + device = cpu +[] diff --git a/test/tests/mfem/transfers/displaced/mfem_parent.i b/test/tests/mfem/transfers/displaced/mfem_parent.i new file mode 100644 index 000000000000..35f5e6432e12 --- /dev/null +++ b/test/tests/mfem/transfers/displaced/mfem_parent.i @@ -0,0 +1,58 @@ +[Problem] + type = MFEMProblem + solve = false +[] + +[Mesh] + type = MFEMMesh + file = base_strip.e +[] + +[FESpaces] + [H1FESpace] + type = MFEMScalarFESpace + fec_type = H1 + fec_order = FIRST + [] +[] + +[AuxVariables] + [indicator_nodal] + type = MFEMVariable + fespace = H1FESpace + [] +[] + +[Executioner] + type = MFEMTransient + dt = 0.05 + num_steps = 10 +[] + +[MultiApps] + [solid_domain] + type = TransientMultiApp + input_files = libmesh_child.i + execute_on = 'initial timestep_begin' + [] +[] + +[Transfers] + [pull_indicator_nodal] + type = MultiApplibMeshToMFEMShapeEvaluationTransfer + from_multi_app = solid_domain + source_variables = solid_indicator + variables = indicator_nodal + displaced_source_mesh = true + execute_on = 'initial timestep_begin' + [] +[] + +[Outputs] + [ParaViewDataCollection] + type = MFEMParaViewDataCollection + file_base = OutputData/Displaced + vtk_format = ASCII + execute_on = 'INITIAL TIMESTEP_END' + [] +[] diff --git a/test/tests/mfem/transfers/displaced/tests b/test/tests/mfem/transfers/displaced/tests new file mode 100644 index 000000000000..f3645f6a9120 --- /dev/null +++ b/test/tests/mfem/transfers/displaced/tests @@ -0,0 +1,26 @@ +[Tests] + design = MultiAppMFEMShapeEvaluationTransfer.md + issues = '#31982' + [MFEMTransferFromlibMeshDisplaced] + type = XMLDiff + input = mfem_parent.i + xmldiff = 'OutputData/Displaced/Run0/Run0.pvd + OutputData/Displaced/Run0/Cycle000010/proc000000.vtu' + requirement = "The system shall be able to transfer from a libMesh source application that is being displaced to an MFEM target application." + capabilities = 'mfem' + compute_devices = 'cpu' + max_parallel = 1 # schemadiff with multiple ranks + recover = false + restep = false + [] + [MFEMTransferTolibMeshDisplaced] + type = 'Exodiff' + input = 'libmesh_parent.i' + exodiff = 'libmesh_parent_out.e' + capabilities = 'mfem' + compute_devices = 'cpu' + recover = false + restep = false + requirement = "The system shall be able to transfer from an MFEM source application to a displaced libMesh target application." + [] +[] \ No newline at end of file diff --git a/test/tests/mfem/transfers/h1_libmesh_parent_mfem_sub/gold/libmesh_parent_scalar_mfem_sub_hexes.csv b/test/tests/mfem/transfers/h1_libmesh_parent_mfem_sub/gold/libmesh_parent_scalar_mfem_sub_hexes.csv new file mode 100644 index 000000000000..78f180c8f4d1 --- /dev/null +++ b/test/tests/mfem/transfers/h1_libmesh_parent_mfem_sub/gold/libmesh_parent_scalar_mfem_sub_hexes.csv @@ -0,0 +1,3 @@ +time,Difference +0,0 +1,2.885465407645e-13 diff --git a/test/tests/mfem/transfers/h1_libmesh_parent_mfem_sub/gold/libmesh_parent_scalar_mfem_sub_hexes_order_2.csv b/test/tests/mfem/transfers/h1_libmesh_parent_mfem_sub/gold/libmesh_parent_scalar_mfem_sub_hexes_order_2.csv new file mode 100644 index 000000000000..6bbcd3769ef7 --- /dev/null +++ b/test/tests/mfem/transfers/h1_libmesh_parent_mfem_sub/gold/libmesh_parent_scalar_mfem_sub_hexes_order_2.csv @@ -0,0 +1,3 @@ +time,Difference +0,0 +1,5.5494694149716e-12 diff --git a/test/tests/mfem/transfers/h1_libmesh_parent_mfem_sub/gold/libmesh_parent_scalar_mfem_sub_quads.csv b/test/tests/mfem/transfers/h1_libmesh_parent_mfem_sub/gold/libmesh_parent_scalar_mfem_sub_quads.csv new file mode 100644 index 000000000000..d0a21d3715db --- /dev/null +++ b/test/tests/mfem/transfers/h1_libmesh_parent_mfem_sub/gold/libmesh_parent_scalar_mfem_sub_quads.csv @@ -0,0 +1,3 @@ +time,Difference +0,0 +1,2.9128154346659e-12 diff --git a/test/tests/mfem/transfers/h1_libmesh_parent_mfem_sub/gold/libmesh_parent_scalar_mfem_sub_quads_order_2.csv b/test/tests/mfem/transfers/h1_libmesh_parent_mfem_sub/gold/libmesh_parent_scalar_mfem_sub_quads_order_2.csv new file mode 100644 index 000000000000..b768631b2122 --- /dev/null +++ b/test/tests/mfem/transfers/h1_libmesh_parent_mfem_sub/gold/libmesh_parent_scalar_mfem_sub_quads_order_2.csv @@ -0,0 +1,3 @@ +time,Difference +0,0 +1,1.9942415315387e-10 diff --git a/test/tests/mfem/transfers/h1_libmesh_parent_mfem_sub/gold/libmesh_parent_scalar_mfem_sub_tet_to_hex.csv b/test/tests/mfem/transfers/h1_libmesh_parent_mfem_sub/gold/libmesh_parent_scalar_mfem_sub_tet_to_hex.csv new file mode 100644 index 000000000000..f20a732083fe --- /dev/null +++ b/test/tests/mfem/transfers/h1_libmesh_parent_mfem_sub/gold/libmesh_parent_scalar_mfem_sub_tet_to_hex.csv @@ -0,0 +1,3 @@ +time,Difference +0,0 +1,0.015957011626426 diff --git a/test/tests/mfem/transfers/h1_libmesh_parent_mfem_sub/gold/libmesh_parent_scalar_mfem_sub_tet_to_hex_order_2.csv b/test/tests/mfem/transfers/h1_libmesh_parent_mfem_sub/gold/libmesh_parent_scalar_mfem_sub_tet_to_hex_order_2.csv new file mode 100644 index 000000000000..f1f8313459f1 --- /dev/null +++ b/test/tests/mfem/transfers/h1_libmesh_parent_mfem_sub/gold/libmesh_parent_scalar_mfem_sub_tet_to_hex_order_2.csv @@ -0,0 +1,3 @@ +time,Difference +0,0 +1,0.00092963891793414 diff --git a/test/tests/mfem/transfers/h1_libmesh_parent_mfem_sub/gold/libmesh_parent_scalar_mfem_sub_tets.csv b/test/tests/mfem/transfers/h1_libmesh_parent_mfem_sub/gold/libmesh_parent_scalar_mfem_sub_tets.csv new file mode 100644 index 000000000000..142998e449ac --- /dev/null +++ b/test/tests/mfem/transfers/h1_libmesh_parent_mfem_sub/gold/libmesh_parent_scalar_mfem_sub_tets.csv @@ -0,0 +1,3 @@ +time,Difference +0,0 +1,9.6044990466808e-14 diff --git a/test/tests/mfem/transfers/h1_libmesh_parent_mfem_sub/gold/libmesh_parent_scalar_mfem_sub_tets_order_2.csv b/test/tests/mfem/transfers/h1_libmesh_parent_mfem_sub/gold/libmesh_parent_scalar_mfem_sub_tets_order_2.csv new file mode 100644 index 000000000000..0a419c15dc0e --- /dev/null +++ b/test/tests/mfem/transfers/h1_libmesh_parent_mfem_sub/gold/libmesh_parent_scalar_mfem_sub_tets_order_2.csv @@ -0,0 +1,3 @@ +time,Difference +0,0 +1,3.6356822437637e-12 diff --git a/test/tests/mfem/transfers/h1_libmesh_parent_mfem_sub/gold/libmesh_parent_scalar_mfem_sub_tri_to_quad.csv b/test/tests/mfem/transfers/h1_libmesh_parent_mfem_sub/gold/libmesh_parent_scalar_mfem_sub_tri_to_quad.csv new file mode 100644 index 000000000000..9e94739115c4 --- /dev/null +++ b/test/tests/mfem/transfers/h1_libmesh_parent_mfem_sub/gold/libmesh_parent_scalar_mfem_sub_tri_to_quad.csv @@ -0,0 +1,3 @@ +time,Difference +0,0 +1,0.0021466426412437 diff --git a/test/tests/mfem/transfers/h1_libmesh_parent_mfem_sub/gold/libmesh_parent_scalar_mfem_sub_tri_to_quad_order_2.csv b/test/tests/mfem/transfers/h1_libmesh_parent_mfem_sub/gold/libmesh_parent_scalar_mfem_sub_tri_to_quad_order_2.csv new file mode 100644 index 000000000000..ad71c1db172e --- /dev/null +++ b/test/tests/mfem/transfers/h1_libmesh_parent_mfem_sub/gold/libmesh_parent_scalar_mfem_sub_tri_to_quad_order_2.csv @@ -0,0 +1,3 @@ +time,Difference +0,0 +1,4.0839148571931e-05 diff --git a/test/tests/mfem/transfers/h1_libmesh_parent_mfem_sub/gold/libmesh_parent_scalar_mfem_sub_tris.csv b/test/tests/mfem/transfers/h1_libmesh_parent_mfem_sub/gold/libmesh_parent_scalar_mfem_sub_tris.csv new file mode 100644 index 000000000000..4c99719d997a --- /dev/null +++ b/test/tests/mfem/transfers/h1_libmesh_parent_mfem_sub/gold/libmesh_parent_scalar_mfem_sub_tris.csv @@ -0,0 +1,3 @@ +time,Difference +0,0 +1,2.3847487048861e-11 diff --git a/test/tests/mfem/transfers/h1_libmesh_parent_mfem_sub/gold/libmesh_parent_scalar_mfem_sub_tris_order_2.csv b/test/tests/mfem/transfers/h1_libmesh_parent_mfem_sub/gold/libmesh_parent_scalar_mfem_sub_tris_order_2.csv new file mode 100644 index 000000000000..b6798abd86e9 --- /dev/null +++ b/test/tests/mfem/transfers/h1_libmesh_parent_mfem_sub/gold/libmesh_parent_scalar_mfem_sub_tris_order_2.csv @@ -0,0 +1,3 @@ +time,Difference +0,0 +1,8.5202255425664e-11 diff --git a/test/tests/mfem/transfers/h1_libmesh_parent_mfem_sub/libmesh_parent_scalar.i b/test/tests/mfem/transfers/h1_libmesh_parent_mfem_sub/libmesh_parent_scalar.i new file mode 100644 index 000000000000..c1481b76d60b --- /dev/null +++ b/test/tests/mfem/transfers/h1_libmesh_parent_mfem_sub/libmesh_parent_scalar.i @@ -0,0 +1,77 @@ +[Mesh] + file = ../../mesh/square_quad9.e +[] + +[Problem] + type = FEProblem +[] + +[Variables] + [libmesh_scalar_var] + family = LAGRANGE + order = FIRST + [] +[] + +[AuxVariables] + [mfem_scalar_var] # libmesh representation of mfem variable + family = LAGRANGE + order = FIRST + [] +[] + +[BCs] + [sides] + type = DirichletBC + variable = libmesh_scalar_var + boundary = 'bottom left right top' + value = 1.0 + [] +[] + +[Kernels] + [diff] + type = Diffusion + variable = libmesh_scalar_var + [] + [source] + type = BodyForce + variable = libmesh_scalar_var + value = 2.0 + [] +[] + +[Executioner] + type = Steady +[] + +[Outputs] + file_base = 'libmesh_parent_scalar_mfem_sub_quads' + exodus = true + csv = true +[] + +[Postprocessors] + [Difference] + type = ElementL2Difference + variable = libmesh_scalar_var + other_variable = mfem_scalar_var + [] +[] + +[MultiApps] + [mfem_app] + type = FullSolveMultiApp + input_files = mfem_sub_scalar.i + execute_on = 'INITIAL' + [] +[] + +[Transfers] + [transfer_from_mfem] + type = MultiAppMFEMTolibMeshShapeEvaluationTransfer + source_variables = mfem_scalar_var + variables = mfem_scalar_var + from_multi_app = mfem_app + [] +[] diff --git a/test/tests/mfem/transfers/h1_libmesh_parent_mfem_sub/mfem_sub_scalar.i b/test/tests/mfem/transfers/h1_libmesh_parent_mfem_sub/mfem_sub_scalar.i new file mode 100644 index 000000000000..775f6f32b23b --- /dev/null +++ b/test/tests/mfem/transfers/h1_libmesh_parent_mfem_sub/mfem_sub_scalar.i @@ -0,0 +1,61 @@ +[Mesh] + type = MFEMMesh + file = ../../mesh/square_quad9.e +[] + +[Problem] + type = MFEMProblem +[] + +[FESpaces] + [H1FESpace] + type = MFEMScalarFESpace + fec_type = H1 + fec_order = FIRST + [] +[] + +[Variables] + [mfem_scalar_var] + type = MFEMVariable + fespace = H1FESpace + [] +[] + +[BCs] + [sides] + type = MFEMScalarDirichletBC + variable = mfem_scalar_var + coefficient = 1.0 + [] +[] + +[Kernels] + [diff] + type = MFEMDiffusionKernel + variable = mfem_scalar_var + [] + [source] + type = MFEMDomainLFKernel + variable = mfem_scalar_var + coefficient = 2.0 + [] +[] + +[Preconditioner] + [boomeramg] + type = MFEMHypreBoomerAMG + [] +[] + +[Solver] + type = MFEMHypreGMRES + preconditioner = boomeramg + l_tol = 1e-16 + l_max_its = 1000 +[] + +[Executioner] + type = MFEMSteady + device = cpu +[] diff --git a/test/tests/mfem/transfers/h1_libmesh_parent_mfem_sub/tests b/test/tests/mfem/transfers/h1_libmesh_parent_mfem_sub/tests new file mode 100644 index 000000000000..42fc03fc4157 --- /dev/null +++ b/test/tests/mfem/transfers/h1_libmesh_parent_mfem_sub/tests @@ -0,0 +1,182 @@ +[Tests] + design = 'MultiAppMFEMTolibMeshShapeEvaluationTransfer.md' + issues = '#31982' + [MFEMTransferTolibMesh] + requirement = 'The system shall have the ability to transfer MFEM solutions to libMesh for' + [H1Quad] + type = CSVDiff + input = libmesh_parent_scalar.i + csvdiff = 'libmesh_parent_scalar_mfem_sub_quads.csv' + detail = 'first order scalar Lagrange variables defined on quads,' + abs_zero = 1e-8 + capabilities = 'mfem' + recover = false + compute_devices = 'cpu cuda' + [] + [H1QuadSecondOrder] + type = CSVDiff + input = libmesh_parent_scalar.i + csvdiff = 'libmesh_parent_scalar_mfem_sub_quads_order_2.csv' + detail = 'second order scalar Lagrange variables defined on quads,' + abs_zero = 1e-8 + capabilities = 'mfem' + recover = false + compute_devices = 'cpu cuda' + cli_args = 'Variables/libmesh_scalar_var/order=SECOND ' + 'AuxVariables/mfem_scalar_var/order=SECOND ' + 'mfem_app0:FESpaces/H1FESpace/fec_order=SECOND ' + 'Outputs/file_base=libmesh_parent_scalar_mfem_sub_quads_order_2 ' + [] + [H1Tri] + type = CSVDiff + input = libmesh_parent_scalar.i + csvdiff = 'libmesh_parent_scalar_mfem_sub_tris.csv' + detail = 'first order scalar Lagrange variables defined on tris,' + abs_zero = 1e-8 + capabilities = 'mfem' + recover = false + compute_devices = 'cpu cuda' + cli_args = 'Mesh/file=../../mesh/square_tri.e ' + 'mfem_app0:Mesh/file=../../mesh/square_tri.e ' + 'Outputs/file_base=libmesh_parent_scalar_mfem_sub_tris ' + [] + [H1TriSecondOrder] + type = CSVDiff + input = libmesh_parent_scalar.i + csvdiff = 'libmesh_parent_scalar_mfem_sub_tris_order_2.csv' + detail = 'second order scalar Lagrange variables defined on tris,' + abs_zero = 1e-8 + capabilities = 'mfem' + recover = false + compute_devices = 'cpu cuda' + cli_args = 'Mesh/file=../../mesh/square_tri.e ' + 'Outputs/file_base=libmesh_parent_scalar_mfem_sub_tris_order_2 ' + 'Variables/libmesh_scalar_var/order=SECOND ' + 'AuxVariables/mfem_scalar_var/order=SECOND ' + 'mfem_app0:Mesh/file=../../mesh/square_tri.e ' + 'mfem_app0:FESpaces/H1FESpace/fec_order=SECOND ' + [] + [H1TriToQuad] + type = CSVDiff + input = libmesh_parent_scalar.i + csvdiff = 'libmesh_parent_scalar_mfem_sub_tri_to_quad.csv' + detail = 'first order scalar Lagrange variables from tris to quads,' + abs_zero = 1e-8 + capabilities = 'mfem' + recover = false + compute_devices = 'cpu cuda' + cli_args = 'Mesh/file=../../mesh/square_quad9.e ' + 'mfem_app0:Mesh/file=../../mesh/square_tri.e ' + 'Outputs/file_base=libmesh_parent_scalar_mfem_sub_tri_to_quad ' + [] + [H1TriToQuadSecondOrder] + type = CSVDiff + input = libmesh_parent_scalar.i + csvdiff = 'libmesh_parent_scalar_mfem_sub_tri_to_quad_order_2.csv' + detail = 'second order scalar Lagrange variables from tris to quads,' + abs_zero = 1e-8 + capabilities = 'mfem' + recover = false + compute_devices = 'cpu cuda' + cli_args = 'Mesh/file=../../mesh/square_quad9.e ' + 'Outputs/file_base=libmesh_parent_scalar_mfem_sub_tri_to_quad_order_2 ' + 'Variables/libmesh_scalar_var/order=SECOND ' + 'AuxVariables/mfem_scalar_var/order=SECOND ' + 'mfem_app0:Mesh/file=../../mesh/square_tri.e ' + 'mfem_app0:FESpaces/H1FESpace/fec_order=SECOND ' + [] + [H1Hex] + type = CSVDiff + input = libmesh_parent_scalar.i + csvdiff = 'libmesh_parent_scalar_mfem_sub_hexes.csv' + detail = 'first order scalar Lagrange variables defined on hexes,' + abs_zero = 1e-8 + capabilities = 'mfem' + recover = false + compute_devices = 'cpu cuda' + cli_args = 'Mesh/file=../../mesh/cube.e ' + 'BCs/sides/boundary=Sides ' + 'Outputs/file_base=libmesh_parent_scalar_mfem_sub_hexes ' + 'mfem_app0:Mesh/file=../../mesh/cube.e ' + [] + [H1HexSecondOrder] + type = CSVDiff + input = libmesh_parent_scalar.i + csvdiff = 'libmesh_parent_scalar_mfem_sub_hexes_order_2.csv' + detail = 'second order scalar Lagrange variables defined on hexes,' + abs_zero = 1e-8 + capabilities = 'mfem' + recover = false + compute_devices = 'cpu cuda' + cli_args = 'Mesh/file=../../mesh/cube.e ' + 'BCs/sides/boundary=Sides ' + 'Outputs/file_base=libmesh_parent_scalar_mfem_sub_hexes_order_2 ' + 'Variables/libmesh_scalar_var/order=SECOND ' + 'AuxVariables/mfem_scalar_var/order=SECOND ' + 'mfem_app0:Mesh/file=../../mesh/cube.e ' + 'mfem_app0:FESpaces/H1FESpace/fec_order=SECOND ' + [] + [H1Tet] + type = CSVDiff + input = libmesh_parent_scalar.i + csvdiff = 'libmesh_parent_scalar_mfem_sub_tets.csv' + detail = 'first order scalar Lagrange variables defined on tetrahedra,' + abs_zero = 1e-8 + capabilities = 'mfem' + recover = false + compute_devices = 'cpu cuda' + cli_args = 'Mesh/file=../../mesh/cube_tetmesh.e ' + 'BCs/sides/boundary=Sides ' + 'Outputs/file_base=libmesh_parent_scalar_mfem_sub_tets ' + 'mfem_app0:Mesh/file=../../mesh/cube_tetmesh.e ' + [] + [H1TetSecondOrder] + type = CSVDiff + input = libmesh_parent_scalar.i + csvdiff = 'libmesh_parent_scalar_mfem_sub_tets_order_2.csv' + detail = 'second order scalar Lagrange variables defined on tetrahedra,' + abs_zero = 1e-8 + capabilities = 'mfem' + recover = false + compute_devices = 'cpu cuda' + cli_args = 'Mesh/file=../../mesh/cube_tetmesh.e ' + 'BCs/sides/boundary=Sides ' + 'Variables/libmesh_scalar_var/order=SECOND ' + 'AuxVariables/mfem_scalar_var/order=SECOND ' + 'Outputs/file_base=libmesh_parent_scalar_mfem_sub_tets_order_2 ' + 'mfem_app0:Mesh/file=../../mesh/cube_tetmesh.e ' + 'mfem_app0:FESpaces/H1FESpace/fec_order=SECOND ' + [] + [H1TetToHex] + type = CSVDiff + input = libmesh_parent_scalar.i + csvdiff = 'libmesh_parent_scalar_mfem_sub_tet_to_hex.csv' + detail = 'first order scalar Lagrange variables from tets to hexes,' + abs_zero = 1e-8 + capabilities = 'mfem' + recover = false + compute_devices = 'cpu cuda' + cli_args = 'Mesh/file=../../mesh/cube.e ' + 'BCs/sides/boundary=Sides ' + 'Outputs/file_base=libmesh_parent_scalar_mfem_sub_tet_to_hex ' + 'mfem_app0:Mesh/file=../../mesh/cube_tetmesh.e ' + [] + [H1TetToHexSecondOrder] + type = CSVDiff + input = libmesh_parent_scalar.i + csvdiff = 'libmesh_parent_scalar_mfem_sub_tet_to_hex_order_2.csv' + detail = 'and second order scalar Lagrange variables from tets to hexes.' + abs_zero = 1e-8 + capabilities = 'mfem' + recover = false + compute_devices = 'cpu cuda' + cli_args = 'Mesh/file=../../mesh/cube.e ' + 'BCs/sides/boundary=Sides ' + 'Variables/libmesh_scalar_var/order=SECOND ' + 'AuxVariables/mfem_scalar_var/order=SECOND ' + 'Outputs/file_base=libmesh_parent_scalar_mfem_sub_tet_to_hex_order_2 ' + 'mfem_app0:Mesh/file=../../mesh/cube_tetmesh.e ' + 'mfem_app0:FESpaces/H1FESpace/fec_order=SECOND ' + [] + [] +[] diff --git a/test/tests/mfem/transfers/h1_mfem_parent_libmesh_sub/gold/mfem_parent_libmesh_sub_scalar_hexes.csv b/test/tests/mfem/transfers/h1_mfem_parent_libmesh_sub/gold/mfem_parent_libmesh_sub_scalar_hexes.csv new file mode 100644 index 000000000000..8b1f3c9a84a1 --- /dev/null +++ b/test/tests/mfem/transfers/h1_mfem_parent_libmesh_sub/gold/mfem_parent_libmesh_sub_scalar_hexes.csv @@ -0,0 +1,3 @@ +time,Difference +0,0 +1,2.9103003719817e-13 diff --git a/test/tests/mfem/transfers/h1_mfem_parent_libmesh_sub/gold/mfem_parent_libmesh_sub_scalar_hexes_order_2.csv b/test/tests/mfem/transfers/h1_mfem_parent_libmesh_sub/gold/mfem_parent_libmesh_sub_scalar_hexes_order_2.csv new file mode 100644 index 000000000000..d93e6ffd0e1b --- /dev/null +++ b/test/tests/mfem/transfers/h1_mfem_parent_libmesh_sub/gold/mfem_parent_libmesh_sub_scalar_hexes_order_2.csv @@ -0,0 +1,3 @@ +time,Difference +0,0 +1,5.5494705145483e-12 diff --git a/test/tests/mfem/transfers/h1_mfem_parent_libmesh_sub/gold/mfem_parent_libmesh_sub_scalar_quads.csv b/test/tests/mfem/transfers/h1_mfem_parent_libmesh_sub/gold/mfem_parent_libmesh_sub_scalar_quads.csv new file mode 100644 index 000000000000..656716740e58 --- /dev/null +++ b/test/tests/mfem/transfers/h1_mfem_parent_libmesh_sub/gold/mfem_parent_libmesh_sub_scalar_quads.csv @@ -0,0 +1,3 @@ +time,Difference +0,0 +1,2.9063525569169e-12 diff --git a/test/tests/mfem/transfers/h1_mfem_parent_libmesh_sub/gold/mfem_parent_libmesh_sub_scalar_quads_order_2.csv b/test/tests/mfem/transfers/h1_mfem_parent_libmesh_sub/gold/mfem_parent_libmesh_sub_scalar_quads_order_2.csv new file mode 100644 index 000000000000..48cc929bf7c9 --- /dev/null +++ b/test/tests/mfem/transfers/h1_mfem_parent_libmesh_sub/gold/mfem_parent_libmesh_sub_scalar_quads_order_2.csv @@ -0,0 +1,3 @@ +time,Difference +0,0 +1,1.994241594398e-10 diff --git a/test/tests/mfem/transfers/h1_mfem_parent_libmesh_sub/gold/mfem_parent_libmesh_sub_scalar_tet_to_hex.csv b/test/tests/mfem/transfers/h1_mfem_parent_libmesh_sub/gold/mfem_parent_libmesh_sub_scalar_tet_to_hex.csv new file mode 100644 index 000000000000..c04a4d240926 --- /dev/null +++ b/test/tests/mfem/transfers/h1_mfem_parent_libmesh_sub/gold/mfem_parent_libmesh_sub_scalar_tet_to_hex.csv @@ -0,0 +1,3 @@ +time,Difference +0,0 +1,0.015957011626437 diff --git a/test/tests/mfem/transfers/h1_mfem_parent_libmesh_sub/gold/mfem_parent_libmesh_sub_scalar_tet_to_hex_order_2.csv b/test/tests/mfem/transfers/h1_mfem_parent_libmesh_sub/gold/mfem_parent_libmesh_sub_scalar_tet_to_hex_order_2.csv new file mode 100644 index 000000000000..2b2e4fce4464 --- /dev/null +++ b/test/tests/mfem/transfers/h1_mfem_parent_libmesh_sub/gold/mfem_parent_libmesh_sub_scalar_tet_to_hex_order_2.csv @@ -0,0 +1,3 @@ +time,Difference +0,0 +1,0.00092963891833884 diff --git a/test/tests/mfem/transfers/h1_mfem_parent_libmesh_sub/gold/mfem_parent_libmesh_sub_scalar_tets.csv b/test/tests/mfem/transfers/h1_mfem_parent_libmesh_sub/gold/mfem_parent_libmesh_sub_scalar_tets.csv new file mode 100644 index 000000000000..078be472da79 --- /dev/null +++ b/test/tests/mfem/transfers/h1_mfem_parent_libmesh_sub/gold/mfem_parent_libmesh_sub_scalar_tets.csv @@ -0,0 +1,3 @@ +time,Difference +0,0 +1,9.5628630268476e-14 diff --git a/test/tests/mfem/transfers/h1_mfem_parent_libmesh_sub/gold/mfem_parent_libmesh_sub_scalar_tets_order_2.csv b/test/tests/mfem/transfers/h1_mfem_parent_libmesh_sub/gold/mfem_parent_libmesh_sub_scalar_tets_order_2.csv new file mode 100644 index 000000000000..d4df0f74a9f5 --- /dev/null +++ b/test/tests/mfem/transfers/h1_mfem_parent_libmesh_sub/gold/mfem_parent_libmesh_sub_scalar_tets_order_2.csv @@ -0,0 +1,3 @@ +time,Difference +0,0 +1,3.6357012099121e-12 diff --git a/test/tests/mfem/transfers/h1_mfem_parent_libmesh_sub/gold/mfem_parent_libmesh_sub_scalar_tri_to_quad.csv b/test/tests/mfem/transfers/h1_mfem_parent_libmesh_sub/gold/mfem_parent_libmesh_sub_scalar_tri_to_quad.csv new file mode 100644 index 000000000000..9a0f8c132367 --- /dev/null +++ b/test/tests/mfem/transfers/h1_mfem_parent_libmesh_sub/gold/mfem_parent_libmesh_sub_scalar_tri_to_quad.csv @@ -0,0 +1,3 @@ +time,Difference +0,0 +1,0.0021466426525849 diff --git a/test/tests/mfem/transfers/h1_mfem_parent_libmesh_sub/gold/mfem_parent_libmesh_sub_scalar_tri_to_quad_order_2.csv b/test/tests/mfem/transfers/h1_mfem_parent_libmesh_sub/gold/mfem_parent_libmesh_sub_scalar_tri_to_quad_order_2.csv new file mode 100644 index 000000000000..9931a8be680c --- /dev/null +++ b/test/tests/mfem/transfers/h1_mfem_parent_libmesh_sub/gold/mfem_parent_libmesh_sub_scalar_tri_to_quad_order_2.csv @@ -0,0 +1,3 @@ +time,Difference +0,0 +1,4.0839150945974e-05 diff --git a/test/tests/mfem/transfers/h1_mfem_parent_libmesh_sub/gold/mfem_parent_libmesh_sub_scalar_tris.csv b/test/tests/mfem/transfers/h1_mfem_parent_libmesh_sub/gold/mfem_parent_libmesh_sub_scalar_tris.csv new file mode 100644 index 000000000000..19bae6cd753c --- /dev/null +++ b/test/tests/mfem/transfers/h1_mfem_parent_libmesh_sub/gold/mfem_parent_libmesh_sub_scalar_tris.csv @@ -0,0 +1,3 @@ +time,Difference +0,0 +1,2.4190963385486e-11 diff --git a/test/tests/mfem/transfers/h1_mfem_parent_libmesh_sub/gold/mfem_parent_libmesh_sub_scalar_tris_order_2.csv b/test/tests/mfem/transfers/h1_mfem_parent_libmesh_sub/gold/mfem_parent_libmesh_sub_scalar_tris_order_2.csv new file mode 100644 index 000000000000..bb8262b66613 --- /dev/null +++ b/test/tests/mfem/transfers/h1_mfem_parent_libmesh_sub/gold/mfem_parent_libmesh_sub_scalar_tris_order_2.csv @@ -0,0 +1,3 @@ +time,Difference +0,0 +1,8.5202246448167e-11 diff --git a/test/tests/mfem/transfers/h1_mfem_parent_libmesh_sub/libmesh_sub_scalar.i b/test/tests/mfem/transfers/h1_mfem_parent_libmesh_sub/libmesh_sub_scalar.i new file mode 100644 index 000000000000..54295a6933c4 --- /dev/null +++ b/test/tests/mfem/transfers/h1_mfem_parent_libmesh_sub/libmesh_sub_scalar.i @@ -0,0 +1,39 @@ +[Mesh] + file = ../../mesh/square_quad9.e +[] + +[Problem] + type = FEProblem +[] + +[Variables] + [libmesh_scalar_var] + family = LAGRANGE + order = FIRST + [] +[] + +[BCs] + [sides] + type = DirichletBC + variable = libmesh_scalar_var + boundary = 'bottom left right top' + value = 1.0 + [] +[] + +[Kernels] + [diff] + type = Diffusion + variable = libmesh_scalar_var + [] + [source] + type = BodyForce + variable = libmesh_scalar_var + value = 2.0 + [] +[] + +[Executioner] + type = Steady +[] diff --git a/test/tests/mfem/transfers/h1_mfem_parent_libmesh_sub/mfem_parent_scalar.i b/test/tests/mfem/transfers/h1_mfem_parent_libmesh_sub/mfem_parent_scalar.i new file mode 100644 index 000000000000..04eb35f67d83 --- /dev/null +++ b/test/tests/mfem/transfers/h1_mfem_parent_libmesh_sub/mfem_parent_scalar.i @@ -0,0 +1,99 @@ +[Mesh] + type = MFEMMesh + file = ../../mesh/square_quad9.e +[] + +[Problem] + type = MFEMProblem +[] + +[FESpaces] + [H1FESpace] + type = MFEMScalarFESpace + fec_type = H1 + fec_order = FIRST + [] +[] + +[Variables] + [mfem_scalar_var] + type = MFEMVariable + fespace = H1FESpace + [] + [libmesh_scalar_var] + type = MFEMVariable + fespace = H1FESpace + [] +[] + +[BCs] + [sides] + type = MFEMScalarDirichletBC + variable = mfem_scalar_var + coefficient = 1.0 + [] +[] + +[Kernels] + [diff] + type = MFEMDiffusionKernel + variable = mfem_scalar_var + [] + [source] + type = MFEMDomainLFKernel + variable = mfem_scalar_var + coefficient = 2.0 + [] +[] + +[Preconditioner] + [boomeramg] + type = MFEMHypreBoomerAMG + [] + [jacobi] + type = MFEMOperatorJacobiSmoother + [] +[] + +[Solver] + type = MFEMHypreGMRES + preconditioner = boomeramg + l_tol = 1e-12 + l_max_its = 1000 +[] + +[Executioner] + type = MFEMSteady + device = cpu +[] + +[MultiApps] + [libmesh_app] + type = FullSolveMultiApp + input_files = libmesh_sub_scalar.i + execute_on = 'INITIAL' + [] +[] + +[Transfers] + [transfer_from_libmesh] + type = MultiApplibMeshToMFEMShapeEvaluationTransfer + source_variables = libmesh_scalar_var + variables = libmesh_scalar_var + from_multi_app = libmesh_app + [] +[] + +[Postprocessors] + [Difference] + type = MFEML2Error + variable = mfem_scalar_var + function = libmesh_scalar_var + execute_on = TIMESTEP_END + [] +[] + +[Outputs] + file_base = 'mfem_parent_libmesh_sub_scalar_quads' + csv = true +[] diff --git a/test/tests/mfem/transfers/h1_mfem_parent_libmesh_sub/tests b/test/tests/mfem/transfers/h1_mfem_parent_libmesh_sub/tests new file mode 100644 index 000000000000..ccdd1153e820 --- /dev/null +++ b/test/tests/mfem/transfers/h1_mfem_parent_libmesh_sub/tests @@ -0,0 +1,176 @@ +[Tests] + design = 'MultiApplibMeshToMFEMShapeEvaluationTransfer.md' + issues = '#31982' + [MFEMTransferFromlibMesh] + requirement = 'The system shall have the ability to transfer libMesh solutions to MFEM for ' + [H1Quad] + type = CSVDiff + input = mfem_parent_scalar.i + csvdiff = 'mfem_parent_libmesh_sub_scalar_quads.csv' + detail = 'first order scalar Lagrange variables defined on quads,' + abs_zero = 1e-8 + capabilities = 'mfem' + recover = false + compute_devices = 'cpu cuda' + [] + [H1QuadSecondOrder] + type = CSVDiff + input = mfem_parent_scalar.i + csvdiff = 'mfem_parent_libmesh_sub_scalar_quads_order_2.csv' + detail = 'second order scalar Lagrange variables defined on quads,' + abs_zero = 1e-8 + capabilities = 'mfem' + recover = false + compute_devices = 'cpu cuda' + cli_args = 'FESpaces/H1FESpace/fec_order=SECOND ' + 'libmesh_app0:Variables/libmesh_scalar_var/order=SECOND ' + 'Outputs/file_base=mfem_parent_libmesh_sub_scalar_quads_order_2 ' + [] + [H1Tri] + type = CSVDiff + input = mfem_parent_scalar.i + csvdiff = 'mfem_parent_libmesh_sub_scalar_tris.csv' + detail = 'first order scalar Lagrange variables defined on tris,' + abs_zero = 1e-8 + capabilities = 'mfem' + recover = false + compute_devices = 'cpu cuda' + cli_args = 'Mesh/file=../../mesh/square_tri.e ' + 'libmesh_app0:Mesh/file=../../mesh/square_tri.e ' + 'Outputs/file_base=mfem_parent_libmesh_sub_scalar_tris ' + [] + [H1TriSecondOrder] + type = CSVDiff + input = mfem_parent_scalar.i + csvdiff = 'mfem_parent_libmesh_sub_scalar_tris_order_2.csv' + detail = 'second order Lagrange variables defined on tris,' + abs_zero = 1e-8 + capabilities = 'mfem' + recover = false + compute_devices = 'cpu cuda' + cli_args = 'Mesh/file=../../mesh/square_tri.e ' + 'FESpaces/H1FESpace/fec_order=SECOND ' + 'Outputs/file_base=mfem_parent_libmesh_sub_scalar_tris_order_2 ' + 'libmesh_app0:Mesh/file=../../mesh/square_tri.e ' + 'libmesh_app0:Variables/libmesh_scalar_var/order=SECOND ' + [] + [H1TriToQuad] + type = CSVDiff + input = mfem_parent_scalar.i + csvdiff = 'mfem_parent_libmesh_sub_scalar_tri_to_quad.csv' + detail = 'first order scalar Lagrange variables from tris to quads,' + abs_zero = 1e-8 + capabilities = 'mfem' + recover = false + compute_devices = 'cpu cuda' + cli_args = 'Mesh/file=../../mesh/square_quad9.e ' + 'libmesh_app0:Mesh/file=../../mesh/square_tri.e ' + 'Outputs/file_base=mfem_parent_libmesh_sub_scalar_tri_to_quad ' + [] + [H1TriToQuadSecondOrder] + type = CSVDiff + input = mfem_parent_scalar.i + csvdiff = 'mfem_parent_libmesh_sub_scalar_tri_to_quad_order_2.csv' + detail = 'second order Lagrange variables from tris to quads,' + abs_zero = 1e-8 + capabilities = 'mfem' + recover = false + compute_devices = 'cpu cuda' + cli_args = 'Mesh/file=../../mesh/square_quad9.e ' + 'FESpaces/H1FESpace/fec_order=SECOND ' + 'Outputs/file_base=mfem_parent_libmesh_sub_scalar_tri_to_quad_order_2 ' + 'libmesh_app0:Mesh/file=../../mesh/square_tri.e ' + 'libmesh_app0:Variables/libmesh_scalar_var/order=SECOND ' + [] + [H1Hex] + type = CSVDiff + input = mfem_parent_scalar.i + csvdiff = 'mfem_parent_libmesh_sub_scalar_hexes.csv' + detail = 'first order scalar Lagrange variables defined on hexes,' + abs_zero = 1e-8 + capabilities = 'mfem' + recover = false + compute_devices = 'cpu cuda' + cli_args = 'Mesh/file=../../mesh/cube.e ' + 'Outputs/file_base=mfem_parent_libmesh_sub_scalar_hexes ' + 'libmesh_app0::BCs/sides/boundary=Sides ' + 'libmesh_app0::Mesh/file=../../mesh/cube.e ' + [] + [H1HexSecondOrder] + type = CSVDiff + input = mfem_parent_scalar.i + csvdiff = 'mfem_parent_libmesh_sub_scalar_hexes_order_2.csv' + detail = 'second order scalar Lagrange variables defined on hexes,' + abs_zero = 1e-8 + capabilities = 'mfem' + recover = false + compute_devices = 'cpu cuda' + cli_args = 'Mesh/file=../../mesh/cube.e ' + 'FESpaces/H1FESpace/fec_order=SECOND ' + 'Outputs/file_base=mfem_parent_libmesh_sub_scalar_hexes_order_2 ' + 'libmesh_app0::BCs/sides/boundary=Sides ' + 'libmesh_app0::Mesh/file=../../mesh/cube.e ' + 'libmesh_app0:Variables/libmesh_scalar_var/order=SECOND ' + [] + [H1Tet] + type = CSVDiff + input = mfem_parent_scalar.i + csvdiff = 'mfem_parent_libmesh_sub_scalar_tets.csv' + detail = 'first order scalar Lagrange variables defined on tetrahedra,' + abs_zero = 1e-8 + capabilities = 'mfem' + recover = false + compute_devices = 'cpu cuda' + cli_args = 'Mesh/file=../../mesh/cube_tetmesh.e ' + 'Outputs/file_base=mfem_parent_libmesh_sub_scalar_tets ' + 'libmesh_app0::BCs/sides/boundary=Sides ' + 'libmesh_app0::Mesh/file=../../mesh/cube_tetmesh.e ' + [] + [H1TetSecondOrder] + type = CSVDiff + input = mfem_parent_scalar.i + csvdiff = 'mfem_parent_libmesh_sub_scalar_tets_order_2.csv' + detail = 'second order scalar Lagrange variables defined on tetrahedra,' + abs_zero = 1e-8 + capabilities = 'mfem' + recover = false + compute_devices = 'cpu cuda' + cli_args = 'Mesh/file=../../mesh/cube_tetmesh.e ' + 'FESpaces/H1FESpace/fec_order=SECOND ' + 'Outputs/file_base=mfem_parent_libmesh_sub_scalar_tets_order_2 ' + 'libmesh_app0::BCs/sides/boundary=Sides ' + 'libmesh_app0::Mesh/file=../../mesh/cube_tetmesh.e ' + 'libmesh_app0:Variables/libmesh_scalar_var/order=SECOND ' + [] + [H1TetToHex] + type = CSVDiff + input = mfem_parent_scalar.i + csvdiff = 'mfem_parent_libmesh_sub_scalar_tet_to_hex.csv' + detail = 'first order scalar Lagrange variables from tets to hexes,' + abs_zero = 1e-8 + capabilities = 'mfem' + recover = false + compute_devices = 'cpu cuda' + cli_args = 'Mesh/file=../../mesh/cube.e ' + 'Outputs/file_base=mfem_parent_libmesh_sub_scalar_tet_to_hex ' + 'libmesh_app0::BCs/sides/boundary=Sides ' + 'libmesh_app0::Mesh/file=../../mesh/cube_tetmesh.e ' + [] + [H1TetToHexSecondOrder] + type = CSVDiff + input = mfem_parent_scalar.i + csvdiff = 'mfem_parent_libmesh_sub_scalar_tet_to_hex_order_2.csv' + detail = 'and second order scalar Lagrange variables from tets to hexes.' + abs_zero = 1e-8 + capabilities = 'mfem' + recover = false + compute_devices = 'cpu cuda' + cli_args = 'Mesh/file=../../mesh/cube.e ' + 'FESpaces/H1FESpace/fec_order=SECOND ' + 'Outputs/file_base=mfem_parent_libmesh_sub_scalar_tet_to_hex_order_2 ' + 'libmesh_app0::BCs/sides/boundary=Sides ' + 'libmesh_app0::Mesh/file=../../mesh/cube_tetmesh.e ' + 'libmesh_app0:Variables/libmesh_scalar_var/order=SECOND ' + [] + [] +[] diff --git a/test/tests/mfem/transfers/h1_mfem_parent_mfem_sub/tests b/test/tests/mfem/transfers/h1_mfem_parent_mfem_sub/tests deleted file mode 100644 index a821f6ad5a44..000000000000 --- a/test/tests/mfem/transfers/h1_mfem_parent_mfem_sub/tests +++ /dev/null @@ -1,105 +0,0 @@ -[Tests] - design = MultiAppMFEMCopyTransfer.md - [FromSubToParent] - requirement = 'The system shall be able to copy MFEM variable data from a sub-application to the parent application, verified through ' - issues = '#29632' - [run] - type = RunApp - input = parent.i - capabilities = 'mfem' - compute_devices = 'cpu cuda' - recover = false - detail = 'running the inputs, and ' - [] - [verify] - type = RunCommand - command = '../check.sh - u - OutputData/Diffusion/Run0/Cycle000001/proc000000.vtu - u - OutputData/DiffusionSub/Run0/Cycle000001/proc000000.vtu' - prereq = FromSubToParent/run - capabilities = 'mfem' - recover = false - detail = 'checking the sub-application and parent application outputs against each other.' - [] - [] - [ToSubFromParent] - requirement = 'The system shall be able to copy MFEM variable data from a parent application to a sub-application, verified through ' - issues = '#29632' - [run] - type = RunApp - input = sub.i - capabilities = 'mfem' - compute_devices = 'cpu cuda' - recover = false - cli_args = 'MultiApps/active=subapp Transfers/active=to_sub ' - 'subapp:MultiApps/active="" subapp:Transfers/active=""' - detail = 'running the inputs, and ' - [] - [verify] - type = RunCommand - command = '../check.sh - u - OutputData/Diffusion/Run0/Cycle000001/proc000000.vtu - u - OutputData/DiffusionSub/Run0/Cycle000001/proc000000.vtu' - prereq = ToSubFromParent/run - capabilities = 'mfem' - recover = false - detail = 'checking the sub-application and parent application outputs against each other.' - [] - [] - [ComplexFromSubToParent] - requirement = 'The system shall be able to copy complex MFEM variable data from a sub-application to the parent application, verified through ' - issues = '#32008' - [run] - type = RunApp - input = parent_complex.i - capabilities = 'mfem' - compute_devices = 'cpu cuda' - recover = false - detail = 'running the inputs, and ' - max_parallel = 1 # idaholab/moose#32250 - [] - [verify] - type = RunCommand - command = '../check.sh - u - OutputData/DiffusionComplex/Run0/Cycle000001/proc000000.vtu - u - OutputData/DiffusionSubComplex/Run0/Cycle000001/proc000000.vtu' - prereq = ComplexFromSubToParent/run - capabilities = 'mfem' - recover = false - detail = 'checking the complex sub-application and complex parent application outputs against each other.' - [] - [] - [ComplexToSubFromParent] - requirement = 'The system shall be able to copy complex MFEM variable data from a parent application to a sub-application, verified through ' - issues = '#32008' - [run] - type = RunApp - input = sub_complex.i - capabilities = 'mfem' - compute_devices = 'cpu cuda' - recover = false - cli_args = 'MultiApps/active=subapp Transfers/active=to_sub ' - 'subapp:MultiApps/active="" subapp:Transfers/active=""' - detail = 'running the inputs, and ' - max_parallel = 1 # idaholab/moose#32250 - [] - [verify] - type = RunCommand - command = '../check.sh - u - OutputData/DiffusionComplex/Run0/Cycle000001/proc000000.vtu - u - OutputData/DiffusionSubComplex/Run0/Cycle000001/proc000000.vtu' - prereq = ComplexToSubFromParent/run - capabilities = 'mfem' - recover = false - detail = 'checking the complex sub-application and complex parent application outputs against each other.' - [] - [] -[] diff --git a/test/tests/mfem/transfers/h1_mfem_sub_mfem_sub/tests b/test/tests/mfem/transfers/h1_mfem_sub_mfem_sub/tests deleted file mode 100644 index 3212dde83d2c..000000000000 --- a/test/tests/mfem/transfers/h1_mfem_sub_mfem_sub/tests +++ /dev/null @@ -1,36 +0,0 @@ -[Tests] - issues = '#29632' - design = MultiAppMFEMCopyTransfer.md - [test] - requirement = 'The system shall be able to copy MFEM variable data between sub-applications, verified through ' - [run] - type = RunApp - input = parent.i - capabilities = 'mfem' - compute_devices = 'cpu cuda' - recover = false - detail = 'running the inputs, and ' - [] - [verify] - type = RunCommand - command = '../check.sh - recv - OutputData/DiffusionRecvApp/Run0/Cycle000001/proc000000.vtu - send - OutputData/DiffusionSendApp/Run0/Cycle000001/proc000000.vtu' - prereq = test/run - capabilities = 'mfem' - recover = false - detail = 'checking the sub-application and parent application outputs against each other.' - [] - [] - [error] - requirement = 'The system shall error if different applications request different devices.' - input = parent.i - type = RunException - expect_err = "Attempted to configure with MFEM devices 'cpu', but we have already configured the MFEM device object with the devices 'cuda'" - cli_args = recv_app:Executioner/device=cpu - capabilities = mfem - compute_devices = cuda - [] -[] diff --git a/test/tests/mfem/transfers/l2_libmesh_parent_mfem_sub/gold/libmesh_parent_scalar_mfem_sub_hexes.csv b/test/tests/mfem/transfers/l2_libmesh_parent_mfem_sub/gold/libmesh_parent_scalar_mfem_sub_hexes.csv new file mode 100644 index 000000000000..cd303d58f831 --- /dev/null +++ b/test/tests/mfem/transfers/l2_libmesh_parent_mfem_sub/gold/libmesh_parent_scalar_mfem_sub_hexes.csv @@ -0,0 +1,3 @@ +time,Difference +0,0 +1,0 diff --git a/test/tests/mfem/transfers/l2_libmesh_parent_mfem_sub/gold/libmesh_parent_scalar_mfem_sub_quads.csv b/test/tests/mfem/transfers/l2_libmesh_parent_mfem_sub/gold/libmesh_parent_scalar_mfem_sub_quads.csv new file mode 100644 index 000000000000..70b6bffe453f --- /dev/null +++ b/test/tests/mfem/transfers/l2_libmesh_parent_mfem_sub/gold/libmesh_parent_scalar_mfem_sub_quads.csv @@ -0,0 +1,3 @@ +time,Difference +0,0 +1,8.1820168722961e-17 diff --git a/test/tests/mfem/transfers/l2_libmesh_parent_mfem_sub/gold/libmesh_parent_scalar_mfem_sub_tet_to_hex.csv b/test/tests/mfem/transfers/l2_libmesh_parent_mfem_sub/gold/libmesh_parent_scalar_mfem_sub_tet_to_hex.csv new file mode 100644 index 000000000000..57246c778fd2 --- /dev/null +++ b/test/tests/mfem/transfers/l2_libmesh_parent_mfem_sub/gold/libmesh_parent_scalar_mfem_sub_tet_to_hex.csv @@ -0,0 +1,3 @@ +time,Difference +0,0 +1,0.022690141372236 diff --git a/test/tests/mfem/transfers/l2_libmesh_parent_mfem_sub/gold/libmesh_parent_scalar_mfem_sub_tets.csv b/test/tests/mfem/transfers/l2_libmesh_parent_mfem_sub/gold/libmesh_parent_scalar_mfem_sub_tets.csv new file mode 100644 index 000000000000..bd99365a2fac --- /dev/null +++ b/test/tests/mfem/transfers/l2_libmesh_parent_mfem_sub/gold/libmesh_parent_scalar_mfem_sub_tets.csv @@ -0,0 +1,3 @@ +time,Difference +0,0 +1,2.2628100342287e-17 diff --git a/test/tests/mfem/transfers/l2_libmesh_parent_mfem_sub/gold/libmesh_parent_scalar_mfem_sub_tri_to_quad.csv b/test/tests/mfem/transfers/l2_libmesh_parent_mfem_sub/gold/libmesh_parent_scalar_mfem_sub_tri_to_quad.csv new file mode 100644 index 000000000000..3589da1d824c --- /dev/null +++ b/test/tests/mfem/transfers/l2_libmesh_parent_mfem_sub/gold/libmesh_parent_scalar_mfem_sub_tri_to_quad.csv @@ -0,0 +1,3 @@ +time,Difference +0,0 +1,0.030678109531355 diff --git a/test/tests/mfem/transfers/l2_libmesh_parent_mfem_sub/gold/libmesh_parent_scalar_mfem_sub_tris.csv b/test/tests/mfem/transfers/l2_libmesh_parent_mfem_sub/gold/libmesh_parent_scalar_mfem_sub_tris.csv new file mode 100644 index 000000000000..3feaa6e03d84 --- /dev/null +++ b/test/tests/mfem/transfers/l2_libmesh_parent_mfem_sub/gold/libmesh_parent_scalar_mfem_sub_tris.csv @@ -0,0 +1,3 @@ +time,Difference +0,0 +1,1.596016667362e-16 diff --git a/test/tests/mfem/transfers/l2_libmesh_parent_mfem_sub/libmesh_parent_scalar.i b/test/tests/mfem/transfers/l2_libmesh_parent_mfem_sub/libmesh_parent_scalar.i new file mode 100644 index 000000000000..26fc97b81176 --- /dev/null +++ b/test/tests/mfem/transfers/l2_libmesh_parent_mfem_sub/libmesh_parent_scalar.i @@ -0,0 +1,71 @@ +[Mesh] + file = ../../mesh/square_quad9.e +[] + +[Problem] + type = FEProblem + solve = false +[] + +[Variables] + [libmesh_scalar_var] + family = MONOMIAL + order = CONSTANT + [] +[] + +[AuxVariables] + [mfem_scalar_var] # libmesh representation of mfem variable + family = MONOMIAL + order = CONSTANT + [] +[] + +[Functions] + [parsed_function] + type = ParsedFunction + expression = 'x*x + y*y' + [] +[] + +[ICs] + [libmesh_scalar_var_ic] + type = FunctionIC + variable = 'libmesh_scalar_var' + function = parsed_function + [] +[] + +[Executioner] + type = Steady +[] + +[Outputs] + file_base = 'libmesh_parent_scalar_mfem_sub_quads' + csv = true +[] + +[Postprocessors] + [Difference] + type = ElementL2Difference + variable = libmesh_scalar_var + other_variable = mfem_scalar_var + [] +[] + +[MultiApps] + [mfem_app] + type = FullSolveMultiApp + input_files = mfem_sub_scalar.i + execute_on = 'INITIAL' + [] +[] + +[Transfers] + [transfer_from_mfem] + type = MultiAppMFEMTolibMeshShapeEvaluationTransfer + source_variables = temperature + variables = mfem_scalar_var + from_multi_app = mfem_app + [] +[] diff --git a/test/tests/mfem/transfers/l2_libmesh_parent_mfem_sub/mfem_sub_scalar.i b/test/tests/mfem/transfers/l2_libmesh_parent_mfem_sub/mfem_sub_scalar.i new file mode 100644 index 000000000000..c0330d3fedbd --- /dev/null +++ b/test/tests/mfem/transfers/l2_libmesh_parent_mfem_sub/mfem_sub_scalar.i @@ -0,0 +1,44 @@ +[Mesh] + type = MFEMMesh + file = ../../mesh/square_quad9.e +[] + +[Problem] + type = MFEMProblem + solve = false +[] + +[FESpaces] + [L2FESpace] + type = MFEMScalarFESpace + fec_type = L2 + fec_order = CONSTANT + [] +[] + +[Variables] + [temperature] + type = MFEMVariable + fespace = L2FESpace + [] +[] + +[Functions] + [parsed_function] + type = ParsedFunction + expression = 'x*x + y*y' + [] +[] + +[ICs] + [libmesh_scalar_var_ic] + type = MFEMScalarIC + variable = 'temperature' + coefficient = parsed_function + [] +[] + +[Executioner] + type = MFEMSteady + device = cpu +[] diff --git a/test/tests/mfem/transfers/l2_libmesh_parent_mfem_sub/tests b/test/tests/mfem/transfers/l2_libmesh_parent_mfem_sub/tests new file mode 100644 index 000000000000..cb7a25f218af --- /dev/null +++ b/test/tests/mfem/transfers/l2_libmesh_parent_mfem_sub/tests @@ -0,0 +1,82 @@ +[Tests] + design = 'MultiAppMFEMTolibMeshShapeEvaluationTransfer.md' + issues = '#31982' + [MFEMTransferTolibMesh] + requirement = 'The system shall have the ability to transfer MFEM solutions to libMesh for' + [L2Quad] + type = CSVDiff + input = libmesh_parent_scalar.i + csvdiff = 'libmesh_parent_scalar_mfem_sub_quads.csv' + detail = 'constant elemental variables defined on quads,' + abs_zero = 1e-8 + capabilities = 'mfem' + recover = false + compute_devices = 'cpu cuda' + [] + [L2Tri] + type = CSVDiff + input = libmesh_parent_scalar.i + csvdiff = 'libmesh_parent_scalar_mfem_sub_tris.csv' + detail = 'constant elemental variables defined on tris,' + abs_zero = 1e-8 + capabilities = 'mfem' + recover = false + compute_devices = 'cpu cuda' + cli_args = 'Mesh/file=../../mesh/square_tri.e ' + 'Outputs/file_base=libmesh_parent_scalar_mfem_sub_tris ' + 'mfem_app0:Mesh/file=../../mesh/square_tri.e ' + [] + [L2TriToQuad] + type = CSVDiff + input = libmesh_parent_scalar.i + csvdiff = 'libmesh_parent_scalar_mfem_sub_tri_to_quad.csv' + detail = 'constant elemental variables from tris to quads,' + abs_zero = 1e-8 + capabilities = 'mfem' + recover = false + compute_devices = 'cpu cuda' + cli_args = 'Mesh/file=../../mesh/square_quad9.e ' + 'Outputs/file_base=libmesh_parent_scalar_mfem_sub_tri_to_quad ' + 'mfem_app0:Mesh/file=../../mesh/square_tri.e ' + [] + [L2Hex] + type = CSVDiff + input = libmesh_parent_scalar.i + csvdiff = 'libmesh_parent_scalar_mfem_sub_hexes.csv' + detail = 'constant elemental variables defined on hexes,' + abs_zero = 1e-8 + capabilities = 'mfem' + recover = false + compute_devices = 'cpu cuda' + cli_args = 'Mesh/file=../../mesh/cube.e ' + 'Outputs/file_base=libmesh_parent_scalar_mfem_sub_hexes ' + 'mfem_app0:Mesh/file=../../mesh/cube.e ' + [] + [L2Tet] + type = CSVDiff + input = libmesh_parent_scalar.i + csvdiff = 'libmesh_parent_scalar_mfem_sub_tets.csv' + detail = 'constant elemental variables defined on tetrahedra,' + abs_zero = 1e-8 + capabilities = 'mfem' + recover = false + compute_devices = 'cpu cuda' + cli_args = 'Mesh/file=../../mesh/cube_tetmesh.e ' + 'Outputs/file_base=libmesh_parent_scalar_mfem_sub_tets ' + 'mfem_app0:Mesh/file=../../mesh/cube_tetmesh.e ' + [] + [L2TetToHex] + type = CSVDiff + input = libmesh_parent_scalar.i + csvdiff = 'libmesh_parent_scalar_mfem_sub_tet_to_hex.csv' + detail = 'and constant elemental variables from tets to hexes.' + abs_zero = 1e-8 + capabilities = 'mfem' + recover = false + compute_devices = 'cpu cuda' + cli_args = 'Mesh/file=../../mesh/cube.e ' + 'Outputs/file_base=libmesh_parent_scalar_mfem_sub_tet_to_hex ' + 'mfem_app0:Mesh/file=../../mesh/cube_tetmesh.e ' + [] + [] +[] diff --git a/test/tests/mfem/transfers/l2_mfem_parent_libmesh_sub/gold/mfem_parent_libmesh_sub_scalar_hexes.csv b/test/tests/mfem/transfers/l2_mfem_parent_libmesh_sub/gold/mfem_parent_libmesh_sub_scalar_hexes.csv new file mode 100644 index 000000000000..cd303d58f831 --- /dev/null +++ b/test/tests/mfem/transfers/l2_mfem_parent_libmesh_sub/gold/mfem_parent_libmesh_sub_scalar_hexes.csv @@ -0,0 +1,3 @@ +time,Difference +0,0 +1,0 diff --git a/test/tests/mfem/transfers/l2_mfem_parent_libmesh_sub/gold/mfem_parent_libmesh_sub_scalar_quads.csv b/test/tests/mfem/transfers/l2_mfem_parent_libmesh_sub/gold/mfem_parent_libmesh_sub_scalar_quads.csv new file mode 100644 index 000000000000..70b6bffe453f --- /dev/null +++ b/test/tests/mfem/transfers/l2_mfem_parent_libmesh_sub/gold/mfem_parent_libmesh_sub_scalar_quads.csv @@ -0,0 +1,3 @@ +time,Difference +0,0 +1,8.1820168722961e-17 diff --git a/test/tests/mfem/transfers/l2_mfem_parent_libmesh_sub/gold/mfem_parent_libmesh_sub_scalar_tet_to_hex.csv b/test/tests/mfem/transfers/l2_mfem_parent_libmesh_sub/gold/mfem_parent_libmesh_sub_scalar_tet_to_hex.csv new file mode 100644 index 000000000000..57246c778fd2 --- /dev/null +++ b/test/tests/mfem/transfers/l2_mfem_parent_libmesh_sub/gold/mfem_parent_libmesh_sub_scalar_tet_to_hex.csv @@ -0,0 +1,3 @@ +time,Difference +0,0 +1,0.022690141372236 diff --git a/test/tests/mfem/transfers/l2_mfem_parent_libmesh_sub/gold/mfem_parent_libmesh_sub_scalar_tets.csv b/test/tests/mfem/transfers/l2_mfem_parent_libmesh_sub/gold/mfem_parent_libmesh_sub_scalar_tets.csv new file mode 100644 index 000000000000..bd99365a2fac --- /dev/null +++ b/test/tests/mfem/transfers/l2_mfem_parent_libmesh_sub/gold/mfem_parent_libmesh_sub_scalar_tets.csv @@ -0,0 +1,3 @@ +time,Difference +0,0 +1,2.2628100342287e-17 diff --git a/test/tests/mfem/transfers/l2_mfem_parent_libmesh_sub/gold/mfem_parent_libmesh_sub_scalar_tri_to_quad.csv b/test/tests/mfem/transfers/l2_mfem_parent_libmesh_sub/gold/mfem_parent_libmesh_sub_scalar_tri_to_quad.csv new file mode 100644 index 000000000000..14ac361bc1e5 --- /dev/null +++ b/test/tests/mfem/transfers/l2_mfem_parent_libmesh_sub/gold/mfem_parent_libmesh_sub_scalar_tri_to_quad.csv @@ -0,0 +1,3 @@ +time,Difference +0,0 +1,0.030647429800649 diff --git a/test/tests/mfem/transfers/l2_mfem_parent_libmesh_sub/gold/mfem_parent_libmesh_sub_scalar_tris.csv b/test/tests/mfem/transfers/l2_mfem_parent_libmesh_sub/gold/mfem_parent_libmesh_sub_scalar_tris.csv new file mode 100644 index 000000000000..3feaa6e03d84 --- /dev/null +++ b/test/tests/mfem/transfers/l2_mfem_parent_libmesh_sub/gold/mfem_parent_libmesh_sub_scalar_tris.csv @@ -0,0 +1,3 @@ +time,Difference +0,0 +1,1.596016667362e-16 diff --git a/test/tests/mfem/transfers/l2_mfem_parent_libmesh_sub/libmesh_sub_scalar.i b/test/tests/mfem/transfers/l2_mfem_parent_libmesh_sub/libmesh_sub_scalar.i new file mode 100644 index 000000000000..fcad4283d587 --- /dev/null +++ b/test/tests/mfem/transfers/l2_mfem_parent_libmesh_sub/libmesh_sub_scalar.i @@ -0,0 +1,34 @@ +[Mesh] + file = ../../mesh/square_quad9.e +[] + +[Problem] + type = FEProblem + solve = false +[] + +[Variables] + [libmesh_scalar_var] + family = MONOMIAL + order = CONSTANT + [] +[] + +[Functions] + [parsed_function] + type = ParsedFunction + expression = 'x*x + y*y' + [] +[] + +[ICs] + [libmesh_scalar_var_ic] + type = FunctionIC + variable = 'libmesh_scalar_var' + function = parsed_function + [] +[] + +[Executioner] + type = Steady +[] diff --git a/test/tests/mfem/transfers/l2_mfem_parent_libmesh_sub/mfem_parent_scalar.i b/test/tests/mfem/transfers/l2_mfem_parent_libmesh_sub/mfem_parent_scalar.i new file mode 100644 index 000000000000..5dc8bd5a4fa6 --- /dev/null +++ b/test/tests/mfem/transfers/l2_mfem_parent_libmesh_sub/mfem_parent_scalar.i @@ -0,0 +1,82 @@ +[Mesh] + type = MFEMMesh + file = ../../mesh/square_quad9.e +[] + +[Problem] + type = MFEMProblem + solve = false +[] + +[FESpaces] + [L2FESpace] + type = MFEMScalarFESpace + fec_type = L2 + fec_order = CONSTANT + [] +[] + +[Variables] + [mfem_scalar_var] + type = MFEMVariable + fespace = L2FESpace + [] +[] + +[AuxVariables] + [libmesh_scalar_var] + type = MFEMVariable + fespace = L2FESpace + [] +[] + +[Functions] + [parsed_function] + type = ParsedFunction + expression = 'x*x + y*y' + [] +[] + +[ICs] + [libmesh_scalar_var_ic] + type = MFEMScalarIC + variable = 'mfem_scalar_var' + coefficient = parsed_function + [] +[] + +[Executioner] + type = MFEMSteady + device = cpu +[] + +[MultiApps] + [libmesh_app] + type = FullSolveMultiApp + input_files = libmesh_sub_scalar.i + execute_on = 'INITIAL' + [] +[] + +[Transfers] + [transfer_from_libmesh] + type = MultiApplibMeshToMFEMShapeEvaluationTransfer + source_variables = libmesh_scalar_var + variables = libmesh_scalar_var + from_multi_app = libmesh_app + [] +[] + +[Postprocessors] + [Difference] + type = MFEML2Error + variable = mfem_scalar_var + function = libmesh_scalar_var + execute_on = TIMESTEP_END + [] +[] + +[Outputs] + file_base = 'mfem_parent_libmesh_sub_scalar_quads' + csv = true +[] diff --git a/test/tests/mfem/transfers/l2_mfem_parent_libmesh_sub/tests b/test/tests/mfem/transfers/l2_mfem_parent_libmesh_sub/tests new file mode 100644 index 000000000000..f717d72f69d2 --- /dev/null +++ b/test/tests/mfem/transfers/l2_mfem_parent_libmesh_sub/tests @@ -0,0 +1,82 @@ +[Tests] + design = 'MultiApplibMeshToMFEMShapeEvaluationTransfer.md' + issues = '#31982' + [MFEMTransferFromlibMesh] + requirement = 'The system shall have the ability to transfer libMesh solutions to MFEM for' + [L2Quad] + type = CSVDiff + input = mfem_parent_scalar.i + csvdiff = 'mfem_parent_libmesh_sub_scalar_quads.csv' + detail = 'scalar elemental variables defined on quads,' + abs_zero = 1e-8 + capabilities = 'mfem' + recover = false + compute_devices = 'cpu cuda' + [] + [L2Tri] + type = CSVDiff + input = mfem_parent_scalar.i + csvdiff = 'mfem_parent_libmesh_sub_scalar_tris.csv' + detail = 'constant elemental variables defined on tris,' + abs_zero = 1e-8 + capabilities = 'mfem' + recover = false + compute_devices = 'cpu cuda' + cli_args = 'Mesh/file=../../mesh/square_tri.e ' + 'Outputs/file_base=mfem_parent_libmesh_sub_scalar_tris ' + 'libmesh_app0:Mesh/file=../../mesh/square_tri.e ' + [] + [L2TriToQuad] + type = CSVDiff + input = mfem_parent_scalar.i + csvdiff = 'mfem_parent_libmesh_sub_scalar_tri_to_quad.csv' + detail = 'constant elemental variables from tris to quads,' + abs_zero = 1e-8 + capabilities = 'mfem' + recover = false + compute_devices = 'cpu cuda' + cli_args = 'Mesh/file=../../mesh/square_quad9.e ' + 'Outputs/file_base=mfem_parent_libmesh_sub_scalar_tri_to_quad ' + 'libmesh_app0:Mesh/file=../../mesh/square_tri.e ' + [] + [L2Hex] + type = CSVDiff + input = mfem_parent_scalar.i + csvdiff = 'mfem_parent_libmesh_sub_scalar_hexes.csv' + detail = 'constant elemental variables defined on hexes,' + abs_zero = 1e-8 + capabilities = 'mfem' + recover = false + compute_devices = 'cpu cuda' + cli_args = 'Mesh/file=../../mesh/cube.e ' + 'Outputs/file_base=mfem_parent_libmesh_sub_scalar_hexes ' + 'libmesh_app0::Mesh/file=../../mesh/cube.e ' + [] + [L2Tet] + type = CSVDiff + input = mfem_parent_scalar.i + csvdiff = 'mfem_parent_libmesh_sub_scalar_tets.csv' + detail = 'constant elemental variables defined on tetrahedra,' + abs_zero = 1e-8 + capabilities = 'mfem' + recover = false + compute_devices = 'cpu cuda' + cli_args = 'Mesh/file=../../mesh/cube_tetmesh.e ' + 'Outputs/file_base=mfem_parent_libmesh_sub_scalar_tets ' + 'libmesh_app0::Mesh/file=../../mesh/cube_tetmesh.e ' + [] + [L2TetToHex] + type = CSVDiff + input = mfem_parent_scalar.i + csvdiff = 'mfem_parent_libmesh_sub_scalar_tet_to_hex.csv' + detail = 'and constant elemental variables from tets to hexes.' + abs_zero = 1e-8 + capabilities = 'mfem' + recover = false + compute_devices = 'cpu cuda' + cli_args = 'Mesh/file=../../mesh/cube.e ' + 'Outputs/file_base=mfem_parent_libmesh_sub_scalar_tet_to_hex ' + 'libmesh_app0::Mesh/file=../../mesh/cube_tetmesh.e ' + [] + [] +[] diff --git a/test/tests/mfem/transfers/mfem_parent_mfem_sub/gold/OutputData/EmbeddedSubmesh/Run0/Cycle000000/data.pvtu b/test/tests/mfem/transfers/mfem_parent_mfem_sub/gold/OutputData/EmbeddedSubmesh/Run0/Cycle000000/data.pvtu new file mode 100644 index 000000000000..b7ad93649aeb --- /dev/null +++ b/test/tests/mfem/transfers/mfem_parent_mfem_sub/gold/OutputData/EmbeddedSubmesh/Run0/Cycle000000/data.pvtu @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/test/tests/mfem/transfers/mfem_parent_mfem_sub/gold/OutputData/EmbeddedSubmesh/Run0/Cycle000000/proc000000.vtu b/test/tests/mfem/transfers/mfem_parent_mfem_sub/gold/OutputData/EmbeddedSubmesh/Run0/Cycle000000/proc000000.vtu new file mode 100644 index 000000000000..3ecdc28576a5 --- /dev/null +++ b/test/tests/mfem/transfers/mfem_parent_mfem_sub/gold/OutputData/EmbeddedSubmesh/Run0/Cycle000000/proc000000.vtu @@ -0,0 +1,5066 @@ + + + + + +-0.4 0.1 0.166666667 +-0.291666667 0.125 0.166666667 +-0.341506351 0.25 0.166666667 +-0.25 0.25 0.166666667 +-0.4 0.1 0.5 +-0.291666667 0.125 0.5 +-0.341506351 0.25 0.5 +-0.25 0.25 0.5 +-0.5 0 0.166666667 +-0.333333333 0 0.166666667 +-0.4 0.1 0.166666667 +-0.291666667 0.125 0.166666667 +-0.5 0 0.5 +-0.333333333 0 0.5 +-0.4 0.1 0.5 +-0.291666667 0.125 0.5 +-0.433012702 0.25 0.166666667 +-0.5 0 0.166666667 +-0.341506351 0.25 0.166666667 +-0.4 0.1 0.166666667 +-0.433012702 0.25 0.5 +-0.5 0 0.5 +-0.341506351 0.25 0.5 +-0.4 0.1 0.5 +-0.25 0.359807621 0.166666667 +-0.341506351 0.25 0.166666667 +-0.125 0.375 0.166666667 +-0.25 0.25 0.166666667 +-0.25 0.359807621 0.5 +-0.341506351 0.25 0.5 +-0.125 0.375 0.5 +-0.25 0.25 0.5 +-0.25 0.433012702 0.166666667 +-0.433012702 0.25 0.166666667 +-0.25 0.359807621 0.166666667 +-0.341506351 0.25 0.166666667 +-0.25 0.433012702 0.5 +-0.433012702 0.25 0.5 +-0.25 0.359807621 0.5 +-0.341506351 0.25 0.5 +0 0.5 0.166666667 +-0.25 0.433012702 0.166666667 +-0.125 0.375 0.166666667 +-0.25 0.359807621 0.166666667 +0 0.5 0.5 +-0.25 0.433012702 0.5 +-0.125 0.375 0.5 +-0.25 0.359807621 0.5 +-0.1 0.25 0.166666667 +-0.125 0.375 0.166666667 +-0.125 0.125 0.166666667 +-0.25 0.25 0.166666667 +-0.1 0.25 0.5 +-0.125 0.375 0.5 +-0.125 0.125 0.5 +-0.25 0.25 0.5 +0 0.25 0.166666667 +0 0.5 0.166666667 +-0.1 0.25 0.166666667 +-0.125 0.375 0.166666667 +0 0.25 0.5 +0 0.5 0.5 +-0.1 0.25 0.5 +-0.125 0.375 0.5 +0 0 0.166666667 +0 0.25 0.166666667 +-0.125 0.125 0.166666667 +-0.1 0.25 0.166666667 +0 0 0.5 +0 0.25 0.5 +-0.125 0.125 0.5 +-0.1 0.25 0.5 +-0.2 0.1 0.166666667 +-0.125 0.125 0.166666667 +-0.291666667 0.125 0.166666667 +-0.25 0.25 0.166666667 +-0.2 0.1 0.5 +-0.125 0.125 0.5 +-0.291666667 0.125 0.5 +-0.25 0.25 0.5 +-0.166666667 0 0.166666667 +0 0 0.166666667 +-0.2 0.1 0.166666667 +-0.125 0.125 0.166666667 +-0.166666667 0 0.5 +0 0 0.5 +-0.2 0.1 0.5 +-0.125 0.125 0.5 +-0.333333333 0 0.166666667 +-0.166666667 0 0.166666667 +-0.291666667 0.125 0.166666667 +-0.2 0.1 0.166666667 +-0.333333333 0 0.5 +-0.166666667 0 0.5 +-0.291666667 0.125 0.5 +-0.2 0.1 0.5 +-0.4 0.1 -0.166666667 +-0.291666667 0.125 -0.166666667 +-0.341506351 0.25 -0.166666667 +-0.25 0.25 -0.166666667 +-0.4 0.1 0.166666667 +-0.291666667 0.125 0.166666667 +-0.341506351 0.25 0.166666667 +-0.25 0.25 0.166666667 +-0.5 0 -0.166666667 +-0.333333333 0 -0.166666667 +-0.4 0.1 -0.166666667 +-0.291666667 0.125 -0.166666667 +-0.5 0 0.166666667 +-0.333333333 0 0.166666667 +-0.4 0.1 0.166666667 +-0.291666667 0.125 0.166666667 +-0.433012702 0.25 -0.166666667 +-0.5 0 -0.166666667 +-0.341506351 0.25 -0.166666667 +-0.4 0.1 -0.166666667 +-0.433012702 0.25 0.166666667 +-0.5 0 0.166666667 +-0.341506351 0.25 0.166666667 +-0.4 0.1 0.166666667 +-0.25 0.359807621 -0.166666667 +-0.341506351 0.25 -0.166666667 +-0.125 0.375 -0.166666667 +-0.25 0.25 -0.166666667 +-0.25 0.359807621 0.166666667 +-0.341506351 0.25 0.166666667 +-0.125 0.375 0.166666667 +-0.25 0.25 0.166666667 +-0.25 0.433012702 -0.166666667 +-0.433012702 0.25 -0.166666667 +-0.25 0.359807621 -0.166666667 +-0.341506351 0.25 -0.166666667 +-0.25 0.433012702 0.166666667 +-0.433012702 0.25 0.166666667 +-0.25 0.359807621 0.166666667 +-0.341506351 0.25 0.166666667 +0 0.5 -0.166666667 +-0.25 0.433012702 -0.166666667 +-0.125 0.375 -0.166666667 +-0.25 0.359807621 -0.166666667 +0 0.5 0.166666667 +-0.25 0.433012702 0.166666667 +-0.125 0.375 0.166666667 +-0.25 0.359807621 0.166666667 +-0.1 0.25 -0.166666667 +-0.125 0.375 -0.166666667 +-0.125 0.125 -0.166666667 +-0.25 0.25 -0.166666667 +-0.1 0.25 0.166666667 +-0.125 0.375 0.166666667 +-0.125 0.125 0.166666667 +-0.25 0.25 0.166666667 +0 0.25 -0.166666667 +0 0.5 -0.166666667 +-0.1 0.25 -0.166666667 +-0.125 0.375 -0.166666667 +0 0.25 0.166666667 +0 0.5 0.166666667 +-0.1 0.25 0.166666667 +-0.125 0.375 0.166666667 +0 0 -0.166666667 +0 0.25 -0.166666667 +-0.125 0.125 -0.166666667 +-0.1 0.25 -0.166666667 +0 0 0.166666667 +0 0.25 0.166666667 +-0.125 0.125 0.166666667 +-0.1 0.25 0.166666667 +-0.2 0.1 -0.166666667 +-0.125 0.125 -0.166666667 +-0.291666667 0.125 -0.166666667 +-0.25 0.25 -0.166666667 +-0.2 0.1 0.166666667 +-0.125 0.125 0.166666667 +-0.291666667 0.125 0.166666667 +-0.25 0.25 0.166666667 +-0.166666667 0 -0.166666667 +0 0 -0.166666667 +-0.2 0.1 -0.166666667 +-0.125 0.125 -0.166666667 +-0.166666667 0 0.166666667 +0 0 0.166666667 +-0.2 0.1 0.166666667 +-0.125 0.125 0.166666667 +-0.333333333 0 -0.166666667 +-0.166666667 0 -0.166666667 +-0.291666667 0.125 -0.166666667 +-0.2 0.1 -0.166666667 +-0.333333333 0 0.166666667 +-0.166666667 0 0.166666667 +-0.291666667 0.125 0.166666667 +-0.2 0.1 0.166666667 +-0.4 0.1 -0.5 +-0.291666667 0.125 -0.5 +-0.341506351 0.25 -0.5 +-0.25 0.25 -0.5 +-0.4 0.1 -0.166666667 +-0.291666667 0.125 -0.166666667 +-0.341506351 0.25 -0.166666667 +-0.25 0.25 -0.166666667 +-0.5 0 -0.5 +-0.333333333 0 -0.5 +-0.4 0.1 -0.5 +-0.291666667 0.125 -0.5 +-0.5 0 -0.166666667 +-0.333333333 0 -0.166666667 +-0.4 0.1 -0.166666667 +-0.291666667 0.125 -0.166666667 +-0.433012702 0.25 -0.5 +-0.5 0 -0.5 +-0.341506351 0.25 -0.5 +-0.4 0.1 -0.5 +-0.433012702 0.25 -0.166666667 +-0.5 0 -0.166666667 +-0.341506351 0.25 -0.166666667 +-0.4 0.1 -0.166666667 +-0.25 0.359807621 -0.5 +-0.341506351 0.25 -0.5 +-0.125 0.375 -0.5 +-0.25 0.25 -0.5 +-0.25 0.359807621 -0.166666667 +-0.341506351 0.25 -0.166666667 +-0.125 0.375 -0.166666667 +-0.25 0.25 -0.166666667 +-0.25 0.433012702 -0.5 +-0.433012702 0.25 -0.5 +-0.25 0.359807621 -0.5 +-0.341506351 0.25 -0.5 +-0.25 0.433012702 -0.166666667 +-0.433012702 0.25 -0.166666667 +-0.25 0.359807621 -0.166666667 +-0.341506351 0.25 -0.166666667 +0 0.5 -0.5 +-0.25 0.433012702 -0.5 +-0.125 0.375 -0.5 +-0.25 0.359807621 -0.5 +0 0.5 -0.166666667 +-0.25 0.433012702 -0.166666667 +-0.125 0.375 -0.166666667 +-0.25 0.359807621 -0.166666667 +-0.1 0.25 -0.5 +-0.125 0.375 -0.5 +-0.125 0.125 -0.5 +-0.25 0.25 -0.5 +-0.1 0.25 -0.166666667 +-0.125 0.375 -0.166666667 +-0.125 0.125 -0.166666667 +-0.25 0.25 -0.166666667 +0 0.25 -0.5 +0 0.5 -0.5 +-0.1 0.25 -0.5 +-0.125 0.375 -0.5 +0 0.25 -0.166666667 +0 0.5 -0.166666667 +-0.1 0.25 -0.166666667 +-0.125 0.375 -0.166666667 +0 0 -0.5 +0 0.25 -0.5 +-0.125 0.125 -0.5 +-0.1 0.25 -0.5 +0 0 -0.166666667 +0 0.25 -0.166666667 +-0.125 0.125 -0.166666667 +-0.1 0.25 -0.166666667 +-0.2 0.1 -0.5 +-0.125 0.125 -0.5 +-0.291666667 0.125 -0.5 +-0.25 0.25 -0.5 +-0.2 0.1 -0.166666667 +-0.125 0.125 -0.166666667 +-0.291666667 0.125 -0.166666667 +-0.25 0.25 -0.166666667 +-0.166666667 0 -0.5 +0 0 -0.5 +-0.2 0.1 -0.5 +-0.125 0.125 -0.5 +-0.166666667 0 -0.166666667 +0 0 -0.166666667 +-0.2 0.1 -0.166666667 +-0.125 0.125 -0.166666667 +-0.333333333 0 -0.5 +-0.166666667 0 -0.5 +-0.291666667 0.125 -0.5 +-0.2 0.1 -0.5 +-0.333333333 0 -0.166666667 +-0.166666667 0 -0.166666667 +-0.291666667 0.125 -0.166666667 +-0.2 0.1 -0.166666667 +0.1 0.1 0.166666667 +0.208333333 0.125 0.166666667 +0.125 0.25 0.166666667 +0.25 0.25 0.166666667 +0.1 0.1 0.5 +0.208333333 0.125 0.5 +0.125 0.25 0.5 +0.25 0.25 0.5 +0 0 0.166666667 +0.166666667 0 0.166666667 +0.1 0.1 0.166666667 +0.208333333 0.125 0.166666667 +0 0 0.5 +0.166666667 0 0.5 +0.1 0.1 0.5 +0.208333333 0.125 0.5 +0 0.25 0.166666667 +0 0 0.166666667 +0.125 0.25 0.166666667 +0.1 0.1 0.166666667 +0 0.25 0.5 +0 0 0.5 +0.125 0.25 0.5 +0.1 0.1 0.5 +0.1 0.4 0.166666667 +0.125 0.25 0.166666667 +0.25 0.341506351 0.166666667 +0.25 0.25 0.166666667 +0.1 0.4 0.5 +0.125 0.25 0.5 +0.25 0.341506351 0.5 +0.25 0.25 0.5 +0 0.5 0.166666667 +0 0.25 0.166666667 +0.1 0.4 0.166666667 +0.125 0.25 0.166666667 +0 0.5 0.5 +0 0.25 0.5 +0.1 0.4 0.5 +0.125 0.25 0.5 +0.25 0.433012702 0.166666667 +0 0.5 0.166666667 +0.25 0.341506351 0.166666667 +0.1 0.4 0.166666667 +0.25 0.433012702 0.5 +0 0.5 0.5 +0.25 0.341506351 0.5 +0.1 0.4 0.5 +0.359807621 0.25 0.166666667 +0.25 0.341506351 0.166666667 +0.375 0.125 0.166666667 +0.25 0.25 0.166666667 +0.359807621 0.25 0.5 +0.25 0.341506351 0.5 +0.375 0.125 0.5 +0.25 0.25 0.5 +0.433012702 0.25 0.166666667 +0.25 0.433012702 0.166666667 +0.359807621 0.25 0.166666667 +0.25 0.341506351 0.166666667 +0.433012702 0.25 0.5 +0.25 0.433012702 0.5 +0.359807621 0.25 0.5 +0.25 0.341506351 0.5 +0.5 0 0.166666667 +0.433012702 0.25 0.166666667 +0.375 0.125 0.166666667 +0.359807621 0.25 0.166666667 +0.5 0 0.5 +0.433012702 0.25 0.5 +0.375 0.125 0.5 +0.359807621 0.25 0.5 +0.3 0.1 0.166666667 +0.375 0.125 0.166666667 +0.208333333 0.125 0.166666667 +0.25 0.25 0.166666667 +0.3 0.1 0.5 +0.375 0.125 0.5 +0.208333333 0.125 0.5 +0.25 0.25 0.5 +0.333333333 0 0.166666667 +0.5 0 0.166666667 +0.3 0.1 0.166666667 +0.375 0.125 0.166666667 +0.333333333 0 0.5 +0.5 0 0.5 +0.3 0.1 0.5 +0.375 0.125 0.5 +0.166666667 0 0.166666667 +0.333333333 0 0.166666667 +0.208333333 0.125 0.166666667 +0.3 0.1 0.166666667 +0.166666667 0 0.5 +0.333333333 0 0.5 +0.208333333 0.125 0.5 +0.3 0.1 0.5 +0.1 0.1 -0.166666667 +0.208333333 0.125 -0.166666667 +0.125 0.25 -0.166666667 +0.25 0.25 -0.166666667 +0.1 0.1 0.166666667 +0.208333333 0.125 0.166666667 +0.125 0.25 0.166666667 +0.25 0.25 0.166666667 +0 0 -0.166666667 +0.166666667 0 -0.166666667 +0.1 0.1 -0.166666667 +0.208333333 0.125 -0.166666667 +0 0 0.166666667 +0.166666667 0 0.166666667 +0.1 0.1 0.166666667 +0.208333333 0.125 0.166666667 +0 0.25 -0.166666667 +0 0 -0.166666667 +0.125 0.25 -0.166666667 +0.1 0.1 -0.166666667 +0 0.25 0.166666667 +0 0 0.166666667 +0.125 0.25 0.166666667 +0.1 0.1 0.166666667 +0.1 0.4 -0.166666667 +0.125 0.25 -0.166666667 +0.25 0.341506351 -0.166666667 +0.25 0.25 -0.166666667 +0.1 0.4 0.166666667 +0.125 0.25 0.166666667 +0.25 0.341506351 0.166666667 +0.25 0.25 0.166666667 +0 0.5 -0.166666667 +0 0.25 -0.166666667 +0.1 0.4 -0.166666667 +0.125 0.25 -0.166666667 +0 0.5 0.166666667 +0 0.25 0.166666667 +0.1 0.4 0.166666667 +0.125 0.25 0.166666667 +0.25 0.433012702 -0.166666667 +0 0.5 -0.166666667 +0.25 0.341506351 -0.166666667 +0.1 0.4 -0.166666667 +0.25 0.433012702 0.166666667 +0 0.5 0.166666667 +0.25 0.341506351 0.166666667 +0.1 0.4 0.166666667 +0.359807621 0.25 -0.166666667 +0.25 0.341506351 -0.166666667 +0.375 0.125 -0.166666667 +0.25 0.25 -0.166666667 +0.359807621 0.25 0.166666667 +0.25 0.341506351 0.166666667 +0.375 0.125 0.166666667 +0.25 0.25 0.166666667 +0.433012702 0.25 -0.166666667 +0.25 0.433012702 -0.166666667 +0.359807621 0.25 -0.166666667 +0.25 0.341506351 -0.166666667 +0.433012702 0.25 0.166666667 +0.25 0.433012702 0.166666667 +0.359807621 0.25 0.166666667 +0.25 0.341506351 0.166666667 +0.5 0 -0.166666667 +0.433012702 0.25 -0.166666667 +0.375 0.125 -0.166666667 +0.359807621 0.25 -0.166666667 +0.5 0 0.166666667 +0.433012702 0.25 0.166666667 +0.375 0.125 0.166666667 +0.359807621 0.25 0.166666667 +0.3 0.1 -0.166666667 +0.375 0.125 -0.166666667 +0.208333333 0.125 -0.166666667 +0.25 0.25 -0.166666667 +0.3 0.1 0.166666667 +0.375 0.125 0.166666667 +0.208333333 0.125 0.166666667 +0.25 0.25 0.166666667 +0.333333333 0 -0.166666667 +0.5 0 -0.166666667 +0.3 0.1 -0.166666667 +0.375 0.125 -0.166666667 +0.333333333 0 0.166666667 +0.5 0 0.166666667 +0.3 0.1 0.166666667 +0.375 0.125 0.166666667 +0.166666667 0 -0.166666667 +0.333333333 0 -0.166666667 +0.208333333 0.125 -0.166666667 +0.3 0.1 -0.166666667 +0.166666667 0 0.166666667 +0.333333333 0 0.166666667 +0.208333333 0.125 0.166666667 +0.3 0.1 0.166666667 +0.1 0.1 -0.5 +0.208333333 0.125 -0.5 +0.125 0.25 -0.5 +0.25 0.25 -0.5 +0.1 0.1 -0.166666667 +0.208333333 0.125 -0.166666667 +0.125 0.25 -0.166666667 +0.25 0.25 -0.166666667 +0 0 -0.5 +0.166666667 0 -0.5 +0.1 0.1 -0.5 +0.208333333 0.125 -0.5 +0 0 -0.166666667 +0.166666667 0 -0.166666667 +0.1 0.1 -0.166666667 +0.208333333 0.125 -0.166666667 +0 0.25 -0.5 +0 0 -0.5 +0.125 0.25 -0.5 +0.1 0.1 -0.5 +0 0.25 -0.166666667 +0 0 -0.166666667 +0.125 0.25 -0.166666667 +0.1 0.1 -0.166666667 +0.1 0.4 -0.5 +0.125 0.25 -0.5 +0.25 0.341506351 -0.5 +0.25 0.25 -0.5 +0.1 0.4 -0.166666667 +0.125 0.25 -0.166666667 +0.25 0.341506351 -0.166666667 +0.25 0.25 -0.166666667 +0 0.5 -0.5 +0 0.25 -0.5 +0.1 0.4 -0.5 +0.125 0.25 -0.5 +0 0.5 -0.166666667 +0 0.25 -0.166666667 +0.1 0.4 -0.166666667 +0.125 0.25 -0.166666667 +0.25 0.433012702 -0.5 +0 0.5 -0.5 +0.25 0.341506351 -0.5 +0.1 0.4 -0.5 +0.25 0.433012702 -0.166666667 +0 0.5 -0.166666667 +0.25 0.341506351 -0.166666667 +0.1 0.4 -0.166666667 +0.359807621 0.25 -0.5 +0.25 0.341506351 -0.5 +0.375 0.125 -0.5 +0.25 0.25 -0.5 +0.359807621 0.25 -0.166666667 +0.25 0.341506351 -0.166666667 +0.375 0.125 -0.166666667 +0.25 0.25 -0.166666667 +0.433012702 0.25 -0.5 +0.25 0.433012702 -0.5 +0.359807621 0.25 -0.5 +0.25 0.341506351 -0.5 +0.433012702 0.25 -0.166666667 +0.25 0.433012702 -0.166666667 +0.359807621 0.25 -0.166666667 +0.25 0.341506351 -0.166666667 +0.5 0 -0.5 +0.433012702 0.25 -0.5 +0.375 0.125 -0.5 +0.359807621 0.25 -0.5 +0.5 0 -0.166666667 +0.433012702 0.25 -0.166666667 +0.375 0.125 -0.166666667 +0.359807621 0.25 -0.166666667 +0.3 0.1 -0.5 +0.375 0.125 -0.5 +0.208333333 0.125 -0.5 +0.25 0.25 -0.5 +0.3 0.1 -0.166666667 +0.375 0.125 -0.166666667 +0.208333333 0.125 -0.166666667 +0.25 0.25 -0.166666667 +0.333333333 0 -0.5 +0.5 0 -0.5 +0.3 0.1 -0.5 +0.375 0.125 -0.5 +0.333333333 0 -0.166666667 +0.5 0 -0.166666667 +0.3 0.1 -0.166666667 +0.375 0.125 -0.166666667 +0.166666667 0 -0.5 +0.333333333 0 -0.5 +0.208333333 0.125 -0.5 +0.3 0.1 -0.5 +0.166666667 0 -0.166666667 +0.333333333 0 -0.166666667 +0.208333333 0.125 -0.166666667 +0.3 0.1 -0.166666667 +0.4 -0.1 0.166666667 +0.291666667 -0.125 0.166666667 +0.341506351 -0.25 0.166666667 +0.25 -0.25 0.166666667 +0.4 -0.1 0.5 +0.291666667 -0.125 0.5 +0.341506351 -0.25 0.5 +0.25 -0.25 0.5 +0.5 0 0.166666667 +0.333333333 0 0.166666667 +0.4 -0.1 0.166666667 +0.291666667 -0.125 0.166666667 +0.5 0 0.5 +0.333333333 0 0.5 +0.4 -0.1 0.5 +0.291666667 -0.125 0.5 +0.433012702 -0.25 0.166666667 +0.5 0 0.166666667 +0.341506351 -0.25 0.166666667 +0.4 -0.1 0.166666667 +0.433012702 -0.25 0.5 +0.5 0 0.5 +0.341506351 -0.25 0.5 +0.4 -0.1 0.5 +0.25 -0.359807621 0.166666667 +0.341506351 -0.25 0.166666667 +0.125 -0.375 0.166666667 +0.25 -0.25 0.166666667 +0.25 -0.359807621 0.5 +0.341506351 -0.25 0.5 +0.125 -0.375 0.5 +0.25 -0.25 0.5 +0.25 -0.433012702 0.166666667 +0.433012702 -0.25 0.166666667 +0.25 -0.359807621 0.166666667 +0.341506351 -0.25 0.166666667 +0.25 -0.433012702 0.5 +0.433012702 -0.25 0.5 +0.25 -0.359807621 0.5 +0.341506351 -0.25 0.5 +0 -0.5 0.166666667 +0.25 -0.433012702 0.166666667 +0.125 -0.375 0.166666667 +0.25 -0.359807621 0.166666667 +0 -0.5 0.5 +0.25 -0.433012702 0.5 +0.125 -0.375 0.5 +0.25 -0.359807621 0.5 +0.1 -0.25 0.166666667 +0.125 -0.375 0.166666667 +0.125 -0.125 0.166666667 +0.25 -0.25 0.166666667 +0.1 -0.25 0.5 +0.125 -0.375 0.5 +0.125 -0.125 0.5 +0.25 -0.25 0.5 +0 -0.25 0.166666667 +0 -0.5 0.166666667 +0.1 -0.25 0.166666667 +0.125 -0.375 0.166666667 +0 -0.25 0.5 +0 -0.5 0.5 +0.1 -0.25 0.5 +0.125 -0.375 0.5 +0 0 0.166666667 +0 -0.25 0.166666667 +0.125 -0.125 0.166666667 +0.1 -0.25 0.166666667 +0 0 0.5 +0 -0.25 0.5 +0.125 -0.125 0.5 +0.1 -0.25 0.5 +0.2 -0.1 0.166666667 +0.125 -0.125 0.166666667 +0.291666667 -0.125 0.166666667 +0.25 -0.25 0.166666667 +0.2 -0.1 0.5 +0.125 -0.125 0.5 +0.291666667 -0.125 0.5 +0.25 -0.25 0.5 +0.166666667 0 0.166666667 +0 0 0.166666667 +0.2 -0.1 0.166666667 +0.125 -0.125 0.166666667 +0.166666667 0 0.5 +0 0 0.5 +0.2 -0.1 0.5 +0.125 -0.125 0.5 +0.333333333 0 0.166666667 +0.166666667 0 0.166666667 +0.291666667 -0.125 0.166666667 +0.2 -0.1 0.166666667 +0.333333333 0 0.5 +0.166666667 0 0.5 +0.291666667 -0.125 0.5 +0.2 -0.1 0.5 +0.4 -0.1 -0.166666667 +0.291666667 -0.125 -0.166666667 +0.341506351 -0.25 -0.166666667 +0.25 -0.25 -0.166666667 +0.4 -0.1 0.166666667 +0.291666667 -0.125 0.166666667 +0.341506351 -0.25 0.166666667 +0.25 -0.25 0.166666667 +0.5 0 -0.166666667 +0.333333333 0 -0.166666667 +0.4 -0.1 -0.166666667 +0.291666667 -0.125 -0.166666667 +0.5 0 0.166666667 +0.333333333 0 0.166666667 +0.4 -0.1 0.166666667 +0.291666667 -0.125 0.166666667 +0.433012702 -0.25 -0.166666667 +0.5 0 -0.166666667 +0.341506351 -0.25 -0.166666667 +0.4 -0.1 -0.166666667 +0.433012702 -0.25 0.166666667 +0.5 0 0.166666667 +0.341506351 -0.25 0.166666667 +0.4 -0.1 0.166666667 +0.25 -0.359807621 -0.166666667 +0.341506351 -0.25 -0.166666667 +0.125 -0.375 -0.166666667 +0.25 -0.25 -0.166666667 +0.25 -0.359807621 0.166666667 +0.341506351 -0.25 0.166666667 +0.125 -0.375 0.166666667 +0.25 -0.25 0.166666667 +0.25 -0.433012702 -0.166666667 +0.433012702 -0.25 -0.166666667 +0.25 -0.359807621 -0.166666667 +0.341506351 -0.25 -0.166666667 +0.25 -0.433012702 0.166666667 +0.433012702 -0.25 0.166666667 +0.25 -0.359807621 0.166666667 +0.341506351 -0.25 0.166666667 +0 -0.5 -0.166666667 +0.25 -0.433012702 -0.166666667 +0.125 -0.375 -0.166666667 +0.25 -0.359807621 -0.166666667 +0 -0.5 0.166666667 +0.25 -0.433012702 0.166666667 +0.125 -0.375 0.166666667 +0.25 -0.359807621 0.166666667 +0.1 -0.25 -0.166666667 +0.125 -0.375 -0.166666667 +0.125 -0.125 -0.166666667 +0.25 -0.25 -0.166666667 +0.1 -0.25 0.166666667 +0.125 -0.375 0.166666667 +0.125 -0.125 0.166666667 +0.25 -0.25 0.166666667 +0 -0.25 -0.166666667 +0 -0.5 -0.166666667 +0.1 -0.25 -0.166666667 +0.125 -0.375 -0.166666667 +0 -0.25 0.166666667 +0 -0.5 0.166666667 +0.1 -0.25 0.166666667 +0.125 -0.375 0.166666667 +0 0 -0.166666667 +0 -0.25 -0.166666667 +0.125 -0.125 -0.166666667 +0.1 -0.25 -0.166666667 +0 0 0.166666667 +0 -0.25 0.166666667 +0.125 -0.125 0.166666667 +0.1 -0.25 0.166666667 +0.2 -0.1 -0.166666667 +0.125 -0.125 -0.166666667 +0.291666667 -0.125 -0.166666667 +0.25 -0.25 -0.166666667 +0.2 -0.1 0.166666667 +0.125 -0.125 0.166666667 +0.291666667 -0.125 0.166666667 +0.25 -0.25 0.166666667 +0.166666667 0 -0.166666667 +0 0 -0.166666667 +0.2 -0.1 -0.166666667 +0.125 -0.125 -0.166666667 +0.166666667 0 0.166666667 +0 0 0.166666667 +0.2 -0.1 0.166666667 +0.125 -0.125 0.166666667 +0.333333333 0 -0.166666667 +0.166666667 0 -0.166666667 +0.291666667 -0.125 -0.166666667 +0.2 -0.1 -0.166666667 +0.333333333 0 0.166666667 +0.166666667 0 0.166666667 +0.291666667 -0.125 0.166666667 +0.2 -0.1 0.166666667 +0.4 -0.1 -0.5 +0.291666667 -0.125 -0.5 +0.341506351 -0.25 -0.5 +0.25 -0.25 -0.5 +0.4 -0.1 -0.166666667 +0.291666667 -0.125 -0.166666667 +0.341506351 -0.25 -0.166666667 +0.25 -0.25 -0.166666667 +0.5 0 -0.5 +0.333333333 0 -0.5 +0.4 -0.1 -0.5 +0.291666667 -0.125 -0.5 +0.5 0 -0.166666667 +0.333333333 0 -0.166666667 +0.4 -0.1 -0.166666667 +0.291666667 -0.125 -0.166666667 +0.433012702 -0.25 -0.5 +0.5 0 -0.5 +0.341506351 -0.25 -0.5 +0.4 -0.1 -0.5 +0.433012702 -0.25 -0.166666667 +0.5 0 -0.166666667 +0.341506351 -0.25 -0.166666667 +0.4 -0.1 -0.166666667 +0.25 -0.359807621 -0.5 +0.341506351 -0.25 -0.5 +0.125 -0.375 -0.5 +0.25 -0.25 -0.5 +0.25 -0.359807621 -0.166666667 +0.341506351 -0.25 -0.166666667 +0.125 -0.375 -0.166666667 +0.25 -0.25 -0.166666667 +0.25 -0.433012702 -0.5 +0.433012702 -0.25 -0.5 +0.25 -0.359807621 -0.5 +0.341506351 -0.25 -0.5 +0.25 -0.433012702 -0.166666667 +0.433012702 -0.25 -0.166666667 +0.25 -0.359807621 -0.166666667 +0.341506351 -0.25 -0.166666667 +0 -0.5 -0.5 +0.25 -0.433012702 -0.5 +0.125 -0.375 -0.5 +0.25 -0.359807621 -0.5 +0 -0.5 -0.166666667 +0.25 -0.433012702 -0.166666667 +0.125 -0.375 -0.166666667 +0.25 -0.359807621 -0.166666667 +0.1 -0.25 -0.5 +0.125 -0.375 -0.5 +0.125 -0.125 -0.5 +0.25 -0.25 -0.5 +0.1 -0.25 -0.166666667 +0.125 -0.375 -0.166666667 +0.125 -0.125 -0.166666667 +0.25 -0.25 -0.166666667 +0 -0.25 -0.5 +0 -0.5 -0.5 +0.1 -0.25 -0.5 +0.125 -0.375 -0.5 +0 -0.25 -0.166666667 +0 -0.5 -0.166666667 +0.1 -0.25 -0.166666667 +0.125 -0.375 -0.166666667 +0 0 -0.5 +0 -0.25 -0.5 +0.125 -0.125 -0.5 +0.1 -0.25 -0.5 +0 0 -0.166666667 +0 -0.25 -0.166666667 +0.125 -0.125 -0.166666667 +0.1 -0.25 -0.166666667 +0.2 -0.1 -0.5 +0.125 -0.125 -0.5 +0.291666667 -0.125 -0.5 +0.25 -0.25 -0.5 +0.2 -0.1 -0.166666667 +0.125 -0.125 -0.166666667 +0.291666667 -0.125 -0.166666667 +0.25 -0.25 -0.166666667 +0.166666667 0 -0.5 +0 0 -0.5 +0.2 -0.1 -0.5 +0.125 -0.125 -0.5 +0.166666667 0 -0.166666667 +0 0 -0.166666667 +0.2 -0.1 -0.166666667 +0.125 -0.125 -0.166666667 +0.333333333 0 -0.5 +0.166666667 0 -0.5 +0.291666667 -0.125 -0.5 +0.2 -0.1 -0.5 +0.333333333 0 -0.166666667 +0.166666667 0 -0.166666667 +0.291666667 -0.125 -0.166666667 +0.2 -0.1 -0.166666667 +-0.1 -0.1 0.166666667 +-0.208333333 -0.125 0.166666667 +-0.125 -0.25 0.166666667 +-0.25 -0.25 0.166666667 +-0.1 -0.1 0.5 +-0.208333333 -0.125 0.5 +-0.125 -0.25 0.5 +-0.25 -0.25 0.5 +0 0 0.166666667 +-0.166666667 0 0.166666667 +-0.1 -0.1 0.166666667 +-0.208333333 -0.125 0.166666667 +0 0 0.5 +-0.166666667 0 0.5 +-0.1 -0.1 0.5 +-0.208333333 -0.125 0.5 +0 -0.25 0.166666667 +0 0 0.166666667 +-0.125 -0.25 0.166666667 +-0.1 -0.1 0.166666667 +0 -0.25 0.5 +0 0 0.5 +-0.125 -0.25 0.5 +-0.1 -0.1 0.5 +-0.1 -0.4 0.166666667 +-0.125 -0.25 0.166666667 +-0.25 -0.341506351 0.166666667 +-0.25 -0.25 0.166666667 +-0.1 -0.4 0.5 +-0.125 -0.25 0.5 +-0.25 -0.341506351 0.5 +-0.25 -0.25 0.5 +0 -0.5 0.166666667 +0 -0.25 0.166666667 +-0.1 -0.4 0.166666667 +-0.125 -0.25 0.166666667 +0 -0.5 0.5 +0 -0.25 0.5 +-0.1 -0.4 0.5 +-0.125 -0.25 0.5 +-0.25 -0.433012702 0.166666667 +0 -0.5 0.166666667 +-0.25 -0.341506351 0.166666667 +-0.1 -0.4 0.166666667 +-0.25 -0.433012702 0.5 +0 -0.5 0.5 +-0.25 -0.341506351 0.5 +-0.1 -0.4 0.5 +-0.359807621 -0.25 0.166666667 +-0.25 -0.341506351 0.166666667 +-0.375 -0.125 0.166666667 +-0.25 -0.25 0.166666667 +-0.359807621 -0.25 0.5 +-0.25 -0.341506351 0.5 +-0.375 -0.125 0.5 +-0.25 -0.25 0.5 +-0.433012702 -0.25 0.166666667 +-0.25 -0.433012702 0.166666667 +-0.359807621 -0.25 0.166666667 +-0.25 -0.341506351 0.166666667 +-0.433012702 -0.25 0.5 +-0.25 -0.433012702 0.5 +-0.359807621 -0.25 0.5 +-0.25 -0.341506351 0.5 +-0.5 0 0.166666667 +-0.433012702 -0.25 0.166666667 +-0.375 -0.125 0.166666667 +-0.359807621 -0.25 0.166666667 +-0.5 0 0.5 +-0.433012702 -0.25 0.5 +-0.375 -0.125 0.5 +-0.359807621 -0.25 0.5 +-0.3 -0.1 0.166666667 +-0.375 -0.125 0.166666667 +-0.208333333 -0.125 0.166666667 +-0.25 -0.25 0.166666667 +-0.3 -0.1 0.5 +-0.375 -0.125 0.5 +-0.208333333 -0.125 0.5 +-0.25 -0.25 0.5 +-0.333333333 0 0.166666667 +-0.5 0 0.166666667 +-0.3 -0.1 0.166666667 +-0.375 -0.125 0.166666667 +-0.333333333 0 0.5 +-0.5 0 0.5 +-0.3 -0.1 0.5 +-0.375 -0.125 0.5 +-0.166666667 0 0.166666667 +-0.333333333 0 0.166666667 +-0.208333333 -0.125 0.166666667 +-0.3 -0.1 0.166666667 +-0.166666667 0 0.5 +-0.333333333 0 0.5 +-0.208333333 -0.125 0.5 +-0.3 -0.1 0.5 +-0.1 -0.1 -0.166666667 +-0.208333333 -0.125 -0.166666667 +-0.125 -0.25 -0.166666667 +-0.25 -0.25 -0.166666667 +-0.1 -0.1 0.166666667 +-0.208333333 -0.125 0.166666667 +-0.125 -0.25 0.166666667 +-0.25 -0.25 0.166666667 +0 0 -0.166666667 +-0.166666667 0 -0.166666667 +-0.1 -0.1 -0.166666667 +-0.208333333 -0.125 -0.166666667 +0 0 0.166666667 +-0.166666667 0 0.166666667 +-0.1 -0.1 0.166666667 +-0.208333333 -0.125 0.166666667 +0 -0.25 -0.166666667 +0 0 -0.166666667 +-0.125 -0.25 -0.166666667 +-0.1 -0.1 -0.166666667 +0 -0.25 0.166666667 +0 0 0.166666667 +-0.125 -0.25 0.166666667 +-0.1 -0.1 0.166666667 +-0.1 -0.4 -0.166666667 +-0.125 -0.25 -0.166666667 +-0.25 -0.341506351 -0.166666667 +-0.25 -0.25 -0.166666667 +-0.1 -0.4 0.166666667 +-0.125 -0.25 0.166666667 +-0.25 -0.341506351 0.166666667 +-0.25 -0.25 0.166666667 +0 -0.5 -0.166666667 +0 -0.25 -0.166666667 +-0.1 -0.4 -0.166666667 +-0.125 -0.25 -0.166666667 +0 -0.5 0.166666667 +0 -0.25 0.166666667 +-0.1 -0.4 0.166666667 +-0.125 -0.25 0.166666667 +-0.25 -0.433012702 -0.166666667 +0 -0.5 -0.166666667 +-0.25 -0.341506351 -0.166666667 +-0.1 -0.4 -0.166666667 +-0.25 -0.433012702 0.166666667 +0 -0.5 0.166666667 +-0.25 -0.341506351 0.166666667 +-0.1 -0.4 0.166666667 +-0.359807621 -0.25 -0.166666667 +-0.25 -0.341506351 -0.166666667 +-0.375 -0.125 -0.166666667 +-0.25 -0.25 -0.166666667 +-0.359807621 -0.25 0.166666667 +-0.25 -0.341506351 0.166666667 +-0.375 -0.125 0.166666667 +-0.25 -0.25 0.166666667 +-0.433012702 -0.25 -0.166666667 +-0.25 -0.433012702 -0.166666667 +-0.359807621 -0.25 -0.166666667 +-0.25 -0.341506351 -0.166666667 +-0.433012702 -0.25 0.166666667 +-0.25 -0.433012702 0.166666667 +-0.359807621 -0.25 0.166666667 +-0.25 -0.341506351 0.166666667 +-0.5 0 -0.166666667 +-0.433012702 -0.25 -0.166666667 +-0.375 -0.125 -0.166666667 +-0.359807621 -0.25 -0.166666667 +-0.5 0 0.166666667 +-0.433012702 -0.25 0.166666667 +-0.375 -0.125 0.166666667 +-0.359807621 -0.25 0.166666667 +-0.3 -0.1 -0.166666667 +-0.375 -0.125 -0.166666667 +-0.208333333 -0.125 -0.166666667 +-0.25 -0.25 -0.166666667 +-0.3 -0.1 0.166666667 +-0.375 -0.125 0.166666667 +-0.208333333 -0.125 0.166666667 +-0.25 -0.25 0.166666667 +-0.333333333 0 -0.166666667 +-0.5 0 -0.166666667 +-0.3 -0.1 -0.166666667 +-0.375 -0.125 -0.166666667 +-0.333333333 0 0.166666667 +-0.5 0 0.166666667 +-0.3 -0.1 0.166666667 +-0.375 -0.125 0.166666667 +-0.166666667 0 -0.166666667 +-0.333333333 0 -0.166666667 +-0.208333333 -0.125 -0.166666667 +-0.3 -0.1 -0.166666667 +-0.166666667 0 0.166666667 +-0.333333333 0 0.166666667 +-0.208333333 -0.125 0.166666667 +-0.3 -0.1 0.166666667 +-0.1 -0.1 -0.5 +-0.208333333 -0.125 -0.5 +-0.125 -0.25 -0.5 +-0.25 -0.25 -0.5 +-0.1 -0.1 -0.166666667 +-0.208333333 -0.125 -0.166666667 +-0.125 -0.25 -0.166666667 +-0.25 -0.25 -0.166666667 +0 0 -0.5 +-0.166666667 0 -0.5 +-0.1 -0.1 -0.5 +-0.208333333 -0.125 -0.5 +0 0 -0.166666667 +-0.166666667 0 -0.166666667 +-0.1 -0.1 -0.166666667 +-0.208333333 -0.125 -0.166666667 +0 -0.25 -0.5 +0 0 -0.5 +-0.125 -0.25 -0.5 +-0.1 -0.1 -0.5 +0 -0.25 -0.166666667 +0 0 -0.166666667 +-0.125 -0.25 -0.166666667 +-0.1 -0.1 -0.166666667 +-0.1 -0.4 -0.5 +-0.125 -0.25 -0.5 +-0.25 -0.341506351 -0.5 +-0.25 -0.25 -0.5 +-0.1 -0.4 -0.166666667 +-0.125 -0.25 -0.166666667 +-0.25 -0.341506351 -0.166666667 +-0.25 -0.25 -0.166666667 +0 -0.5 -0.5 +0 -0.25 -0.5 +-0.1 -0.4 -0.5 +-0.125 -0.25 -0.5 +0 -0.5 -0.166666667 +0 -0.25 -0.166666667 +-0.1 -0.4 -0.166666667 +-0.125 -0.25 -0.166666667 +-0.25 -0.433012702 -0.5 +0 -0.5 -0.5 +-0.25 -0.341506351 -0.5 +-0.1 -0.4 -0.5 +-0.25 -0.433012702 -0.166666667 +0 -0.5 -0.166666667 +-0.25 -0.341506351 -0.166666667 +-0.1 -0.4 -0.166666667 +-0.359807621 -0.25 -0.5 +-0.25 -0.341506351 -0.5 +-0.375 -0.125 -0.5 +-0.25 -0.25 -0.5 +-0.359807621 -0.25 -0.166666667 +-0.25 -0.341506351 -0.166666667 +-0.375 -0.125 -0.166666667 +-0.25 -0.25 -0.166666667 +-0.433012702 -0.25 -0.5 +-0.25 -0.433012702 -0.5 +-0.359807621 -0.25 -0.5 +-0.25 -0.341506351 -0.5 +-0.433012702 -0.25 -0.166666667 +-0.25 -0.433012702 -0.166666667 +-0.359807621 -0.25 -0.166666667 +-0.25 -0.341506351 -0.166666667 +-0.5 0 -0.5 +-0.433012702 -0.25 -0.5 +-0.375 -0.125 -0.5 +-0.359807621 -0.25 -0.5 +-0.5 0 -0.166666667 +-0.433012702 -0.25 -0.166666667 +-0.375 -0.125 -0.166666667 +-0.359807621 -0.25 -0.166666667 +-0.3 -0.1 -0.5 +-0.375 -0.125 -0.5 +-0.208333333 -0.125 -0.5 +-0.25 -0.25 -0.5 +-0.3 -0.1 -0.166666667 +-0.375 -0.125 -0.166666667 +-0.208333333 -0.125 -0.166666667 +-0.25 -0.25 -0.166666667 +-0.333333333 0 -0.5 +-0.5 0 -0.5 +-0.3 -0.1 -0.5 +-0.375 -0.125 -0.5 +-0.333333333 0 -0.166666667 +-0.5 0 -0.166666667 +-0.3 -0.1 -0.166666667 +-0.375 -0.125 -0.166666667 +-0.166666667 0 -0.5 +-0.333333333 0 -0.5 +-0.208333333 -0.125 -0.5 +-0.3 -0.1 -0.5 +-0.166666667 0 -0.166666667 +-0.333333333 0 -0.166666667 +-0.208333333 -0.125 -0.166666667 +-0.3 -0.1 -0.166666667 +0.666666667 0 0.166666667 +0.5 0 0.166666667 +0.666666667 0 0.5 +0.5 0 0.5 +0.577350269 0.333333333 0.166666667 +0.433012702 0.25 0.166666667 +0.577350269 0.333333333 0.5 +0.433012702 0.25 0.5 +0.833333333 0 0.166666667 +0.666666667 0 0.166666667 +0.833333333 0 0.5 +0.666666667 0 0.5 +0.721687836 0.416666667 0.166666667 +0.577350269 0.333333333 0.166666667 +0.721687836 0.416666667 0.5 +0.577350269 0.333333333 0.5 +1 0 0.166666667 +0.833333333 0 0.166666667 +1 0 0.5 +0.833333333 0 0.5 +0.866025404 0.5 0.166666667 +0.721687836 0.416666667 0.166666667 +0.866025404 0.5 0.5 +0.721687836 0.416666667 0.5 +0.666666667 0 -0.166666667 +0.5 0 -0.166666667 +0.666666667 0 0.166666667 +0.5 0 0.166666667 +0.577350269 0.333333333 -0.166666667 +0.433012702 0.25 -0.166666667 +0.577350269 0.333333333 0.166666667 +0.433012702 0.25 0.166666667 +0.833333333 0 -0.166666667 +0.666666667 0 -0.166666667 +0.833333333 0 0.166666667 +0.666666667 0 0.166666667 +0.721687836 0.416666667 -0.166666667 +0.577350269 0.333333333 -0.166666667 +0.721687836 0.416666667 0.166666667 +0.577350269 0.333333333 0.166666667 +1 0 -0.166666667 +0.833333333 0 -0.166666667 +1 0 0.166666667 +0.833333333 0 0.166666667 +0.866025404 0.5 -0.166666667 +0.721687836 0.416666667 -0.166666667 +0.866025404 0.5 0.166666667 +0.721687836 0.416666667 0.166666667 +0.666666667 0 -0.5 +0.5 0 -0.5 +0.666666667 0 -0.166666667 +0.5 0 -0.166666667 +0.577350269 0.333333333 -0.5 +0.433012702 0.25 -0.5 +0.577350269 0.333333333 -0.166666667 +0.433012702 0.25 -0.166666667 +0.833333333 0 -0.5 +0.666666667 0 -0.5 +0.833333333 0 -0.166666667 +0.666666667 0 -0.166666667 +0.721687836 0.416666667 -0.5 +0.577350269 0.333333333 -0.5 +0.721687836 0.416666667 -0.166666667 +0.577350269 0.333333333 -0.166666667 +1 0 -0.5 +0.833333333 0 -0.5 +1 0 -0.166666667 +0.833333333 0 -0.166666667 +0.866025404 0.5 -0.5 +0.721687836 0.416666667 -0.5 +0.866025404 0.5 -0.166666667 +0.721687836 0.416666667 -0.166666667 +0.577350269 0.333333333 0.166666667 +0.433012702 0.25 0.166666667 +0.577350269 0.333333333 0.5 +0.433012702 0.25 0.5 +0.333333333 0.577350269 0.166666667 +0.25 0.433012702 0.166666667 +0.333333333 0.577350269 0.5 +0.25 0.433012702 0.5 +0.721687836 0.416666667 0.166666667 +0.577350269 0.333333333 0.166666667 +0.721687836 0.416666667 0.5 +0.577350269 0.333333333 0.5 +0.416666667 0.721687836 0.166666667 +0.333333333 0.577350269 0.166666667 +0.416666667 0.721687836 0.5 +0.333333333 0.577350269 0.5 +0.866025404 0.5 0.166666667 +0.721687836 0.416666667 0.166666667 +0.866025404 0.5 0.5 +0.721687836 0.416666667 0.5 +0.5 0.866025404 0.166666667 +0.416666667 0.721687836 0.166666667 +0.5 0.866025404 0.5 +0.416666667 0.721687836 0.5 +0.577350269 0.333333333 -0.166666667 +0.433012702 0.25 -0.166666667 +0.577350269 0.333333333 0.166666667 +0.433012702 0.25 0.166666667 +0.333333333 0.577350269 -0.166666667 +0.25 0.433012702 -0.166666667 +0.333333333 0.577350269 0.166666667 +0.25 0.433012702 0.166666667 +0.721687836 0.416666667 -0.166666667 +0.577350269 0.333333333 -0.166666667 +0.721687836 0.416666667 0.166666667 +0.577350269 0.333333333 0.166666667 +0.416666667 0.721687836 -0.166666667 +0.333333333 0.577350269 -0.166666667 +0.416666667 0.721687836 0.166666667 +0.333333333 0.577350269 0.166666667 +0.866025404 0.5 -0.166666667 +0.721687836 0.416666667 -0.166666667 +0.866025404 0.5 0.166666667 +0.721687836 0.416666667 0.166666667 +0.5 0.866025404 -0.166666667 +0.416666667 0.721687836 -0.166666667 +0.5 0.866025404 0.166666667 +0.416666667 0.721687836 0.166666667 +0.577350269 0.333333333 -0.5 +0.433012702 0.25 -0.5 +0.577350269 0.333333333 -0.166666667 +0.433012702 0.25 -0.166666667 +0.333333333 0.577350269 -0.5 +0.25 0.433012702 -0.5 +0.333333333 0.577350269 -0.166666667 +0.25 0.433012702 -0.166666667 +0.721687836 0.416666667 -0.5 +0.577350269 0.333333333 -0.5 +0.721687836 0.416666667 -0.166666667 +0.577350269 0.333333333 -0.166666667 +0.416666667 0.721687836 -0.5 +0.333333333 0.577350269 -0.5 +0.416666667 0.721687836 -0.166666667 +0.333333333 0.577350269 -0.166666667 +0.866025404 0.5 -0.5 +0.721687836 0.416666667 -0.5 +0.866025404 0.5 -0.166666667 +0.721687836 0.416666667 -0.166666667 +0.5 0.866025404 -0.5 +0.416666667 0.721687836 -0.5 +0.5 0.866025404 -0.166666667 +0.416666667 0.721687836 -0.166666667 +0.333333333 0.577350269 0.166666667 +0.25 0.433012702 0.166666667 +0.333333333 0.577350269 0.5 +0.25 0.433012702 0.5 +0 0.666666667 0.166666667 +0 0.5 0.166666667 +0 0.666666667 0.5 +0 0.5 0.5 +0.416666667 0.721687836 0.166666667 +0.333333333 0.577350269 0.166666667 +0.416666667 0.721687836 0.5 +0.333333333 0.577350269 0.5 +0 0.833333333 0.166666667 +0 0.666666667 0.166666667 +0 0.833333333 0.5 +0 0.666666667 0.5 +0.5 0.866025404 0.166666667 +0.416666667 0.721687836 0.166666667 +0.5 0.866025404 0.5 +0.416666667 0.721687836 0.5 +0 1 0.166666667 +0 0.833333333 0.166666667 +0 1 0.5 +0 0.833333333 0.5 +0.333333333 0.577350269 -0.166666667 +0.25 0.433012702 -0.166666667 +0.333333333 0.577350269 0.166666667 +0.25 0.433012702 0.166666667 +0 0.666666667 -0.166666667 +0 0.5 -0.166666667 +0 0.666666667 0.166666667 +0 0.5 0.166666667 +0.416666667 0.721687836 -0.166666667 +0.333333333 0.577350269 -0.166666667 +0.416666667 0.721687836 0.166666667 +0.333333333 0.577350269 0.166666667 +0 0.833333333 -0.166666667 +0 0.666666667 -0.166666667 +0 0.833333333 0.166666667 +0 0.666666667 0.166666667 +0.5 0.866025404 -0.166666667 +0.416666667 0.721687836 -0.166666667 +0.5 0.866025404 0.166666667 +0.416666667 0.721687836 0.166666667 +0 1 -0.166666667 +0 0.833333333 -0.166666667 +0 1 0.166666667 +0 0.833333333 0.166666667 +0.333333333 0.577350269 -0.5 +0.25 0.433012702 -0.5 +0.333333333 0.577350269 -0.166666667 +0.25 0.433012702 -0.166666667 +0 0.666666667 -0.5 +0 0.5 -0.5 +0 0.666666667 -0.166666667 +0 0.5 -0.166666667 +0.416666667 0.721687836 -0.5 +0.333333333 0.577350269 -0.5 +0.416666667 0.721687836 -0.166666667 +0.333333333 0.577350269 -0.166666667 +0 0.833333333 -0.5 +0 0.666666667 -0.5 +0 0.833333333 -0.166666667 +0 0.666666667 -0.166666667 +0.5 0.866025404 -0.5 +0.416666667 0.721687836 -0.5 +0.5 0.866025404 -0.166666667 +0.416666667 0.721687836 -0.166666667 +0 1 -0.5 +0 0.833333333 -0.5 +0 1 -0.166666667 +0 0.833333333 -0.166666667 +0.577350269 -0.333333333 0.166666667 +0.433012702 -0.25 0.166666667 +0.577350269 -0.333333333 0.5 +0.433012702 -0.25 0.5 +0.666666667 0 0.166666667 +0.5 0 0.166666667 +0.666666667 0 0.5 +0.5 0 0.5 +0.721687836 -0.416666667 0.166666667 +0.577350269 -0.333333333 0.166666667 +0.721687836 -0.416666667 0.5 +0.577350269 -0.333333333 0.5 +0.833333333 0 0.166666667 +0.666666667 0 0.166666667 +0.833333333 0 0.5 +0.666666667 0 0.5 +0.866025404 -0.5 0.166666667 +0.721687836 -0.416666667 0.166666667 +0.866025404 -0.5 0.5 +0.721687836 -0.416666667 0.5 +1 0 0.166666667 +0.833333333 0 0.166666667 +1 0 0.5 +0.833333333 0 0.5 +0.577350269 -0.333333333 -0.166666667 +0.433012702 -0.25 -0.166666667 +0.577350269 -0.333333333 0.166666667 +0.433012702 -0.25 0.166666667 +0.666666667 0 -0.166666667 +0.5 0 -0.166666667 +0.666666667 0 0.166666667 +0.5 0 0.166666667 +0.721687836 -0.416666667 -0.166666667 +0.577350269 -0.333333333 -0.166666667 +0.721687836 -0.416666667 0.166666667 +0.577350269 -0.333333333 0.166666667 +0.833333333 0 -0.166666667 +0.666666667 0 -0.166666667 +0.833333333 0 0.166666667 +0.666666667 0 0.166666667 +0.866025404 -0.5 -0.166666667 +0.721687836 -0.416666667 -0.166666667 +0.866025404 -0.5 0.166666667 +0.721687836 -0.416666667 0.166666667 +1 0 -0.166666667 +0.833333333 0 -0.166666667 +1 0 0.166666667 +0.833333333 0 0.166666667 +0.577350269 -0.333333333 -0.5 +0.433012702 -0.25 -0.5 +0.577350269 -0.333333333 -0.166666667 +0.433012702 -0.25 -0.166666667 +0.666666667 0 -0.5 +0.5 0 -0.5 +0.666666667 0 -0.166666667 +0.5 0 -0.166666667 +0.721687836 -0.416666667 -0.5 +0.577350269 -0.333333333 -0.5 +0.721687836 -0.416666667 -0.166666667 +0.577350269 -0.333333333 -0.166666667 +0.833333333 0 -0.5 +0.666666667 0 -0.5 +0.833333333 0 -0.166666667 +0.666666667 0 -0.166666667 +0.866025404 -0.5 -0.5 +0.721687836 -0.416666667 -0.5 +0.866025404 -0.5 -0.166666667 +0.721687836 -0.416666667 -0.166666667 +1 0 -0.5 +0.833333333 0 -0.5 +1 0 -0.166666667 +0.833333333 0 -0.166666667 +0.333333333 -0.577350269 0.166666667 +0.25 -0.433012702 0.166666667 +0.333333333 -0.577350269 0.5 +0.25 -0.433012702 0.5 +0.577350269 -0.333333333 0.166666667 +0.433012702 -0.25 0.166666667 +0.577350269 -0.333333333 0.5 +0.433012702 -0.25 0.5 +0.416666667 -0.721687836 0.166666667 +0.333333333 -0.577350269 0.166666667 +0.416666667 -0.721687836 0.5 +0.333333333 -0.577350269 0.5 +0.721687836 -0.416666667 0.166666667 +0.577350269 -0.333333333 0.166666667 +0.721687836 -0.416666667 0.5 +0.577350269 -0.333333333 0.5 +0.5 -0.866025404 0.166666667 +0.416666667 -0.721687836 0.166666667 +0.5 -0.866025404 0.5 +0.416666667 -0.721687836 0.5 +0.866025404 -0.5 0.166666667 +0.721687836 -0.416666667 0.166666667 +0.866025404 -0.5 0.5 +0.721687836 -0.416666667 0.5 +0.333333333 -0.577350269 -0.166666667 +0.25 -0.433012702 -0.166666667 +0.333333333 -0.577350269 0.166666667 +0.25 -0.433012702 0.166666667 +0.577350269 -0.333333333 -0.166666667 +0.433012702 -0.25 -0.166666667 +0.577350269 -0.333333333 0.166666667 +0.433012702 -0.25 0.166666667 +0.416666667 -0.721687836 -0.166666667 +0.333333333 -0.577350269 -0.166666667 +0.416666667 -0.721687836 0.166666667 +0.333333333 -0.577350269 0.166666667 +0.721687836 -0.416666667 -0.166666667 +0.577350269 -0.333333333 -0.166666667 +0.721687836 -0.416666667 0.166666667 +0.577350269 -0.333333333 0.166666667 +0.5 -0.866025404 -0.166666667 +0.416666667 -0.721687836 -0.166666667 +0.5 -0.866025404 0.166666667 +0.416666667 -0.721687836 0.166666667 +0.866025404 -0.5 -0.166666667 +0.721687836 -0.416666667 -0.166666667 +0.866025404 -0.5 0.166666667 +0.721687836 -0.416666667 0.166666667 +0.333333333 -0.577350269 -0.5 +0.25 -0.433012702 -0.5 +0.333333333 -0.577350269 -0.166666667 +0.25 -0.433012702 -0.166666667 +0.577350269 -0.333333333 -0.5 +0.433012702 -0.25 -0.5 +0.577350269 -0.333333333 -0.166666667 +0.433012702 -0.25 -0.166666667 +0.416666667 -0.721687836 -0.5 +0.333333333 -0.577350269 -0.5 +0.416666667 -0.721687836 -0.166666667 +0.333333333 -0.577350269 -0.166666667 +0.721687836 -0.416666667 -0.5 +0.577350269 -0.333333333 -0.5 +0.721687836 -0.416666667 -0.166666667 +0.577350269 -0.333333333 -0.166666667 +0.5 -0.866025404 -0.5 +0.416666667 -0.721687836 -0.5 +0.5 -0.866025404 -0.166666667 +0.416666667 -0.721687836 -0.166666667 +0.866025404 -0.5 -0.5 +0.721687836 -0.416666667 -0.5 +0.866025404 -0.5 -0.166666667 +0.721687836 -0.416666667 -0.166666667 +0 -0.666666667 0.166666667 +0 -0.5 0.166666667 +0 -0.666666667 0.5 +0 -0.5 0.5 +0.333333333 -0.577350269 0.166666667 +0.25 -0.433012702 0.166666667 +0.333333333 -0.577350269 0.5 +0.25 -0.433012702 0.5 +0 -0.833333333 0.166666667 +0 -0.666666667 0.166666667 +0 -0.833333333 0.5 +0 -0.666666667 0.5 +0.416666667 -0.721687836 0.166666667 +0.333333333 -0.577350269 0.166666667 +0.416666667 -0.721687836 0.5 +0.333333333 -0.577350269 0.5 +0 -1 0.166666667 +0 -0.833333333 0.166666667 +0 -1 0.5 +0 -0.833333333 0.5 +0.5 -0.866025404 0.166666667 +0.416666667 -0.721687836 0.166666667 +0.5 -0.866025404 0.5 +0.416666667 -0.721687836 0.5 +0 -0.666666667 -0.166666667 +0 -0.5 -0.166666667 +0 -0.666666667 0.166666667 +0 -0.5 0.166666667 +0.333333333 -0.577350269 -0.166666667 +0.25 -0.433012702 -0.166666667 +0.333333333 -0.577350269 0.166666667 +0.25 -0.433012702 0.166666667 +0 -0.833333333 -0.166666667 +0 -0.666666667 -0.166666667 +0 -0.833333333 0.166666667 +0 -0.666666667 0.166666667 +0.416666667 -0.721687836 -0.166666667 +0.333333333 -0.577350269 -0.166666667 +0.416666667 -0.721687836 0.166666667 +0.333333333 -0.577350269 0.166666667 +0 -1 -0.166666667 +0 -0.833333333 -0.166666667 +0 -1 0.166666667 +0 -0.833333333 0.166666667 +0.5 -0.866025404 -0.166666667 +0.416666667 -0.721687836 -0.166666667 +0.5 -0.866025404 0.166666667 +0.416666667 -0.721687836 0.166666667 +0 -0.666666667 -0.5 +0 -0.5 -0.5 +0 -0.666666667 -0.166666667 +0 -0.5 -0.166666667 +0.333333333 -0.577350269 -0.5 +0.25 -0.433012702 -0.5 +0.333333333 -0.577350269 -0.166666667 +0.25 -0.433012702 -0.166666667 +0 -0.833333333 -0.5 +0 -0.666666667 -0.5 +0 -0.833333333 -0.166666667 +0 -0.666666667 -0.166666667 +0.416666667 -0.721687836 -0.5 +0.333333333 -0.577350269 -0.5 +0.416666667 -0.721687836 -0.166666667 +0.333333333 -0.577350269 -0.166666667 +0 -1 -0.5 +0 -0.833333333 -0.5 +0 -1 -0.166666667 +0 -0.833333333 -0.166666667 +0.5 -0.866025404 -0.5 +0.416666667 -0.721687836 -0.5 +0.5 -0.866025404 -0.166666667 +0.416666667 -0.721687836 -0.166666667 +0 -0.833333333 -0.5 +0 -1 -0.5 +0 -0.833333333 -0.166666667 +0 -1 -0.166666667 +-0.416666667 -0.721687836 -0.5 +-0.5 -0.866025404 -0.5 +-0.416666667 -0.721687836 -0.166666667 +-0.5 -0.866025404 -0.166666667 +0 -0.666666667 -0.5 +0 -0.833333333 -0.5 +0 -0.666666667 -0.166666667 +0 -0.833333333 -0.166666667 +-0.333333333 -0.577350269 -0.5 +-0.416666667 -0.721687836 -0.5 +-0.333333333 -0.577350269 -0.166666667 +-0.416666667 -0.721687836 -0.166666667 +0 -0.5 -0.5 +0 -0.666666667 -0.5 +0 -0.5 -0.166666667 +0 -0.666666667 -0.166666667 +-0.25 -0.433012702 -0.5 +-0.333333333 -0.577350269 -0.5 +-0.25 -0.433012702 -0.166666667 +-0.333333333 -0.577350269 -0.166666667 +0 -0.833333333 -0.166666667 +0 -1 -0.166666667 +0 -0.833333333 0.166666667 +0 -1 0.166666667 +-0.416666667 -0.721687836 -0.166666667 +-0.5 -0.866025404 -0.166666667 +-0.416666667 -0.721687836 0.166666667 +-0.5 -0.866025404 0.166666667 +0 -0.666666667 -0.166666667 +0 -0.833333333 -0.166666667 +0 -0.666666667 0.166666667 +0 -0.833333333 0.166666667 +-0.333333333 -0.577350269 -0.166666667 +-0.416666667 -0.721687836 -0.166666667 +-0.333333333 -0.577350269 0.166666667 +-0.416666667 -0.721687836 0.166666667 +0 -0.5 -0.166666667 +0 -0.666666667 -0.166666667 +0 -0.5 0.166666667 +0 -0.666666667 0.166666667 +-0.25 -0.433012702 -0.166666667 +-0.333333333 -0.577350269 -0.166666667 +-0.25 -0.433012702 0.166666667 +-0.333333333 -0.577350269 0.166666667 +0 -0.833333333 0.166666667 +0 -1 0.166666667 +0 -0.833333333 0.5 +0 -1 0.5 +-0.416666667 -0.721687836 0.166666667 +-0.5 -0.866025404 0.166666667 +-0.416666667 -0.721687836 0.5 +-0.5 -0.866025404 0.5 +0 -0.666666667 0.166666667 +0 -0.833333333 0.166666667 +0 -0.666666667 0.5 +0 -0.833333333 0.5 +-0.333333333 -0.577350269 0.166666667 +-0.416666667 -0.721687836 0.166666667 +-0.333333333 -0.577350269 0.5 +-0.416666667 -0.721687836 0.5 +0 -0.5 0.166666667 +0 -0.666666667 0.166666667 +0 -0.5 0.5 +0 -0.666666667 0.5 +-0.25 -0.433012702 0.166666667 +-0.333333333 -0.577350269 0.166666667 +-0.25 -0.433012702 0.5 +-0.333333333 -0.577350269 0.5 +-0.416666667 -0.721687836 -0.5 +-0.5 -0.866025404 -0.5 +-0.416666667 -0.721687836 -0.166666667 +-0.5 -0.866025404 -0.166666667 +-0.721687836 -0.416666667 -0.5 +-0.866025404 -0.5 -0.5 +-0.721687836 -0.416666667 -0.166666667 +-0.866025404 -0.5 -0.166666667 +-0.333333333 -0.577350269 -0.5 +-0.416666667 -0.721687836 -0.5 +-0.333333333 -0.577350269 -0.166666667 +-0.416666667 -0.721687836 -0.166666667 +-0.577350269 -0.333333333 -0.5 +-0.721687836 -0.416666667 -0.5 +-0.577350269 -0.333333333 -0.166666667 +-0.721687836 -0.416666667 -0.166666667 +-0.25 -0.433012702 -0.5 +-0.333333333 -0.577350269 -0.5 +-0.25 -0.433012702 -0.166666667 +-0.333333333 -0.577350269 -0.166666667 +-0.433012702 -0.25 -0.5 +-0.577350269 -0.333333333 -0.5 +-0.433012702 -0.25 -0.166666667 +-0.577350269 -0.333333333 -0.166666667 +-0.416666667 -0.721687836 -0.166666667 +-0.5 -0.866025404 -0.166666667 +-0.416666667 -0.721687836 0.166666667 +-0.5 -0.866025404 0.166666667 +-0.721687836 -0.416666667 -0.166666667 +-0.866025404 -0.5 -0.166666667 +-0.721687836 -0.416666667 0.166666667 +-0.866025404 -0.5 0.166666667 +-0.333333333 -0.577350269 -0.166666667 +-0.416666667 -0.721687836 -0.166666667 +-0.333333333 -0.577350269 0.166666667 +-0.416666667 -0.721687836 0.166666667 +-0.577350269 -0.333333333 -0.166666667 +-0.721687836 -0.416666667 -0.166666667 +-0.577350269 -0.333333333 0.166666667 +-0.721687836 -0.416666667 0.166666667 +-0.25 -0.433012702 -0.166666667 +-0.333333333 -0.577350269 -0.166666667 +-0.25 -0.433012702 0.166666667 +-0.333333333 -0.577350269 0.166666667 +-0.433012702 -0.25 -0.166666667 +-0.577350269 -0.333333333 -0.166666667 +-0.433012702 -0.25 0.166666667 +-0.577350269 -0.333333333 0.166666667 +-0.416666667 -0.721687836 0.166666667 +-0.5 -0.866025404 0.166666667 +-0.416666667 -0.721687836 0.5 +-0.5 -0.866025404 0.5 +-0.721687836 -0.416666667 0.166666667 +-0.866025404 -0.5 0.166666667 +-0.721687836 -0.416666667 0.5 +-0.866025404 -0.5 0.5 +-0.333333333 -0.577350269 0.166666667 +-0.416666667 -0.721687836 0.166666667 +-0.333333333 -0.577350269 0.5 +-0.416666667 -0.721687836 0.5 +-0.577350269 -0.333333333 0.166666667 +-0.721687836 -0.416666667 0.166666667 +-0.577350269 -0.333333333 0.5 +-0.721687836 -0.416666667 0.5 +-0.25 -0.433012702 0.166666667 +-0.333333333 -0.577350269 0.166666667 +-0.25 -0.433012702 0.5 +-0.333333333 -0.577350269 0.5 +-0.433012702 -0.25 0.166666667 +-0.577350269 -0.333333333 0.166666667 +-0.433012702 -0.25 0.5 +-0.577350269 -0.333333333 0.5 +-0.721687836 -0.416666667 -0.5 +-0.866025404 -0.5 -0.5 +-0.721687836 -0.416666667 -0.166666667 +-0.866025404 -0.5 -0.166666667 +-0.833333333 0 -0.5 +-1 0 -0.5 +-0.833333333 0 -0.166666667 +-1 0 -0.166666667 +-0.577350269 -0.333333333 -0.5 +-0.721687836 -0.416666667 -0.5 +-0.577350269 -0.333333333 -0.166666667 +-0.721687836 -0.416666667 -0.166666667 +-0.666666667 0 -0.5 +-0.833333333 0 -0.5 +-0.666666667 0 -0.166666667 +-0.833333333 0 -0.166666667 +-0.433012702 -0.25 -0.5 +-0.577350269 -0.333333333 -0.5 +-0.433012702 -0.25 -0.166666667 +-0.577350269 -0.333333333 -0.166666667 +-0.5 0 -0.5 +-0.666666667 0 -0.5 +-0.5 0 -0.166666667 +-0.666666667 0 -0.166666667 +-0.721687836 -0.416666667 -0.166666667 +-0.866025404 -0.5 -0.166666667 +-0.721687836 -0.416666667 0.166666667 +-0.866025404 -0.5 0.166666667 +-0.833333333 0 -0.166666667 +-1 0 -0.166666667 +-0.833333333 0 0.166666667 +-1 0 0.166666667 +-0.577350269 -0.333333333 -0.166666667 +-0.721687836 -0.416666667 -0.166666667 +-0.577350269 -0.333333333 0.166666667 +-0.721687836 -0.416666667 0.166666667 +-0.666666667 0 -0.166666667 +-0.833333333 0 -0.166666667 +-0.666666667 0 0.166666667 +-0.833333333 0 0.166666667 +-0.433012702 -0.25 -0.166666667 +-0.577350269 -0.333333333 -0.166666667 +-0.433012702 -0.25 0.166666667 +-0.577350269 -0.333333333 0.166666667 +-0.5 0 -0.166666667 +-0.666666667 0 -0.166666667 +-0.5 0 0.166666667 +-0.666666667 0 0.166666667 +-0.721687836 -0.416666667 0.166666667 +-0.866025404 -0.5 0.166666667 +-0.721687836 -0.416666667 0.5 +-0.866025404 -0.5 0.5 +-0.833333333 0 0.166666667 +-1 0 0.166666667 +-0.833333333 0 0.5 +-1 0 0.5 +-0.577350269 -0.333333333 0.166666667 +-0.721687836 -0.416666667 0.166666667 +-0.577350269 -0.333333333 0.5 +-0.721687836 -0.416666667 0.5 +-0.666666667 0 0.166666667 +-0.833333333 0 0.166666667 +-0.666666667 0 0.5 +-0.833333333 0 0.5 +-0.433012702 -0.25 0.166666667 +-0.577350269 -0.333333333 0.166666667 +-0.433012702 -0.25 0.5 +-0.577350269 -0.333333333 0.5 +-0.5 0 0.166666667 +-0.666666667 0 0.166666667 +-0.5 0 0.5 +-0.666666667 0 0.5 +-0.5 0 0.166666667 +-0.666666667 0 0.166666667 +-0.5 0 0.5 +-0.666666667 0 0.5 +-0.433012702 0.25 0.166666667 +-0.577350269 0.333333333 0.166666667 +-0.433012702 0.25 0.5 +-0.577350269 0.333333333 0.5 +-0.666666667 0 0.166666667 +-0.833333333 0 0.166666667 +-0.666666667 0 0.5 +-0.833333333 0 0.5 +-0.577350269 0.333333333 0.166666667 +-0.721687836 0.416666667 0.166666667 +-0.577350269 0.333333333 0.5 +-0.721687836 0.416666667 0.5 +-0.833333333 0 0.166666667 +-1 0 0.166666667 +-0.833333333 0 0.5 +-1 0 0.5 +-0.721687836 0.416666667 0.166666667 +-0.866025404 0.5 0.166666667 +-0.721687836 0.416666667 0.5 +-0.866025404 0.5 0.5 +-0.5 0 -0.166666667 +-0.666666667 0 -0.166666667 +-0.5 0 0.166666667 +-0.666666667 0 0.166666667 +-0.433012702 0.25 -0.166666667 +-0.577350269 0.333333333 -0.166666667 +-0.433012702 0.25 0.166666667 +-0.577350269 0.333333333 0.166666667 +-0.666666667 0 -0.166666667 +-0.833333333 0 -0.166666667 +-0.666666667 0 0.166666667 +-0.833333333 0 0.166666667 +-0.577350269 0.333333333 -0.166666667 +-0.721687836 0.416666667 -0.166666667 +-0.577350269 0.333333333 0.166666667 +-0.721687836 0.416666667 0.166666667 +-0.833333333 0 -0.166666667 +-1 0 -0.166666667 +-0.833333333 0 0.166666667 +-1 0 0.166666667 +-0.721687836 0.416666667 -0.166666667 +-0.866025404 0.5 -0.166666667 +-0.721687836 0.416666667 0.166666667 +-0.866025404 0.5 0.166666667 +-0.5 0 -0.5 +-0.666666667 0 -0.5 +-0.5 0 -0.166666667 +-0.666666667 0 -0.166666667 +-0.433012702 0.25 -0.5 +-0.577350269 0.333333333 -0.5 +-0.433012702 0.25 -0.166666667 +-0.577350269 0.333333333 -0.166666667 +-0.666666667 0 -0.5 +-0.833333333 0 -0.5 +-0.666666667 0 -0.166666667 +-0.833333333 0 -0.166666667 +-0.577350269 0.333333333 -0.5 +-0.721687836 0.416666667 -0.5 +-0.577350269 0.333333333 -0.166666667 +-0.721687836 0.416666667 -0.166666667 +-0.833333333 0 -0.5 +-1 0 -0.5 +-0.833333333 0 -0.166666667 +-1 0 -0.166666667 +-0.721687836 0.416666667 -0.5 +-0.866025404 0.5 -0.5 +-0.721687836 0.416666667 -0.166666667 +-0.866025404 0.5 -0.166666667 +-0.433012702 0.25 0.166666667 +-0.577350269 0.333333333 0.166666667 +-0.433012702 0.25 0.5 +-0.577350269 0.333333333 0.5 +-0.25 0.433012702 0.166666667 +-0.333333333 0.577350269 0.166666667 +-0.25 0.433012702 0.5 +-0.333333333 0.577350269 0.5 +-0.577350269 0.333333333 0.166666667 +-0.721687836 0.416666667 0.166666667 +-0.577350269 0.333333333 0.5 +-0.721687836 0.416666667 0.5 +-0.333333333 0.577350269 0.166666667 +-0.416666667 0.721687836 0.166666667 +-0.333333333 0.577350269 0.5 +-0.416666667 0.721687836 0.5 +-0.721687836 0.416666667 0.166666667 +-0.866025404 0.5 0.166666667 +-0.721687836 0.416666667 0.5 +-0.866025404 0.5 0.5 +-0.416666667 0.721687836 0.166666667 +-0.5 0.866025404 0.166666667 +-0.416666667 0.721687836 0.5 +-0.5 0.866025404 0.5 +-0.433012702 0.25 -0.166666667 +-0.577350269 0.333333333 -0.166666667 +-0.433012702 0.25 0.166666667 +-0.577350269 0.333333333 0.166666667 +-0.25 0.433012702 -0.166666667 +-0.333333333 0.577350269 -0.166666667 +-0.25 0.433012702 0.166666667 +-0.333333333 0.577350269 0.166666667 +-0.577350269 0.333333333 -0.166666667 +-0.721687836 0.416666667 -0.166666667 +-0.577350269 0.333333333 0.166666667 +-0.721687836 0.416666667 0.166666667 +-0.333333333 0.577350269 -0.166666667 +-0.416666667 0.721687836 -0.166666667 +-0.333333333 0.577350269 0.166666667 +-0.416666667 0.721687836 0.166666667 +-0.721687836 0.416666667 -0.166666667 +-0.866025404 0.5 -0.166666667 +-0.721687836 0.416666667 0.166666667 +-0.866025404 0.5 0.166666667 +-0.416666667 0.721687836 -0.166666667 +-0.5 0.866025404 -0.166666667 +-0.416666667 0.721687836 0.166666667 +-0.5 0.866025404 0.166666667 +-0.433012702 0.25 -0.5 +-0.577350269 0.333333333 -0.5 +-0.433012702 0.25 -0.166666667 +-0.577350269 0.333333333 -0.166666667 +-0.25 0.433012702 -0.5 +-0.333333333 0.577350269 -0.5 +-0.25 0.433012702 -0.166666667 +-0.333333333 0.577350269 -0.166666667 +-0.577350269 0.333333333 -0.5 +-0.721687836 0.416666667 -0.5 +-0.577350269 0.333333333 -0.166666667 +-0.721687836 0.416666667 -0.166666667 +-0.333333333 0.577350269 -0.5 +-0.416666667 0.721687836 -0.5 +-0.333333333 0.577350269 -0.166666667 +-0.416666667 0.721687836 -0.166666667 +-0.721687836 0.416666667 -0.5 +-0.866025404 0.5 -0.5 +-0.721687836 0.416666667 -0.166666667 +-0.866025404 0.5 -0.166666667 +-0.416666667 0.721687836 -0.5 +-0.5 0.866025404 -0.5 +-0.416666667 0.721687836 -0.166666667 +-0.5 0.866025404 -0.166666667 +-0.25 0.433012702 0.166666667 +-0.333333333 0.577350269 0.166666667 +-0.25 0.433012702 0.5 +-0.333333333 0.577350269 0.5 +0 0.5 0.166666667 +0 0.666666667 0.166666667 +0 0.5 0.5 +0 0.666666667 0.5 +-0.333333333 0.577350269 0.166666667 +-0.416666667 0.721687836 0.166666667 +-0.333333333 0.577350269 0.5 +-0.416666667 0.721687836 0.5 +0 0.666666667 0.166666667 +0 0.833333333 0.166666667 +0 0.666666667 0.5 +0 0.833333333 0.5 +-0.416666667 0.721687836 0.166666667 +-0.5 0.866025404 0.166666667 +-0.416666667 0.721687836 0.5 +-0.5 0.866025404 0.5 +0 0.833333333 0.166666667 +0 1 0.166666667 +0 0.833333333 0.5 +0 1 0.5 +-0.25 0.433012702 -0.166666667 +-0.333333333 0.577350269 -0.166666667 +-0.25 0.433012702 0.166666667 +-0.333333333 0.577350269 0.166666667 +0 0.5 -0.166666667 +0 0.666666667 -0.166666667 +0 0.5 0.166666667 +0 0.666666667 0.166666667 +-0.333333333 0.577350269 -0.166666667 +-0.416666667 0.721687836 -0.166666667 +-0.333333333 0.577350269 0.166666667 +-0.416666667 0.721687836 0.166666667 +0 0.666666667 -0.166666667 +0 0.833333333 -0.166666667 +0 0.666666667 0.166666667 +0 0.833333333 0.166666667 +-0.416666667 0.721687836 -0.166666667 +-0.5 0.866025404 -0.166666667 +-0.416666667 0.721687836 0.166666667 +-0.5 0.866025404 0.166666667 +0 0.833333333 -0.166666667 +0 1 -0.166666667 +0 0.833333333 0.166666667 +0 1 0.166666667 +-0.25 0.433012702 -0.5 +-0.333333333 0.577350269 -0.5 +-0.25 0.433012702 -0.166666667 +-0.333333333 0.577350269 -0.166666667 +0 0.5 -0.5 +0 0.666666667 -0.5 +0 0.5 -0.166666667 +0 0.666666667 -0.166666667 +-0.333333333 0.577350269 -0.5 +-0.416666667 0.721687836 -0.5 +-0.333333333 0.577350269 -0.166666667 +-0.416666667 0.721687836 -0.166666667 +0 0.666666667 -0.5 +0 0.833333333 -0.5 +0 0.666666667 -0.166666667 +0 0.833333333 -0.166666667 +-0.416666667 0.721687836 -0.5 +-0.5 0.866025404 -0.5 +-0.416666667 0.721687836 -0.166666667 +-0.5 0.866025404 -0.166666667 +0 0.833333333 -0.5 +0 1 -0.5 +0 0.833333333 -0.166666667 +0 1 -0.166666667 + + + + +0 1 3 2 4 5 7 6 +8 9 11 10 12 13 15 14 +16 17 19 18 20 21 23 22 +24 25 27 26 28 29 31 30 +32 33 35 34 36 37 39 38 +40 41 43 42 44 45 47 46 +48 49 51 50 52 53 55 54 +56 57 59 58 60 61 63 62 +64 65 67 66 68 69 71 70 +72 73 75 74 76 77 79 78 +80 81 83 82 84 85 87 86 +88 89 91 90 92 93 95 94 +96 97 99 98 100 101 103 102 +104 105 107 106 108 109 111 110 +112 113 115 114 116 117 119 118 +120 121 123 122 124 125 127 126 +128 129 131 130 132 133 135 134 +136 137 139 138 140 141 143 142 +144 145 147 146 148 149 151 150 +152 153 155 154 156 157 159 158 +160 161 163 162 164 165 167 166 +168 169 171 170 172 173 175 174 +176 177 179 178 180 181 183 182 +184 185 187 186 188 189 191 190 +192 193 195 194 196 197 199 198 +200 201 203 202 204 205 207 206 +208 209 211 210 212 213 215 214 +216 217 219 218 220 221 223 222 +224 225 227 226 228 229 231 230 +232 233 235 234 236 237 239 238 +240 241 243 242 244 245 247 246 +248 249 251 250 252 253 255 254 +256 257 259 258 260 261 263 262 +264 265 267 266 268 269 271 270 +272 273 275 274 276 277 279 278 +280 281 283 282 284 285 287 286 +288 289 291 290 292 293 295 294 +296 297 299 298 300 301 303 302 +304 305 307 306 308 309 311 310 +312 313 315 314 316 317 319 318 +320 321 323 322 324 325 327 326 +328 329 331 330 332 333 335 334 +336 337 339 338 340 341 343 342 +344 345 347 346 348 349 351 350 +352 353 355 354 356 357 359 358 +360 361 363 362 364 365 367 366 +368 369 371 370 372 373 375 374 +376 377 379 378 380 381 383 382 +384 385 387 386 388 389 391 390 +392 393 395 394 396 397 399 398 +400 401 403 402 404 405 407 406 +408 409 411 410 412 413 415 414 +416 417 419 418 420 421 423 422 +424 425 427 426 428 429 431 430 +432 433 435 434 436 437 439 438 +440 441 443 442 444 445 447 446 +448 449 451 450 452 453 455 454 +456 457 459 458 460 461 463 462 +464 465 467 466 468 469 471 470 +472 473 475 474 476 477 479 478 +480 481 483 482 484 485 487 486 +488 489 491 490 492 493 495 494 +496 497 499 498 500 501 503 502 +504 505 507 506 508 509 511 510 +512 513 515 514 516 517 519 518 +520 521 523 522 524 525 527 526 +528 529 531 530 532 533 535 534 +536 537 539 538 540 541 543 542 +544 545 547 546 548 549 551 550 +552 553 555 554 556 557 559 558 +560 561 563 562 564 565 567 566 +568 569 571 570 572 573 575 574 +576 577 579 578 580 581 583 582 +584 585 587 586 588 589 591 590 +592 593 595 594 596 597 599 598 +600 601 603 602 604 605 607 606 +608 609 611 610 612 613 615 614 +616 617 619 618 620 621 623 622 +624 625 627 626 628 629 631 630 +632 633 635 634 636 637 639 638 +640 641 643 642 644 645 647 646 +648 649 651 650 652 653 655 654 +656 657 659 658 660 661 663 662 +664 665 667 666 668 669 671 670 +672 673 675 674 676 677 679 678 +680 681 683 682 684 685 687 686 +688 689 691 690 692 693 695 694 +696 697 699 698 700 701 703 702 +704 705 707 706 708 709 711 710 +712 713 715 714 716 717 719 718 +720 721 723 722 724 725 727 726 +728 729 731 730 732 733 735 734 +736 737 739 738 740 741 743 742 +744 745 747 746 748 749 751 750 +752 753 755 754 756 757 759 758 +760 761 763 762 764 765 767 766 +768 769 771 770 772 773 775 774 +776 777 779 778 780 781 783 782 +784 785 787 786 788 789 791 790 +792 793 795 794 796 797 799 798 +800 801 803 802 804 805 807 806 +808 809 811 810 812 813 815 814 +816 817 819 818 820 821 823 822 +824 825 827 826 828 829 831 830 +832 833 835 834 836 837 839 838 +840 841 843 842 844 845 847 846 +848 849 851 850 852 853 855 854 +856 857 859 858 860 861 863 862 +864 865 867 866 868 869 871 870 +872 873 875 874 876 877 879 878 +880 881 883 882 884 885 887 886 +888 889 891 890 892 893 895 894 +896 897 899 898 900 901 903 902 +904 905 907 906 908 909 911 910 +912 913 915 914 916 917 919 918 +920 921 923 922 924 925 927 926 +928 929 931 930 932 933 935 934 +936 937 939 938 940 941 943 942 +944 945 947 946 948 949 951 950 +952 953 955 954 956 957 959 958 +960 961 963 962 964 965 967 966 +968 969 971 970 972 973 975 974 +976 977 979 978 980 981 983 982 +984 985 987 986 988 989 991 990 +992 993 995 994 996 997 999 998 +1000 1001 1003 1002 1004 1005 1007 1006 +1008 1009 1011 1010 1012 1013 1015 1014 +1016 1017 1019 1018 1020 1021 1023 1022 +1024 1025 1027 1026 1028 1029 1031 1030 +1032 1033 1035 1034 1036 1037 1039 1038 +1040 1041 1043 1042 1044 1045 1047 1046 +1048 1049 1051 1050 1052 1053 1055 1054 +1056 1057 1059 1058 1060 1061 1063 1062 +1064 1065 1067 1066 1068 1069 1071 1070 +1072 1073 1075 1074 1076 1077 1079 1078 +1080 1081 1083 1082 1084 1085 1087 1086 +1088 1089 1091 1090 1092 1093 1095 1094 +1096 1097 1099 1098 1100 1101 1103 1102 +1104 1105 1107 1106 1108 1109 1111 1110 +1112 1113 1115 1114 1116 1117 1119 1118 +1120 1121 1123 1122 1124 1125 1127 1126 +1128 1129 1131 1130 1132 1133 1135 1134 +1136 1137 1139 1138 1140 1141 1143 1142 +1144 1145 1147 1146 1148 1149 1151 1150 +1152 1153 1155 1154 1156 1157 1159 1158 +1160 1161 1163 1162 1164 1165 1167 1166 +1168 1169 1171 1170 1172 1173 1175 1174 +1176 1177 1179 1178 1180 1181 1183 1182 +1184 1185 1187 1186 1188 1189 1191 1190 +1192 1193 1195 1194 1196 1197 1199 1198 +1200 1201 1203 1202 1204 1205 1207 1206 +1208 1209 1211 1210 1212 1213 1215 1214 +1216 1217 1219 1218 1220 1221 1223 1222 +1224 1225 1227 1226 1228 1229 1231 1230 +1232 1233 1235 1234 1236 1237 1239 1238 +1240 1241 1243 1242 1244 1245 1247 1246 +1248 1249 1251 1250 1252 1253 1255 1254 +1256 1257 1259 1258 1260 1261 1263 1262 +1264 1265 1267 1266 1268 1269 1271 1270 +1272 1273 1275 1274 1276 1277 1279 1278 +1280 1281 1283 1282 1284 1285 1287 1286 +1288 1289 1291 1290 1292 1293 1295 1294 +1296 1297 1299 1298 1300 1301 1303 1302 +1304 1305 1307 1306 1308 1309 1311 1310 +1312 1313 1315 1314 1316 1317 1319 1318 +1320 1321 1323 1322 1324 1325 1327 1326 +1328 1329 1331 1330 1332 1333 1335 1334 +1336 1337 1339 1338 1340 1341 1343 1342 +1344 1345 1347 1346 1348 1349 1351 1350 +1352 1353 1355 1354 1356 1357 1359 1358 +1360 1361 1363 1362 1364 1365 1367 1366 +1368 1369 1371 1370 1372 1373 1375 1374 +1376 1377 1379 1378 1380 1381 1383 1382 +1384 1385 1387 1386 1388 1389 1391 1390 +1392 1393 1395 1394 1396 1397 1399 1398 +1400 1401 1403 1402 1404 1405 1407 1406 +1408 1409 1411 1410 1412 1413 1415 1414 +1416 1417 1419 1418 1420 1421 1423 1422 +1424 1425 1427 1426 1428 1429 1431 1430 +1432 1433 1435 1434 1436 1437 1439 1438 +1440 1441 1443 1442 1444 1445 1447 1446 +1448 1449 1451 1450 1452 1453 1455 1454 +1456 1457 1459 1458 1460 1461 1463 1462 +1464 1465 1467 1466 1468 1469 1471 1470 +1472 1473 1475 1474 1476 1477 1479 1478 +1480 1481 1483 1482 1484 1485 1487 1486 +1488 1489 1491 1490 1492 1493 1495 1494 +1496 1497 1499 1498 1500 1501 1503 1502 +1504 1505 1507 1506 1508 1509 1511 1510 +1512 1513 1515 1514 1516 1517 1519 1518 +1520 1521 1523 1522 1524 1525 1527 1526 +1528 1529 1531 1530 1532 1533 1535 1534 +1536 1537 1539 1538 1540 1541 1543 1542 +1544 1545 1547 1546 1548 1549 1551 1550 +1552 1553 1555 1554 1556 1557 1559 1558 +1560 1561 1563 1562 1564 1565 1567 1566 +1568 1569 1571 1570 1572 1573 1575 1574 +1576 1577 1579 1578 1580 1581 1583 1582 +1584 1585 1587 1586 1588 1589 1591 1590 +1592 1593 1595 1594 1596 1597 1599 1598 +1600 1601 1603 1602 1604 1605 1607 1606 +1608 1609 1611 1610 1612 1613 1615 1614 +1616 1617 1619 1618 1620 1621 1623 1622 +1624 1625 1627 1626 1628 1629 1631 1630 +1632 1633 1635 1634 1636 1637 1639 1638 +1640 1641 1643 1642 1644 1645 1647 1646 +1648 1649 1651 1650 1652 1653 1655 1654 +1656 1657 1659 1658 1660 1661 1663 1662 +1664 1665 1667 1666 1668 1669 1671 1670 +1672 1673 1675 1674 1676 1677 1679 1678 +1680 1681 1683 1682 1684 1685 1687 1686 +1688 1689 1691 1690 1692 1693 1695 1694 +1696 1697 1699 1698 1700 1701 1703 1702 +1704 1705 1707 1706 1708 1709 1711 1710 +1712 1713 1715 1714 1716 1717 1719 1718 +1720 1721 1723 1722 1724 1725 1727 1726 +1728 1729 1731 1730 1732 1733 1735 1734 +1736 1737 1739 1738 1740 1741 1743 1742 +1744 1745 1747 1746 1748 1749 1751 1750 +1752 1753 1755 1754 1756 1757 1759 1758 +1760 1761 1763 1762 1764 1765 1767 1766 +1768 1769 1771 1770 1772 1773 1775 1774 +1776 1777 1779 1778 1780 1781 1783 1782 +1784 1785 1787 1786 1788 1789 1791 1790 +1792 1793 1795 1794 1796 1797 1799 1798 +1800 1801 1803 1802 1804 1805 1807 1806 +1808 1809 1811 1810 1812 1813 1815 1814 +1816 1817 1819 1818 1820 1821 1823 1822 +1824 1825 1827 1826 1828 1829 1831 1830 +1832 1833 1835 1834 1836 1837 1839 1838 +1840 1841 1843 1842 1844 1845 1847 1846 +1848 1849 1851 1850 1852 1853 1855 1854 +1856 1857 1859 1858 1860 1861 1863 1862 +1864 1865 1867 1866 1868 1869 1871 1870 +1872 1873 1875 1874 1876 1877 1879 1878 +1880 1881 1883 1882 1884 1885 1887 1886 +1888 1889 1891 1890 1892 1893 1895 1894 +1896 1897 1899 1898 1900 1901 1903 1902 +1904 1905 1907 1906 1908 1909 1911 1910 +1912 1913 1915 1914 1916 1917 1919 1918 +1920 1921 1923 1922 1924 1925 1927 1926 +1928 1929 1931 1930 1932 1933 1935 1934 +1936 1937 1939 1938 1940 1941 1943 1942 +1944 1945 1947 1946 1948 1949 1951 1950 +1952 1953 1955 1954 1956 1957 1959 1958 +1960 1961 1963 1962 1964 1965 1967 1966 +1968 1969 1971 1970 1972 1973 1975 1974 +1976 1977 1979 1978 1980 1981 1983 1982 +1984 1985 1987 1986 1988 1989 1991 1990 +1992 1993 1995 1994 1996 1997 1999 1998 +2000 2001 2003 2002 2004 2005 2007 2006 +2008 2009 2011 2010 2012 2013 2015 2014 + + +8 +16 +24 +32 +40 +48 +56 +64 +72 +80 +88 +96 +104 +112 +120 +128 +136 +144 +152 +160 +168 +176 +184 +192 +200 +208 +216 +224 +232 +240 +248 +256 +264 +272 +280 +288 +296 +304 +312 +320 +328 +336 +344 +352 +360 +368 +376 +384 +392 +400 +408 +416 +424 +432 +440 +448 +456 +464 +472 +480 +488 +496 +504 +512 +520 +528 +536 +544 +552 +560 +568 +576 +584 +592 +600 +608 +616 +624 +632 +640 +648 +656 +664 +672 +680 +688 +696 +704 +712 +720 +728 +736 +744 +752 +760 +768 +776 +784 +792 +800 +808 +816 +824 +832 +840 +848 +856 +864 +872 +880 +888 +896 +904 +912 +920 +928 +936 +944 +952 +960 +968 +976 +984 +992 +1000 +1008 +1016 +1024 +1032 +1040 +1048 +1056 +1064 +1072 +1080 +1088 +1096 +1104 +1112 +1120 +1128 +1136 +1144 +1152 +1160 +1168 +1176 +1184 +1192 +1200 +1208 +1216 +1224 +1232 +1240 +1248 +1256 +1264 +1272 +1280 +1288 +1296 +1304 +1312 +1320 +1328 +1336 +1344 +1352 +1360 +1368 +1376 +1384 +1392 +1400 +1408 +1416 +1424 +1432 +1440 +1448 +1456 +1464 +1472 +1480 +1488 +1496 +1504 +1512 +1520 +1528 +1536 +1544 +1552 +1560 +1568 +1576 +1584 +1592 +1600 +1608 +1616 +1624 +1632 +1640 +1648 +1656 +1664 +1672 +1680 +1688 +1696 +1704 +1712 +1720 +1728 +1736 +1744 +1752 +1760 +1768 +1776 +1784 +1792 +1800 +1808 +1816 +1824 +1832 +1840 +1848 +1856 +1864 +1872 +1880 +1888 +1896 +1904 +1912 +1920 +1928 +1936 +1944 +1952 +1960 +1968 +1976 +1984 +1992 +2000 +2008 +2016 + + +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 + + + + +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 + + + + +0.666666667 +0.666666667 +0.666666667 +0.666666667 +1 +1 +1 +1 +0.666666667 +0.666666667 +0.666666667 +0.666666667 +1 +1 +1 +1 +0.666666667 +0.666666667 +0.666666667 +0.666666667 +1 +1 +1 +1 +0.666666667 +0.666666667 +0.666666667 +0.666666667 +1 +1 +1 +1 +0.666666667 +0.666666667 +0.666666667 +0.666666667 +1 +1 +1 +1 +0.666666667 +0.666666667 +0.666666667 +0.666666667 +1 +1 +1 +1 +0.666666667 +0.666666667 +0.666666667 +0.666666667 +1 +1 +1 +1 +0.666666667 +0.666666667 +0.666666667 +0.666666667 +1 +1 +1 +1 +0.666666667 +0.666666667 +0.666666667 +0.666666667 +1 +1 +1 +1 +0.666666667 +0.666666667 +0.666666667 +0.666666667 +1 +1 +1 +1 +0.666666667 +0.666666667 +0.666666667 +0.666666667 +1 +1 +1 +1 +0.666666667 +0.666666667 +0.666666667 +0.666666667 +1 +1 +1 +1 +0.333333333 +0.333333333 +0.333333333 +0.333333333 +0.666666667 +0.666666667 +0.666666667 +0.666666667 +0.333333333 +0.333333333 +0.333333333 +0.333333333 +0.666666667 +0.666666667 +0.666666667 +0.666666667 +0.333333333 +0.333333333 +0.333333333 +0.333333333 +0.666666667 +0.666666667 +0.666666667 +0.666666667 +0.333333333 +0.333333333 +0.333333333 +0.333333333 +0.666666667 +0.666666667 +0.666666667 +0.666666667 +0.333333333 +0.333333333 +0.333333333 +0.333333333 +0.666666667 +0.666666667 +0.666666667 +0.666666667 +0.333333333 +0.333333333 +0.333333333 +0.333333333 +0.666666667 +0.666666667 +0.666666667 +0.666666667 +0.333333333 +0.333333333 +0.333333333 +0.333333333 +0.666666667 +0.666666667 +0.666666667 +0.666666667 +0.333333333 +0.333333333 +0.333333333 +0.333333333 +0.666666667 +0.666666667 +0.666666667 +0.666666667 +0.333333333 +0.333333333 +0.333333333 +0.333333333 +0.666666667 +0.666666667 +0.666666667 +0.666666667 +0.333333333 +0.333333333 +0.333333333 +0.333333333 +0.666666667 +0.666666667 +0.666666667 +0.666666667 +0.333333333 +0.333333333 +0.333333333 +0.333333333 +0.666666667 +0.666666667 +0.666666667 +0.666666667 +0.333333333 +0.333333333 +0.333333333 +0.333333333 +0.666666667 +0.666666667 +0.666666667 +0.666666667 +0 +0 +0 +0 +0.333333333 +0.333333333 +0.333333333 +0.333333333 +0 +0 +0 +0 +0.333333333 +0.333333333 +0.333333333 +0.333333333 +0 +0 +0 +0 +0.333333333 +0.333333333 +0.333333333 +0.333333333 +0 +0 +0 +0 +0.333333333 +0.333333333 +0.333333333 +0.333333333 +0 +0 +0 +0 +0.333333333 +0.333333333 +0.333333333 +0.333333333 +0 +0 +0 +0 +0.333333333 +0.333333333 +0.333333333 +0.333333333 +0 +0 +0 +0 +0.333333333 +0.333333333 +0.333333333 +0.333333333 +0 +0 +0 +0 +0.333333333 +0.333333333 +0.333333333 +0.333333333 +0 +0 +0 +0 +0.333333333 +0.333333333 +0.333333333 +0.333333333 +0 +0 +0 +0 +0.333333333 +0.333333333 +0.333333333 +0.333333333 +0 +0 +0 +0 +0.333333333 +0.333333333 +0.333333333 +0.333333333 +0 +0 +0 +0 +0.333333333 +0.333333333 +0.333333333 +0.333333333 +0.666666667 +0.666666667 +0.666666667 +0.666666667 +1 +1 +1 +1 +0.666666667 +0.666666667 +0.666666667 +0.666666667 +1 +1 +1 +1 +0.666666667 +0.666666667 +0.666666667 +0.666666667 +1 +1 +1 +1 +0.666666667 +0.666666667 +0.666666667 +0.666666667 +1 +1 +1 +1 +0.666666667 +0.666666667 +0.666666667 +0.666666667 +1 +1 +1 +1 +0.666666667 +0.666666667 +0.666666667 +0.666666667 +1 +1 +1 +1 +0.666666667 +0.666666667 +0.666666667 +0.666666667 +1 +1 +1 +1 +0.666666667 +0.666666667 +0.666666667 +0.666666667 +1 +1 +1 +1 +0.666666667 +0.666666667 +0.666666667 +0.666666667 +1 +1 +1 +1 +0.666666667 +0.666666667 +0.666666667 +0.666666667 +1 +1 +1 +1 +0.666666667 +0.666666667 +0.666666667 +0.666666667 +1 +1 +1 +1 +0.666666667 +0.666666667 +0.666666667 +0.666666667 +1 +1 +1 +1 +0.333333333 +0.333333333 +0.333333333 +0.333333333 +0.666666667 +0.666666667 +0.666666667 +0.666666667 +0.333333333 +0.333333333 +0.333333333 +0.333333333 +0.666666667 +0.666666667 +0.666666667 +0.666666667 +0.333333333 +0.333333333 +0.333333333 +0.333333333 +0.666666667 +0.666666667 +0.666666667 +0.666666667 +0.333333333 +0.333333333 +0.333333333 +0.333333333 +0.666666667 +0.666666667 +0.666666667 +0.666666667 +0.333333333 +0.333333333 +0.333333333 +0.333333333 +0.666666667 +0.666666667 +0.666666667 +0.666666667 +0.333333333 +0.333333333 +0.333333333 +0.333333333 +0.666666667 +0.666666667 +0.666666667 +0.666666667 +0.333333333 +0.333333333 +0.333333333 +0.333333333 +0.666666667 +0.666666667 +0.666666667 +0.666666667 +0.333333333 +0.333333333 +0.333333333 +0.333333333 +0.666666667 +0.666666667 +0.666666667 +0.666666667 +0.333333333 +0.333333333 +0.333333333 +0.333333333 +0.666666667 +0.666666667 +0.666666667 +0.666666667 +0.333333333 +0.333333333 +0.333333333 +0.333333333 +0.666666667 +0.666666667 +0.666666667 +0.666666667 +0.333333333 +0.333333333 +0.333333333 +0.333333333 +0.666666667 +0.666666667 +0.666666667 +0.666666667 +0.333333333 +0.333333333 +0.333333333 +0.333333333 +0.666666667 +0.666666667 +0.666666667 +0.666666667 +0 +0 +0 +0 +0.333333333 +0.333333333 +0.333333333 +0.333333333 +0 +0 +0 +0 +0.333333333 +0.333333333 +0.333333333 +0.333333333 +0 +0 +0 +0 +0.333333333 +0.333333333 +0.333333333 +0.333333333 +0 +0 +0 +0 +0.333333333 +0.333333333 +0.333333333 +0.333333333 +0 +0 +0 +0 +0.333333333 +0.333333333 +0.333333333 +0.333333333 +0 +0 +0 +0 +0.333333333 +0.333333333 +0.333333333 +0.333333333 +0 +0 +0 +0 +0.333333333 +0.333333333 +0.333333333 +0.333333333 +0 +0 +0 +0 +0.333333333 +0.333333333 +0.333333333 +0.333333333 +0 +0 +0 +0 +0.333333333 +0.333333333 +0.333333333 +0.333333333 +0 +0 +0 +0 +0.333333333 +0.333333333 +0.333333333 +0.333333333 +0 +0 +0 +0 +0.333333333 +0.333333333 +0.333333333 +0.333333333 +0 +0 +0 +0 +0.333333333 +0.333333333 +0.333333333 +0.333333333 +0.666666667 +0.666666667 +0.666666667 +0.666666667 +1 +1 +1 +1 +0.666666667 +0.666666667 +0.666666667 +0.666666667 +1 +1 +1 +1 +0.666666667 +0.666666667 +0.666666667 +0.666666667 +1 +1 +1 +1 +0.666666667 +0.666666667 +0.666666667 +0.666666667 +1 +1 +1 +1 +0.666666667 +0.666666667 +0.666666667 +0.666666667 +1 +1 +1 +1 +0.666666667 +0.666666667 +0.666666667 +0.666666667 +1 +1 +1 +1 +0.666666667 +0.666666667 +0.666666667 +0.666666667 +1 +1 +1 +1 +0.666666667 +0.666666667 +0.666666667 +0.666666667 +1 +1 +1 +1 +0.666666667 +0.666666667 +0.666666667 +0.666666667 +1 +1 +1 +1 +0.666666667 +0.666666667 +0.666666667 +0.666666667 +1 +1 +1 +1 +0.666666667 +0.666666667 +0.666666667 +0.666666667 +1 +1 +1 +1 +0.666666667 +0.666666667 +0.666666667 +0.666666667 +1 +1 +1 +1 +0.333333333 +0.333333333 +0.333333333 +0.333333333 +0.666666667 +0.666666667 +0.666666667 +0.666666667 +0.333333333 +0.333333333 +0.333333333 +0.333333333 +0.666666667 +0.666666667 +0.666666667 +0.666666667 +0.333333333 +0.333333333 +0.333333333 +0.333333333 +0.666666667 +0.666666667 +0.666666667 +0.666666667 +0.333333333 +0.333333333 +0.333333333 +0.333333333 +0.666666667 +0.666666667 +0.666666667 +0.666666667 +0.333333333 +0.333333333 +0.333333333 +0.333333333 +0.666666667 +0.666666667 +0.666666667 +0.666666667 +0.333333333 +0.333333333 +0.333333333 +0.333333333 +0.666666667 +0.666666667 +0.666666667 +0.666666667 +0.333333333 +0.333333333 +0.333333333 +0.333333333 +0.666666667 +0.666666667 +0.666666667 +0.666666667 +0.333333333 +0.333333333 +0.333333333 +0.333333333 +0.666666667 +0.666666667 +0.666666667 +0.666666667 +0.333333333 +0.333333333 +0.333333333 +0.333333333 +0.666666667 +0.666666667 +0.666666667 +0.666666667 +0.333333333 +0.333333333 +0.333333333 +0.333333333 +0.666666667 +0.666666667 +0.666666667 +0.666666667 +0.333333333 +0.333333333 +0.333333333 +0.333333333 +0.666666667 +0.666666667 +0.666666667 +0.666666667 +0.333333333 +0.333333333 +0.333333333 +0.333333333 +0.666666667 +0.666666667 +0.666666667 +0.666666667 +0 +0 +0 +0 +0.333333333 +0.333333333 +0.333333333 +0.333333333 +0 +0 +0 +0 +0.333333333 +0.333333333 +0.333333333 +0.333333333 +0 +0 +0 +0 +0.333333333 +0.333333333 +0.333333333 +0.333333333 +0 +0 +0 +0 +0.333333333 +0.333333333 +0.333333333 +0.333333333 +0 +0 +0 +0 +0.333333333 +0.333333333 +0.333333333 +0.333333333 +0 +0 +0 +0 +0.333333333 +0.333333333 +0.333333333 +0.333333333 +0 +0 +0 +0 +0.333333333 +0.333333333 +0.333333333 +0.333333333 +0 +0 +0 +0 +0.333333333 +0.333333333 +0.333333333 +0.333333333 +0 +0 +0 +0 +0.333333333 +0.333333333 +0.333333333 +0.333333333 +0 +0 +0 +0 +0.333333333 +0.333333333 +0.333333333 +0.333333333 +0 +0 +0 +0 +0.333333333 +0.333333333 +0.333333333 +0.333333333 +0 +0 +0 +0 +0.333333333 +0.333333333 +0.333333333 +0.333333333 +0.666666667 +0.666666667 +0.666666667 +0.666666667 +1 +1 +1 +1 +0.666666667 +0.666666667 +0.666666667 +0.666666667 +1 +1 +1 +1 +0.666666667 +0.666666667 +0.666666667 +0.666666667 +1 +1 +1 +1 +0.666666667 +0.666666667 +0.666666667 +0.666666667 +1 +1 +1 +1 +0.666666667 +0.666666667 +0.666666667 +0.666666667 +1 +1 +1 +1 +0.666666667 +0.666666667 +0.666666667 +0.666666667 +1 +1 +1 +1 +0.666666667 +0.666666667 +0.666666667 +0.666666667 +1 +1 +1 +1 +0.666666667 +0.666666667 +0.666666667 +0.666666667 +1 +1 +1 +1 +0.666666667 +0.666666667 +0.666666667 +0.666666667 +1 +1 +1 +1 +0.666666667 +0.666666667 +0.666666667 +0.666666667 +1 +1 +1 +1 +0.666666667 +0.666666667 +0.666666667 +0.666666667 +1 +1 +1 +1 +0.666666667 +0.666666667 +0.666666667 +0.666666667 +1 +1 +1 +1 +0.333333333 +0.333333333 +0.333333333 +0.333333333 +0.666666667 +0.666666667 +0.666666667 +0.666666667 +0.333333333 +0.333333333 +0.333333333 +0.333333333 +0.666666667 +0.666666667 +0.666666667 +0.666666667 +0.333333333 +0.333333333 +0.333333333 +0.333333333 +0.666666667 +0.666666667 +0.666666667 +0.666666667 +0.333333333 +0.333333333 +0.333333333 +0.333333333 +0.666666667 +0.666666667 +0.666666667 +0.666666667 +0.333333333 +0.333333333 +0.333333333 +0.333333333 +0.666666667 +0.666666667 +0.666666667 +0.666666667 +0.333333333 +0.333333333 +0.333333333 +0.333333333 +0.666666667 +0.666666667 +0.666666667 +0.666666667 +0.333333333 +0.333333333 +0.333333333 +0.333333333 +0.666666667 +0.666666667 +0.666666667 +0.666666667 +0.333333333 +0.333333333 +0.333333333 +0.333333333 +0.666666667 +0.666666667 +0.666666667 +0.666666667 +0.333333333 +0.333333333 +0.333333333 +0.333333333 +0.666666667 +0.666666667 +0.666666667 +0.666666667 +0.333333333 +0.333333333 +0.333333333 +0.333333333 +0.666666667 +0.666666667 +0.666666667 +0.666666667 +0.333333333 +0.333333333 +0.333333333 +0.333333333 +0.666666667 +0.666666667 +0.666666667 +0.666666667 +0.333333333 +0.333333333 +0.333333333 +0.333333333 +0.666666667 +0.666666667 +0.666666667 +0.666666667 +0 +0 +0 +0 +0.333333333 +0.333333333 +0.333333333 +0.333333333 +0 +0 +0 +0 +0.333333333 +0.333333333 +0.333333333 +0.333333333 +0 +0 +0 +0 +0.333333333 +0.333333333 +0.333333333 +0.333333333 +0 +0 +0 +0 +0.333333333 +0.333333333 +0.333333333 +0.333333333 +0 +0 +0 +0 +0.333333333 +0.333333333 +0.333333333 +0.333333333 +0 +0 +0 +0 +0.333333333 +0.333333333 +0.333333333 +0.333333333 +0 +0 +0 +0 +0.333333333 +0.333333333 +0.333333333 +0.333333333 +0 +0 +0 +0 +0.333333333 +0.333333333 +0.333333333 +0.333333333 +0 +0 +0 +0 +0.333333333 +0.333333333 +0.333333333 +0.333333333 +0 +0 +0 +0 +0.333333333 +0.333333333 +0.333333333 +0.333333333 +0 +0 +0 +0 +0.333333333 +0.333333333 +0.333333333 +0.333333333 +0 +0 +0 +0 +0.333333333 +0.333333333 +0.333333333 +0.333333333 +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan + + + + + diff --git a/test/tests/mfem/transfers/mfem_parent_mfem_sub/gold/OutputData/EmbeddedSubmesh/Run0/Cycle000001/data.pvtu b/test/tests/mfem/transfers/mfem_parent_mfem_sub/gold/OutputData/EmbeddedSubmesh/Run0/Cycle000001/data.pvtu new file mode 100644 index 000000000000..b7ad93649aeb --- /dev/null +++ b/test/tests/mfem/transfers/mfem_parent_mfem_sub/gold/OutputData/EmbeddedSubmesh/Run0/Cycle000001/data.pvtu @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/test/tests/mfem/transfers/mfem_parent_mfem_sub/gold/OutputData/EmbeddedSubmesh/Run0/Cycle000001/proc000000.vtu b/test/tests/mfem/transfers/mfem_parent_mfem_sub/gold/OutputData/EmbeddedSubmesh/Run0/Cycle000001/proc000000.vtu new file mode 100644 index 000000000000..3ecdc28576a5 --- /dev/null +++ b/test/tests/mfem/transfers/mfem_parent_mfem_sub/gold/OutputData/EmbeddedSubmesh/Run0/Cycle000001/proc000000.vtu @@ -0,0 +1,5066 @@ + + + + + +-0.4 0.1 0.166666667 +-0.291666667 0.125 0.166666667 +-0.341506351 0.25 0.166666667 +-0.25 0.25 0.166666667 +-0.4 0.1 0.5 +-0.291666667 0.125 0.5 +-0.341506351 0.25 0.5 +-0.25 0.25 0.5 +-0.5 0 0.166666667 +-0.333333333 0 0.166666667 +-0.4 0.1 0.166666667 +-0.291666667 0.125 0.166666667 +-0.5 0 0.5 +-0.333333333 0 0.5 +-0.4 0.1 0.5 +-0.291666667 0.125 0.5 +-0.433012702 0.25 0.166666667 +-0.5 0 0.166666667 +-0.341506351 0.25 0.166666667 +-0.4 0.1 0.166666667 +-0.433012702 0.25 0.5 +-0.5 0 0.5 +-0.341506351 0.25 0.5 +-0.4 0.1 0.5 +-0.25 0.359807621 0.166666667 +-0.341506351 0.25 0.166666667 +-0.125 0.375 0.166666667 +-0.25 0.25 0.166666667 +-0.25 0.359807621 0.5 +-0.341506351 0.25 0.5 +-0.125 0.375 0.5 +-0.25 0.25 0.5 +-0.25 0.433012702 0.166666667 +-0.433012702 0.25 0.166666667 +-0.25 0.359807621 0.166666667 +-0.341506351 0.25 0.166666667 +-0.25 0.433012702 0.5 +-0.433012702 0.25 0.5 +-0.25 0.359807621 0.5 +-0.341506351 0.25 0.5 +0 0.5 0.166666667 +-0.25 0.433012702 0.166666667 +-0.125 0.375 0.166666667 +-0.25 0.359807621 0.166666667 +0 0.5 0.5 +-0.25 0.433012702 0.5 +-0.125 0.375 0.5 +-0.25 0.359807621 0.5 +-0.1 0.25 0.166666667 +-0.125 0.375 0.166666667 +-0.125 0.125 0.166666667 +-0.25 0.25 0.166666667 +-0.1 0.25 0.5 +-0.125 0.375 0.5 +-0.125 0.125 0.5 +-0.25 0.25 0.5 +0 0.25 0.166666667 +0 0.5 0.166666667 +-0.1 0.25 0.166666667 +-0.125 0.375 0.166666667 +0 0.25 0.5 +0 0.5 0.5 +-0.1 0.25 0.5 +-0.125 0.375 0.5 +0 0 0.166666667 +0 0.25 0.166666667 +-0.125 0.125 0.166666667 +-0.1 0.25 0.166666667 +0 0 0.5 +0 0.25 0.5 +-0.125 0.125 0.5 +-0.1 0.25 0.5 +-0.2 0.1 0.166666667 +-0.125 0.125 0.166666667 +-0.291666667 0.125 0.166666667 +-0.25 0.25 0.166666667 +-0.2 0.1 0.5 +-0.125 0.125 0.5 +-0.291666667 0.125 0.5 +-0.25 0.25 0.5 +-0.166666667 0 0.166666667 +0 0 0.166666667 +-0.2 0.1 0.166666667 +-0.125 0.125 0.166666667 +-0.166666667 0 0.5 +0 0 0.5 +-0.2 0.1 0.5 +-0.125 0.125 0.5 +-0.333333333 0 0.166666667 +-0.166666667 0 0.166666667 +-0.291666667 0.125 0.166666667 +-0.2 0.1 0.166666667 +-0.333333333 0 0.5 +-0.166666667 0 0.5 +-0.291666667 0.125 0.5 +-0.2 0.1 0.5 +-0.4 0.1 -0.166666667 +-0.291666667 0.125 -0.166666667 +-0.341506351 0.25 -0.166666667 +-0.25 0.25 -0.166666667 +-0.4 0.1 0.166666667 +-0.291666667 0.125 0.166666667 +-0.341506351 0.25 0.166666667 +-0.25 0.25 0.166666667 +-0.5 0 -0.166666667 +-0.333333333 0 -0.166666667 +-0.4 0.1 -0.166666667 +-0.291666667 0.125 -0.166666667 +-0.5 0 0.166666667 +-0.333333333 0 0.166666667 +-0.4 0.1 0.166666667 +-0.291666667 0.125 0.166666667 +-0.433012702 0.25 -0.166666667 +-0.5 0 -0.166666667 +-0.341506351 0.25 -0.166666667 +-0.4 0.1 -0.166666667 +-0.433012702 0.25 0.166666667 +-0.5 0 0.166666667 +-0.341506351 0.25 0.166666667 +-0.4 0.1 0.166666667 +-0.25 0.359807621 -0.166666667 +-0.341506351 0.25 -0.166666667 +-0.125 0.375 -0.166666667 +-0.25 0.25 -0.166666667 +-0.25 0.359807621 0.166666667 +-0.341506351 0.25 0.166666667 +-0.125 0.375 0.166666667 +-0.25 0.25 0.166666667 +-0.25 0.433012702 -0.166666667 +-0.433012702 0.25 -0.166666667 +-0.25 0.359807621 -0.166666667 +-0.341506351 0.25 -0.166666667 +-0.25 0.433012702 0.166666667 +-0.433012702 0.25 0.166666667 +-0.25 0.359807621 0.166666667 +-0.341506351 0.25 0.166666667 +0 0.5 -0.166666667 +-0.25 0.433012702 -0.166666667 +-0.125 0.375 -0.166666667 +-0.25 0.359807621 -0.166666667 +0 0.5 0.166666667 +-0.25 0.433012702 0.166666667 +-0.125 0.375 0.166666667 +-0.25 0.359807621 0.166666667 +-0.1 0.25 -0.166666667 +-0.125 0.375 -0.166666667 +-0.125 0.125 -0.166666667 +-0.25 0.25 -0.166666667 +-0.1 0.25 0.166666667 +-0.125 0.375 0.166666667 +-0.125 0.125 0.166666667 +-0.25 0.25 0.166666667 +0 0.25 -0.166666667 +0 0.5 -0.166666667 +-0.1 0.25 -0.166666667 +-0.125 0.375 -0.166666667 +0 0.25 0.166666667 +0 0.5 0.166666667 +-0.1 0.25 0.166666667 +-0.125 0.375 0.166666667 +0 0 -0.166666667 +0 0.25 -0.166666667 +-0.125 0.125 -0.166666667 +-0.1 0.25 -0.166666667 +0 0 0.166666667 +0 0.25 0.166666667 +-0.125 0.125 0.166666667 +-0.1 0.25 0.166666667 +-0.2 0.1 -0.166666667 +-0.125 0.125 -0.166666667 +-0.291666667 0.125 -0.166666667 +-0.25 0.25 -0.166666667 +-0.2 0.1 0.166666667 +-0.125 0.125 0.166666667 +-0.291666667 0.125 0.166666667 +-0.25 0.25 0.166666667 +-0.166666667 0 -0.166666667 +0 0 -0.166666667 +-0.2 0.1 -0.166666667 +-0.125 0.125 -0.166666667 +-0.166666667 0 0.166666667 +0 0 0.166666667 +-0.2 0.1 0.166666667 +-0.125 0.125 0.166666667 +-0.333333333 0 -0.166666667 +-0.166666667 0 -0.166666667 +-0.291666667 0.125 -0.166666667 +-0.2 0.1 -0.166666667 +-0.333333333 0 0.166666667 +-0.166666667 0 0.166666667 +-0.291666667 0.125 0.166666667 +-0.2 0.1 0.166666667 +-0.4 0.1 -0.5 +-0.291666667 0.125 -0.5 +-0.341506351 0.25 -0.5 +-0.25 0.25 -0.5 +-0.4 0.1 -0.166666667 +-0.291666667 0.125 -0.166666667 +-0.341506351 0.25 -0.166666667 +-0.25 0.25 -0.166666667 +-0.5 0 -0.5 +-0.333333333 0 -0.5 +-0.4 0.1 -0.5 +-0.291666667 0.125 -0.5 +-0.5 0 -0.166666667 +-0.333333333 0 -0.166666667 +-0.4 0.1 -0.166666667 +-0.291666667 0.125 -0.166666667 +-0.433012702 0.25 -0.5 +-0.5 0 -0.5 +-0.341506351 0.25 -0.5 +-0.4 0.1 -0.5 +-0.433012702 0.25 -0.166666667 +-0.5 0 -0.166666667 +-0.341506351 0.25 -0.166666667 +-0.4 0.1 -0.166666667 +-0.25 0.359807621 -0.5 +-0.341506351 0.25 -0.5 +-0.125 0.375 -0.5 +-0.25 0.25 -0.5 +-0.25 0.359807621 -0.166666667 +-0.341506351 0.25 -0.166666667 +-0.125 0.375 -0.166666667 +-0.25 0.25 -0.166666667 +-0.25 0.433012702 -0.5 +-0.433012702 0.25 -0.5 +-0.25 0.359807621 -0.5 +-0.341506351 0.25 -0.5 +-0.25 0.433012702 -0.166666667 +-0.433012702 0.25 -0.166666667 +-0.25 0.359807621 -0.166666667 +-0.341506351 0.25 -0.166666667 +0 0.5 -0.5 +-0.25 0.433012702 -0.5 +-0.125 0.375 -0.5 +-0.25 0.359807621 -0.5 +0 0.5 -0.166666667 +-0.25 0.433012702 -0.166666667 +-0.125 0.375 -0.166666667 +-0.25 0.359807621 -0.166666667 +-0.1 0.25 -0.5 +-0.125 0.375 -0.5 +-0.125 0.125 -0.5 +-0.25 0.25 -0.5 +-0.1 0.25 -0.166666667 +-0.125 0.375 -0.166666667 +-0.125 0.125 -0.166666667 +-0.25 0.25 -0.166666667 +0 0.25 -0.5 +0 0.5 -0.5 +-0.1 0.25 -0.5 +-0.125 0.375 -0.5 +0 0.25 -0.166666667 +0 0.5 -0.166666667 +-0.1 0.25 -0.166666667 +-0.125 0.375 -0.166666667 +0 0 -0.5 +0 0.25 -0.5 +-0.125 0.125 -0.5 +-0.1 0.25 -0.5 +0 0 -0.166666667 +0 0.25 -0.166666667 +-0.125 0.125 -0.166666667 +-0.1 0.25 -0.166666667 +-0.2 0.1 -0.5 +-0.125 0.125 -0.5 +-0.291666667 0.125 -0.5 +-0.25 0.25 -0.5 +-0.2 0.1 -0.166666667 +-0.125 0.125 -0.166666667 +-0.291666667 0.125 -0.166666667 +-0.25 0.25 -0.166666667 +-0.166666667 0 -0.5 +0 0 -0.5 +-0.2 0.1 -0.5 +-0.125 0.125 -0.5 +-0.166666667 0 -0.166666667 +0 0 -0.166666667 +-0.2 0.1 -0.166666667 +-0.125 0.125 -0.166666667 +-0.333333333 0 -0.5 +-0.166666667 0 -0.5 +-0.291666667 0.125 -0.5 +-0.2 0.1 -0.5 +-0.333333333 0 -0.166666667 +-0.166666667 0 -0.166666667 +-0.291666667 0.125 -0.166666667 +-0.2 0.1 -0.166666667 +0.1 0.1 0.166666667 +0.208333333 0.125 0.166666667 +0.125 0.25 0.166666667 +0.25 0.25 0.166666667 +0.1 0.1 0.5 +0.208333333 0.125 0.5 +0.125 0.25 0.5 +0.25 0.25 0.5 +0 0 0.166666667 +0.166666667 0 0.166666667 +0.1 0.1 0.166666667 +0.208333333 0.125 0.166666667 +0 0 0.5 +0.166666667 0 0.5 +0.1 0.1 0.5 +0.208333333 0.125 0.5 +0 0.25 0.166666667 +0 0 0.166666667 +0.125 0.25 0.166666667 +0.1 0.1 0.166666667 +0 0.25 0.5 +0 0 0.5 +0.125 0.25 0.5 +0.1 0.1 0.5 +0.1 0.4 0.166666667 +0.125 0.25 0.166666667 +0.25 0.341506351 0.166666667 +0.25 0.25 0.166666667 +0.1 0.4 0.5 +0.125 0.25 0.5 +0.25 0.341506351 0.5 +0.25 0.25 0.5 +0 0.5 0.166666667 +0 0.25 0.166666667 +0.1 0.4 0.166666667 +0.125 0.25 0.166666667 +0 0.5 0.5 +0 0.25 0.5 +0.1 0.4 0.5 +0.125 0.25 0.5 +0.25 0.433012702 0.166666667 +0 0.5 0.166666667 +0.25 0.341506351 0.166666667 +0.1 0.4 0.166666667 +0.25 0.433012702 0.5 +0 0.5 0.5 +0.25 0.341506351 0.5 +0.1 0.4 0.5 +0.359807621 0.25 0.166666667 +0.25 0.341506351 0.166666667 +0.375 0.125 0.166666667 +0.25 0.25 0.166666667 +0.359807621 0.25 0.5 +0.25 0.341506351 0.5 +0.375 0.125 0.5 +0.25 0.25 0.5 +0.433012702 0.25 0.166666667 +0.25 0.433012702 0.166666667 +0.359807621 0.25 0.166666667 +0.25 0.341506351 0.166666667 +0.433012702 0.25 0.5 +0.25 0.433012702 0.5 +0.359807621 0.25 0.5 +0.25 0.341506351 0.5 +0.5 0 0.166666667 +0.433012702 0.25 0.166666667 +0.375 0.125 0.166666667 +0.359807621 0.25 0.166666667 +0.5 0 0.5 +0.433012702 0.25 0.5 +0.375 0.125 0.5 +0.359807621 0.25 0.5 +0.3 0.1 0.166666667 +0.375 0.125 0.166666667 +0.208333333 0.125 0.166666667 +0.25 0.25 0.166666667 +0.3 0.1 0.5 +0.375 0.125 0.5 +0.208333333 0.125 0.5 +0.25 0.25 0.5 +0.333333333 0 0.166666667 +0.5 0 0.166666667 +0.3 0.1 0.166666667 +0.375 0.125 0.166666667 +0.333333333 0 0.5 +0.5 0 0.5 +0.3 0.1 0.5 +0.375 0.125 0.5 +0.166666667 0 0.166666667 +0.333333333 0 0.166666667 +0.208333333 0.125 0.166666667 +0.3 0.1 0.166666667 +0.166666667 0 0.5 +0.333333333 0 0.5 +0.208333333 0.125 0.5 +0.3 0.1 0.5 +0.1 0.1 -0.166666667 +0.208333333 0.125 -0.166666667 +0.125 0.25 -0.166666667 +0.25 0.25 -0.166666667 +0.1 0.1 0.166666667 +0.208333333 0.125 0.166666667 +0.125 0.25 0.166666667 +0.25 0.25 0.166666667 +0 0 -0.166666667 +0.166666667 0 -0.166666667 +0.1 0.1 -0.166666667 +0.208333333 0.125 -0.166666667 +0 0 0.166666667 +0.166666667 0 0.166666667 +0.1 0.1 0.166666667 +0.208333333 0.125 0.166666667 +0 0.25 -0.166666667 +0 0 -0.166666667 +0.125 0.25 -0.166666667 +0.1 0.1 -0.166666667 +0 0.25 0.166666667 +0 0 0.166666667 +0.125 0.25 0.166666667 +0.1 0.1 0.166666667 +0.1 0.4 -0.166666667 +0.125 0.25 -0.166666667 +0.25 0.341506351 -0.166666667 +0.25 0.25 -0.166666667 +0.1 0.4 0.166666667 +0.125 0.25 0.166666667 +0.25 0.341506351 0.166666667 +0.25 0.25 0.166666667 +0 0.5 -0.166666667 +0 0.25 -0.166666667 +0.1 0.4 -0.166666667 +0.125 0.25 -0.166666667 +0 0.5 0.166666667 +0 0.25 0.166666667 +0.1 0.4 0.166666667 +0.125 0.25 0.166666667 +0.25 0.433012702 -0.166666667 +0 0.5 -0.166666667 +0.25 0.341506351 -0.166666667 +0.1 0.4 -0.166666667 +0.25 0.433012702 0.166666667 +0 0.5 0.166666667 +0.25 0.341506351 0.166666667 +0.1 0.4 0.166666667 +0.359807621 0.25 -0.166666667 +0.25 0.341506351 -0.166666667 +0.375 0.125 -0.166666667 +0.25 0.25 -0.166666667 +0.359807621 0.25 0.166666667 +0.25 0.341506351 0.166666667 +0.375 0.125 0.166666667 +0.25 0.25 0.166666667 +0.433012702 0.25 -0.166666667 +0.25 0.433012702 -0.166666667 +0.359807621 0.25 -0.166666667 +0.25 0.341506351 -0.166666667 +0.433012702 0.25 0.166666667 +0.25 0.433012702 0.166666667 +0.359807621 0.25 0.166666667 +0.25 0.341506351 0.166666667 +0.5 0 -0.166666667 +0.433012702 0.25 -0.166666667 +0.375 0.125 -0.166666667 +0.359807621 0.25 -0.166666667 +0.5 0 0.166666667 +0.433012702 0.25 0.166666667 +0.375 0.125 0.166666667 +0.359807621 0.25 0.166666667 +0.3 0.1 -0.166666667 +0.375 0.125 -0.166666667 +0.208333333 0.125 -0.166666667 +0.25 0.25 -0.166666667 +0.3 0.1 0.166666667 +0.375 0.125 0.166666667 +0.208333333 0.125 0.166666667 +0.25 0.25 0.166666667 +0.333333333 0 -0.166666667 +0.5 0 -0.166666667 +0.3 0.1 -0.166666667 +0.375 0.125 -0.166666667 +0.333333333 0 0.166666667 +0.5 0 0.166666667 +0.3 0.1 0.166666667 +0.375 0.125 0.166666667 +0.166666667 0 -0.166666667 +0.333333333 0 -0.166666667 +0.208333333 0.125 -0.166666667 +0.3 0.1 -0.166666667 +0.166666667 0 0.166666667 +0.333333333 0 0.166666667 +0.208333333 0.125 0.166666667 +0.3 0.1 0.166666667 +0.1 0.1 -0.5 +0.208333333 0.125 -0.5 +0.125 0.25 -0.5 +0.25 0.25 -0.5 +0.1 0.1 -0.166666667 +0.208333333 0.125 -0.166666667 +0.125 0.25 -0.166666667 +0.25 0.25 -0.166666667 +0 0 -0.5 +0.166666667 0 -0.5 +0.1 0.1 -0.5 +0.208333333 0.125 -0.5 +0 0 -0.166666667 +0.166666667 0 -0.166666667 +0.1 0.1 -0.166666667 +0.208333333 0.125 -0.166666667 +0 0.25 -0.5 +0 0 -0.5 +0.125 0.25 -0.5 +0.1 0.1 -0.5 +0 0.25 -0.166666667 +0 0 -0.166666667 +0.125 0.25 -0.166666667 +0.1 0.1 -0.166666667 +0.1 0.4 -0.5 +0.125 0.25 -0.5 +0.25 0.341506351 -0.5 +0.25 0.25 -0.5 +0.1 0.4 -0.166666667 +0.125 0.25 -0.166666667 +0.25 0.341506351 -0.166666667 +0.25 0.25 -0.166666667 +0 0.5 -0.5 +0 0.25 -0.5 +0.1 0.4 -0.5 +0.125 0.25 -0.5 +0 0.5 -0.166666667 +0 0.25 -0.166666667 +0.1 0.4 -0.166666667 +0.125 0.25 -0.166666667 +0.25 0.433012702 -0.5 +0 0.5 -0.5 +0.25 0.341506351 -0.5 +0.1 0.4 -0.5 +0.25 0.433012702 -0.166666667 +0 0.5 -0.166666667 +0.25 0.341506351 -0.166666667 +0.1 0.4 -0.166666667 +0.359807621 0.25 -0.5 +0.25 0.341506351 -0.5 +0.375 0.125 -0.5 +0.25 0.25 -0.5 +0.359807621 0.25 -0.166666667 +0.25 0.341506351 -0.166666667 +0.375 0.125 -0.166666667 +0.25 0.25 -0.166666667 +0.433012702 0.25 -0.5 +0.25 0.433012702 -0.5 +0.359807621 0.25 -0.5 +0.25 0.341506351 -0.5 +0.433012702 0.25 -0.166666667 +0.25 0.433012702 -0.166666667 +0.359807621 0.25 -0.166666667 +0.25 0.341506351 -0.166666667 +0.5 0 -0.5 +0.433012702 0.25 -0.5 +0.375 0.125 -0.5 +0.359807621 0.25 -0.5 +0.5 0 -0.166666667 +0.433012702 0.25 -0.166666667 +0.375 0.125 -0.166666667 +0.359807621 0.25 -0.166666667 +0.3 0.1 -0.5 +0.375 0.125 -0.5 +0.208333333 0.125 -0.5 +0.25 0.25 -0.5 +0.3 0.1 -0.166666667 +0.375 0.125 -0.166666667 +0.208333333 0.125 -0.166666667 +0.25 0.25 -0.166666667 +0.333333333 0 -0.5 +0.5 0 -0.5 +0.3 0.1 -0.5 +0.375 0.125 -0.5 +0.333333333 0 -0.166666667 +0.5 0 -0.166666667 +0.3 0.1 -0.166666667 +0.375 0.125 -0.166666667 +0.166666667 0 -0.5 +0.333333333 0 -0.5 +0.208333333 0.125 -0.5 +0.3 0.1 -0.5 +0.166666667 0 -0.166666667 +0.333333333 0 -0.166666667 +0.208333333 0.125 -0.166666667 +0.3 0.1 -0.166666667 +0.4 -0.1 0.166666667 +0.291666667 -0.125 0.166666667 +0.341506351 -0.25 0.166666667 +0.25 -0.25 0.166666667 +0.4 -0.1 0.5 +0.291666667 -0.125 0.5 +0.341506351 -0.25 0.5 +0.25 -0.25 0.5 +0.5 0 0.166666667 +0.333333333 0 0.166666667 +0.4 -0.1 0.166666667 +0.291666667 -0.125 0.166666667 +0.5 0 0.5 +0.333333333 0 0.5 +0.4 -0.1 0.5 +0.291666667 -0.125 0.5 +0.433012702 -0.25 0.166666667 +0.5 0 0.166666667 +0.341506351 -0.25 0.166666667 +0.4 -0.1 0.166666667 +0.433012702 -0.25 0.5 +0.5 0 0.5 +0.341506351 -0.25 0.5 +0.4 -0.1 0.5 +0.25 -0.359807621 0.166666667 +0.341506351 -0.25 0.166666667 +0.125 -0.375 0.166666667 +0.25 -0.25 0.166666667 +0.25 -0.359807621 0.5 +0.341506351 -0.25 0.5 +0.125 -0.375 0.5 +0.25 -0.25 0.5 +0.25 -0.433012702 0.166666667 +0.433012702 -0.25 0.166666667 +0.25 -0.359807621 0.166666667 +0.341506351 -0.25 0.166666667 +0.25 -0.433012702 0.5 +0.433012702 -0.25 0.5 +0.25 -0.359807621 0.5 +0.341506351 -0.25 0.5 +0 -0.5 0.166666667 +0.25 -0.433012702 0.166666667 +0.125 -0.375 0.166666667 +0.25 -0.359807621 0.166666667 +0 -0.5 0.5 +0.25 -0.433012702 0.5 +0.125 -0.375 0.5 +0.25 -0.359807621 0.5 +0.1 -0.25 0.166666667 +0.125 -0.375 0.166666667 +0.125 -0.125 0.166666667 +0.25 -0.25 0.166666667 +0.1 -0.25 0.5 +0.125 -0.375 0.5 +0.125 -0.125 0.5 +0.25 -0.25 0.5 +0 -0.25 0.166666667 +0 -0.5 0.166666667 +0.1 -0.25 0.166666667 +0.125 -0.375 0.166666667 +0 -0.25 0.5 +0 -0.5 0.5 +0.1 -0.25 0.5 +0.125 -0.375 0.5 +0 0 0.166666667 +0 -0.25 0.166666667 +0.125 -0.125 0.166666667 +0.1 -0.25 0.166666667 +0 0 0.5 +0 -0.25 0.5 +0.125 -0.125 0.5 +0.1 -0.25 0.5 +0.2 -0.1 0.166666667 +0.125 -0.125 0.166666667 +0.291666667 -0.125 0.166666667 +0.25 -0.25 0.166666667 +0.2 -0.1 0.5 +0.125 -0.125 0.5 +0.291666667 -0.125 0.5 +0.25 -0.25 0.5 +0.166666667 0 0.166666667 +0 0 0.166666667 +0.2 -0.1 0.166666667 +0.125 -0.125 0.166666667 +0.166666667 0 0.5 +0 0 0.5 +0.2 -0.1 0.5 +0.125 -0.125 0.5 +0.333333333 0 0.166666667 +0.166666667 0 0.166666667 +0.291666667 -0.125 0.166666667 +0.2 -0.1 0.166666667 +0.333333333 0 0.5 +0.166666667 0 0.5 +0.291666667 -0.125 0.5 +0.2 -0.1 0.5 +0.4 -0.1 -0.166666667 +0.291666667 -0.125 -0.166666667 +0.341506351 -0.25 -0.166666667 +0.25 -0.25 -0.166666667 +0.4 -0.1 0.166666667 +0.291666667 -0.125 0.166666667 +0.341506351 -0.25 0.166666667 +0.25 -0.25 0.166666667 +0.5 0 -0.166666667 +0.333333333 0 -0.166666667 +0.4 -0.1 -0.166666667 +0.291666667 -0.125 -0.166666667 +0.5 0 0.166666667 +0.333333333 0 0.166666667 +0.4 -0.1 0.166666667 +0.291666667 -0.125 0.166666667 +0.433012702 -0.25 -0.166666667 +0.5 0 -0.166666667 +0.341506351 -0.25 -0.166666667 +0.4 -0.1 -0.166666667 +0.433012702 -0.25 0.166666667 +0.5 0 0.166666667 +0.341506351 -0.25 0.166666667 +0.4 -0.1 0.166666667 +0.25 -0.359807621 -0.166666667 +0.341506351 -0.25 -0.166666667 +0.125 -0.375 -0.166666667 +0.25 -0.25 -0.166666667 +0.25 -0.359807621 0.166666667 +0.341506351 -0.25 0.166666667 +0.125 -0.375 0.166666667 +0.25 -0.25 0.166666667 +0.25 -0.433012702 -0.166666667 +0.433012702 -0.25 -0.166666667 +0.25 -0.359807621 -0.166666667 +0.341506351 -0.25 -0.166666667 +0.25 -0.433012702 0.166666667 +0.433012702 -0.25 0.166666667 +0.25 -0.359807621 0.166666667 +0.341506351 -0.25 0.166666667 +0 -0.5 -0.166666667 +0.25 -0.433012702 -0.166666667 +0.125 -0.375 -0.166666667 +0.25 -0.359807621 -0.166666667 +0 -0.5 0.166666667 +0.25 -0.433012702 0.166666667 +0.125 -0.375 0.166666667 +0.25 -0.359807621 0.166666667 +0.1 -0.25 -0.166666667 +0.125 -0.375 -0.166666667 +0.125 -0.125 -0.166666667 +0.25 -0.25 -0.166666667 +0.1 -0.25 0.166666667 +0.125 -0.375 0.166666667 +0.125 -0.125 0.166666667 +0.25 -0.25 0.166666667 +0 -0.25 -0.166666667 +0 -0.5 -0.166666667 +0.1 -0.25 -0.166666667 +0.125 -0.375 -0.166666667 +0 -0.25 0.166666667 +0 -0.5 0.166666667 +0.1 -0.25 0.166666667 +0.125 -0.375 0.166666667 +0 0 -0.166666667 +0 -0.25 -0.166666667 +0.125 -0.125 -0.166666667 +0.1 -0.25 -0.166666667 +0 0 0.166666667 +0 -0.25 0.166666667 +0.125 -0.125 0.166666667 +0.1 -0.25 0.166666667 +0.2 -0.1 -0.166666667 +0.125 -0.125 -0.166666667 +0.291666667 -0.125 -0.166666667 +0.25 -0.25 -0.166666667 +0.2 -0.1 0.166666667 +0.125 -0.125 0.166666667 +0.291666667 -0.125 0.166666667 +0.25 -0.25 0.166666667 +0.166666667 0 -0.166666667 +0 0 -0.166666667 +0.2 -0.1 -0.166666667 +0.125 -0.125 -0.166666667 +0.166666667 0 0.166666667 +0 0 0.166666667 +0.2 -0.1 0.166666667 +0.125 -0.125 0.166666667 +0.333333333 0 -0.166666667 +0.166666667 0 -0.166666667 +0.291666667 -0.125 -0.166666667 +0.2 -0.1 -0.166666667 +0.333333333 0 0.166666667 +0.166666667 0 0.166666667 +0.291666667 -0.125 0.166666667 +0.2 -0.1 0.166666667 +0.4 -0.1 -0.5 +0.291666667 -0.125 -0.5 +0.341506351 -0.25 -0.5 +0.25 -0.25 -0.5 +0.4 -0.1 -0.166666667 +0.291666667 -0.125 -0.166666667 +0.341506351 -0.25 -0.166666667 +0.25 -0.25 -0.166666667 +0.5 0 -0.5 +0.333333333 0 -0.5 +0.4 -0.1 -0.5 +0.291666667 -0.125 -0.5 +0.5 0 -0.166666667 +0.333333333 0 -0.166666667 +0.4 -0.1 -0.166666667 +0.291666667 -0.125 -0.166666667 +0.433012702 -0.25 -0.5 +0.5 0 -0.5 +0.341506351 -0.25 -0.5 +0.4 -0.1 -0.5 +0.433012702 -0.25 -0.166666667 +0.5 0 -0.166666667 +0.341506351 -0.25 -0.166666667 +0.4 -0.1 -0.166666667 +0.25 -0.359807621 -0.5 +0.341506351 -0.25 -0.5 +0.125 -0.375 -0.5 +0.25 -0.25 -0.5 +0.25 -0.359807621 -0.166666667 +0.341506351 -0.25 -0.166666667 +0.125 -0.375 -0.166666667 +0.25 -0.25 -0.166666667 +0.25 -0.433012702 -0.5 +0.433012702 -0.25 -0.5 +0.25 -0.359807621 -0.5 +0.341506351 -0.25 -0.5 +0.25 -0.433012702 -0.166666667 +0.433012702 -0.25 -0.166666667 +0.25 -0.359807621 -0.166666667 +0.341506351 -0.25 -0.166666667 +0 -0.5 -0.5 +0.25 -0.433012702 -0.5 +0.125 -0.375 -0.5 +0.25 -0.359807621 -0.5 +0 -0.5 -0.166666667 +0.25 -0.433012702 -0.166666667 +0.125 -0.375 -0.166666667 +0.25 -0.359807621 -0.166666667 +0.1 -0.25 -0.5 +0.125 -0.375 -0.5 +0.125 -0.125 -0.5 +0.25 -0.25 -0.5 +0.1 -0.25 -0.166666667 +0.125 -0.375 -0.166666667 +0.125 -0.125 -0.166666667 +0.25 -0.25 -0.166666667 +0 -0.25 -0.5 +0 -0.5 -0.5 +0.1 -0.25 -0.5 +0.125 -0.375 -0.5 +0 -0.25 -0.166666667 +0 -0.5 -0.166666667 +0.1 -0.25 -0.166666667 +0.125 -0.375 -0.166666667 +0 0 -0.5 +0 -0.25 -0.5 +0.125 -0.125 -0.5 +0.1 -0.25 -0.5 +0 0 -0.166666667 +0 -0.25 -0.166666667 +0.125 -0.125 -0.166666667 +0.1 -0.25 -0.166666667 +0.2 -0.1 -0.5 +0.125 -0.125 -0.5 +0.291666667 -0.125 -0.5 +0.25 -0.25 -0.5 +0.2 -0.1 -0.166666667 +0.125 -0.125 -0.166666667 +0.291666667 -0.125 -0.166666667 +0.25 -0.25 -0.166666667 +0.166666667 0 -0.5 +0 0 -0.5 +0.2 -0.1 -0.5 +0.125 -0.125 -0.5 +0.166666667 0 -0.166666667 +0 0 -0.166666667 +0.2 -0.1 -0.166666667 +0.125 -0.125 -0.166666667 +0.333333333 0 -0.5 +0.166666667 0 -0.5 +0.291666667 -0.125 -0.5 +0.2 -0.1 -0.5 +0.333333333 0 -0.166666667 +0.166666667 0 -0.166666667 +0.291666667 -0.125 -0.166666667 +0.2 -0.1 -0.166666667 +-0.1 -0.1 0.166666667 +-0.208333333 -0.125 0.166666667 +-0.125 -0.25 0.166666667 +-0.25 -0.25 0.166666667 +-0.1 -0.1 0.5 +-0.208333333 -0.125 0.5 +-0.125 -0.25 0.5 +-0.25 -0.25 0.5 +0 0 0.166666667 +-0.166666667 0 0.166666667 +-0.1 -0.1 0.166666667 +-0.208333333 -0.125 0.166666667 +0 0 0.5 +-0.166666667 0 0.5 +-0.1 -0.1 0.5 +-0.208333333 -0.125 0.5 +0 -0.25 0.166666667 +0 0 0.166666667 +-0.125 -0.25 0.166666667 +-0.1 -0.1 0.166666667 +0 -0.25 0.5 +0 0 0.5 +-0.125 -0.25 0.5 +-0.1 -0.1 0.5 +-0.1 -0.4 0.166666667 +-0.125 -0.25 0.166666667 +-0.25 -0.341506351 0.166666667 +-0.25 -0.25 0.166666667 +-0.1 -0.4 0.5 +-0.125 -0.25 0.5 +-0.25 -0.341506351 0.5 +-0.25 -0.25 0.5 +0 -0.5 0.166666667 +0 -0.25 0.166666667 +-0.1 -0.4 0.166666667 +-0.125 -0.25 0.166666667 +0 -0.5 0.5 +0 -0.25 0.5 +-0.1 -0.4 0.5 +-0.125 -0.25 0.5 +-0.25 -0.433012702 0.166666667 +0 -0.5 0.166666667 +-0.25 -0.341506351 0.166666667 +-0.1 -0.4 0.166666667 +-0.25 -0.433012702 0.5 +0 -0.5 0.5 +-0.25 -0.341506351 0.5 +-0.1 -0.4 0.5 +-0.359807621 -0.25 0.166666667 +-0.25 -0.341506351 0.166666667 +-0.375 -0.125 0.166666667 +-0.25 -0.25 0.166666667 +-0.359807621 -0.25 0.5 +-0.25 -0.341506351 0.5 +-0.375 -0.125 0.5 +-0.25 -0.25 0.5 +-0.433012702 -0.25 0.166666667 +-0.25 -0.433012702 0.166666667 +-0.359807621 -0.25 0.166666667 +-0.25 -0.341506351 0.166666667 +-0.433012702 -0.25 0.5 +-0.25 -0.433012702 0.5 +-0.359807621 -0.25 0.5 +-0.25 -0.341506351 0.5 +-0.5 0 0.166666667 +-0.433012702 -0.25 0.166666667 +-0.375 -0.125 0.166666667 +-0.359807621 -0.25 0.166666667 +-0.5 0 0.5 +-0.433012702 -0.25 0.5 +-0.375 -0.125 0.5 +-0.359807621 -0.25 0.5 +-0.3 -0.1 0.166666667 +-0.375 -0.125 0.166666667 +-0.208333333 -0.125 0.166666667 +-0.25 -0.25 0.166666667 +-0.3 -0.1 0.5 +-0.375 -0.125 0.5 +-0.208333333 -0.125 0.5 +-0.25 -0.25 0.5 +-0.333333333 0 0.166666667 +-0.5 0 0.166666667 +-0.3 -0.1 0.166666667 +-0.375 -0.125 0.166666667 +-0.333333333 0 0.5 +-0.5 0 0.5 +-0.3 -0.1 0.5 +-0.375 -0.125 0.5 +-0.166666667 0 0.166666667 +-0.333333333 0 0.166666667 +-0.208333333 -0.125 0.166666667 +-0.3 -0.1 0.166666667 +-0.166666667 0 0.5 +-0.333333333 0 0.5 +-0.208333333 -0.125 0.5 +-0.3 -0.1 0.5 +-0.1 -0.1 -0.166666667 +-0.208333333 -0.125 -0.166666667 +-0.125 -0.25 -0.166666667 +-0.25 -0.25 -0.166666667 +-0.1 -0.1 0.166666667 +-0.208333333 -0.125 0.166666667 +-0.125 -0.25 0.166666667 +-0.25 -0.25 0.166666667 +0 0 -0.166666667 +-0.166666667 0 -0.166666667 +-0.1 -0.1 -0.166666667 +-0.208333333 -0.125 -0.166666667 +0 0 0.166666667 +-0.166666667 0 0.166666667 +-0.1 -0.1 0.166666667 +-0.208333333 -0.125 0.166666667 +0 -0.25 -0.166666667 +0 0 -0.166666667 +-0.125 -0.25 -0.166666667 +-0.1 -0.1 -0.166666667 +0 -0.25 0.166666667 +0 0 0.166666667 +-0.125 -0.25 0.166666667 +-0.1 -0.1 0.166666667 +-0.1 -0.4 -0.166666667 +-0.125 -0.25 -0.166666667 +-0.25 -0.341506351 -0.166666667 +-0.25 -0.25 -0.166666667 +-0.1 -0.4 0.166666667 +-0.125 -0.25 0.166666667 +-0.25 -0.341506351 0.166666667 +-0.25 -0.25 0.166666667 +0 -0.5 -0.166666667 +0 -0.25 -0.166666667 +-0.1 -0.4 -0.166666667 +-0.125 -0.25 -0.166666667 +0 -0.5 0.166666667 +0 -0.25 0.166666667 +-0.1 -0.4 0.166666667 +-0.125 -0.25 0.166666667 +-0.25 -0.433012702 -0.166666667 +0 -0.5 -0.166666667 +-0.25 -0.341506351 -0.166666667 +-0.1 -0.4 -0.166666667 +-0.25 -0.433012702 0.166666667 +0 -0.5 0.166666667 +-0.25 -0.341506351 0.166666667 +-0.1 -0.4 0.166666667 +-0.359807621 -0.25 -0.166666667 +-0.25 -0.341506351 -0.166666667 +-0.375 -0.125 -0.166666667 +-0.25 -0.25 -0.166666667 +-0.359807621 -0.25 0.166666667 +-0.25 -0.341506351 0.166666667 +-0.375 -0.125 0.166666667 +-0.25 -0.25 0.166666667 +-0.433012702 -0.25 -0.166666667 +-0.25 -0.433012702 -0.166666667 +-0.359807621 -0.25 -0.166666667 +-0.25 -0.341506351 -0.166666667 +-0.433012702 -0.25 0.166666667 +-0.25 -0.433012702 0.166666667 +-0.359807621 -0.25 0.166666667 +-0.25 -0.341506351 0.166666667 +-0.5 0 -0.166666667 +-0.433012702 -0.25 -0.166666667 +-0.375 -0.125 -0.166666667 +-0.359807621 -0.25 -0.166666667 +-0.5 0 0.166666667 +-0.433012702 -0.25 0.166666667 +-0.375 -0.125 0.166666667 +-0.359807621 -0.25 0.166666667 +-0.3 -0.1 -0.166666667 +-0.375 -0.125 -0.166666667 +-0.208333333 -0.125 -0.166666667 +-0.25 -0.25 -0.166666667 +-0.3 -0.1 0.166666667 +-0.375 -0.125 0.166666667 +-0.208333333 -0.125 0.166666667 +-0.25 -0.25 0.166666667 +-0.333333333 0 -0.166666667 +-0.5 0 -0.166666667 +-0.3 -0.1 -0.166666667 +-0.375 -0.125 -0.166666667 +-0.333333333 0 0.166666667 +-0.5 0 0.166666667 +-0.3 -0.1 0.166666667 +-0.375 -0.125 0.166666667 +-0.166666667 0 -0.166666667 +-0.333333333 0 -0.166666667 +-0.208333333 -0.125 -0.166666667 +-0.3 -0.1 -0.166666667 +-0.166666667 0 0.166666667 +-0.333333333 0 0.166666667 +-0.208333333 -0.125 0.166666667 +-0.3 -0.1 0.166666667 +-0.1 -0.1 -0.5 +-0.208333333 -0.125 -0.5 +-0.125 -0.25 -0.5 +-0.25 -0.25 -0.5 +-0.1 -0.1 -0.166666667 +-0.208333333 -0.125 -0.166666667 +-0.125 -0.25 -0.166666667 +-0.25 -0.25 -0.166666667 +0 0 -0.5 +-0.166666667 0 -0.5 +-0.1 -0.1 -0.5 +-0.208333333 -0.125 -0.5 +0 0 -0.166666667 +-0.166666667 0 -0.166666667 +-0.1 -0.1 -0.166666667 +-0.208333333 -0.125 -0.166666667 +0 -0.25 -0.5 +0 0 -0.5 +-0.125 -0.25 -0.5 +-0.1 -0.1 -0.5 +0 -0.25 -0.166666667 +0 0 -0.166666667 +-0.125 -0.25 -0.166666667 +-0.1 -0.1 -0.166666667 +-0.1 -0.4 -0.5 +-0.125 -0.25 -0.5 +-0.25 -0.341506351 -0.5 +-0.25 -0.25 -0.5 +-0.1 -0.4 -0.166666667 +-0.125 -0.25 -0.166666667 +-0.25 -0.341506351 -0.166666667 +-0.25 -0.25 -0.166666667 +0 -0.5 -0.5 +0 -0.25 -0.5 +-0.1 -0.4 -0.5 +-0.125 -0.25 -0.5 +0 -0.5 -0.166666667 +0 -0.25 -0.166666667 +-0.1 -0.4 -0.166666667 +-0.125 -0.25 -0.166666667 +-0.25 -0.433012702 -0.5 +0 -0.5 -0.5 +-0.25 -0.341506351 -0.5 +-0.1 -0.4 -0.5 +-0.25 -0.433012702 -0.166666667 +0 -0.5 -0.166666667 +-0.25 -0.341506351 -0.166666667 +-0.1 -0.4 -0.166666667 +-0.359807621 -0.25 -0.5 +-0.25 -0.341506351 -0.5 +-0.375 -0.125 -0.5 +-0.25 -0.25 -0.5 +-0.359807621 -0.25 -0.166666667 +-0.25 -0.341506351 -0.166666667 +-0.375 -0.125 -0.166666667 +-0.25 -0.25 -0.166666667 +-0.433012702 -0.25 -0.5 +-0.25 -0.433012702 -0.5 +-0.359807621 -0.25 -0.5 +-0.25 -0.341506351 -0.5 +-0.433012702 -0.25 -0.166666667 +-0.25 -0.433012702 -0.166666667 +-0.359807621 -0.25 -0.166666667 +-0.25 -0.341506351 -0.166666667 +-0.5 0 -0.5 +-0.433012702 -0.25 -0.5 +-0.375 -0.125 -0.5 +-0.359807621 -0.25 -0.5 +-0.5 0 -0.166666667 +-0.433012702 -0.25 -0.166666667 +-0.375 -0.125 -0.166666667 +-0.359807621 -0.25 -0.166666667 +-0.3 -0.1 -0.5 +-0.375 -0.125 -0.5 +-0.208333333 -0.125 -0.5 +-0.25 -0.25 -0.5 +-0.3 -0.1 -0.166666667 +-0.375 -0.125 -0.166666667 +-0.208333333 -0.125 -0.166666667 +-0.25 -0.25 -0.166666667 +-0.333333333 0 -0.5 +-0.5 0 -0.5 +-0.3 -0.1 -0.5 +-0.375 -0.125 -0.5 +-0.333333333 0 -0.166666667 +-0.5 0 -0.166666667 +-0.3 -0.1 -0.166666667 +-0.375 -0.125 -0.166666667 +-0.166666667 0 -0.5 +-0.333333333 0 -0.5 +-0.208333333 -0.125 -0.5 +-0.3 -0.1 -0.5 +-0.166666667 0 -0.166666667 +-0.333333333 0 -0.166666667 +-0.208333333 -0.125 -0.166666667 +-0.3 -0.1 -0.166666667 +0.666666667 0 0.166666667 +0.5 0 0.166666667 +0.666666667 0 0.5 +0.5 0 0.5 +0.577350269 0.333333333 0.166666667 +0.433012702 0.25 0.166666667 +0.577350269 0.333333333 0.5 +0.433012702 0.25 0.5 +0.833333333 0 0.166666667 +0.666666667 0 0.166666667 +0.833333333 0 0.5 +0.666666667 0 0.5 +0.721687836 0.416666667 0.166666667 +0.577350269 0.333333333 0.166666667 +0.721687836 0.416666667 0.5 +0.577350269 0.333333333 0.5 +1 0 0.166666667 +0.833333333 0 0.166666667 +1 0 0.5 +0.833333333 0 0.5 +0.866025404 0.5 0.166666667 +0.721687836 0.416666667 0.166666667 +0.866025404 0.5 0.5 +0.721687836 0.416666667 0.5 +0.666666667 0 -0.166666667 +0.5 0 -0.166666667 +0.666666667 0 0.166666667 +0.5 0 0.166666667 +0.577350269 0.333333333 -0.166666667 +0.433012702 0.25 -0.166666667 +0.577350269 0.333333333 0.166666667 +0.433012702 0.25 0.166666667 +0.833333333 0 -0.166666667 +0.666666667 0 -0.166666667 +0.833333333 0 0.166666667 +0.666666667 0 0.166666667 +0.721687836 0.416666667 -0.166666667 +0.577350269 0.333333333 -0.166666667 +0.721687836 0.416666667 0.166666667 +0.577350269 0.333333333 0.166666667 +1 0 -0.166666667 +0.833333333 0 -0.166666667 +1 0 0.166666667 +0.833333333 0 0.166666667 +0.866025404 0.5 -0.166666667 +0.721687836 0.416666667 -0.166666667 +0.866025404 0.5 0.166666667 +0.721687836 0.416666667 0.166666667 +0.666666667 0 -0.5 +0.5 0 -0.5 +0.666666667 0 -0.166666667 +0.5 0 -0.166666667 +0.577350269 0.333333333 -0.5 +0.433012702 0.25 -0.5 +0.577350269 0.333333333 -0.166666667 +0.433012702 0.25 -0.166666667 +0.833333333 0 -0.5 +0.666666667 0 -0.5 +0.833333333 0 -0.166666667 +0.666666667 0 -0.166666667 +0.721687836 0.416666667 -0.5 +0.577350269 0.333333333 -0.5 +0.721687836 0.416666667 -0.166666667 +0.577350269 0.333333333 -0.166666667 +1 0 -0.5 +0.833333333 0 -0.5 +1 0 -0.166666667 +0.833333333 0 -0.166666667 +0.866025404 0.5 -0.5 +0.721687836 0.416666667 -0.5 +0.866025404 0.5 -0.166666667 +0.721687836 0.416666667 -0.166666667 +0.577350269 0.333333333 0.166666667 +0.433012702 0.25 0.166666667 +0.577350269 0.333333333 0.5 +0.433012702 0.25 0.5 +0.333333333 0.577350269 0.166666667 +0.25 0.433012702 0.166666667 +0.333333333 0.577350269 0.5 +0.25 0.433012702 0.5 +0.721687836 0.416666667 0.166666667 +0.577350269 0.333333333 0.166666667 +0.721687836 0.416666667 0.5 +0.577350269 0.333333333 0.5 +0.416666667 0.721687836 0.166666667 +0.333333333 0.577350269 0.166666667 +0.416666667 0.721687836 0.5 +0.333333333 0.577350269 0.5 +0.866025404 0.5 0.166666667 +0.721687836 0.416666667 0.166666667 +0.866025404 0.5 0.5 +0.721687836 0.416666667 0.5 +0.5 0.866025404 0.166666667 +0.416666667 0.721687836 0.166666667 +0.5 0.866025404 0.5 +0.416666667 0.721687836 0.5 +0.577350269 0.333333333 -0.166666667 +0.433012702 0.25 -0.166666667 +0.577350269 0.333333333 0.166666667 +0.433012702 0.25 0.166666667 +0.333333333 0.577350269 -0.166666667 +0.25 0.433012702 -0.166666667 +0.333333333 0.577350269 0.166666667 +0.25 0.433012702 0.166666667 +0.721687836 0.416666667 -0.166666667 +0.577350269 0.333333333 -0.166666667 +0.721687836 0.416666667 0.166666667 +0.577350269 0.333333333 0.166666667 +0.416666667 0.721687836 -0.166666667 +0.333333333 0.577350269 -0.166666667 +0.416666667 0.721687836 0.166666667 +0.333333333 0.577350269 0.166666667 +0.866025404 0.5 -0.166666667 +0.721687836 0.416666667 -0.166666667 +0.866025404 0.5 0.166666667 +0.721687836 0.416666667 0.166666667 +0.5 0.866025404 -0.166666667 +0.416666667 0.721687836 -0.166666667 +0.5 0.866025404 0.166666667 +0.416666667 0.721687836 0.166666667 +0.577350269 0.333333333 -0.5 +0.433012702 0.25 -0.5 +0.577350269 0.333333333 -0.166666667 +0.433012702 0.25 -0.166666667 +0.333333333 0.577350269 -0.5 +0.25 0.433012702 -0.5 +0.333333333 0.577350269 -0.166666667 +0.25 0.433012702 -0.166666667 +0.721687836 0.416666667 -0.5 +0.577350269 0.333333333 -0.5 +0.721687836 0.416666667 -0.166666667 +0.577350269 0.333333333 -0.166666667 +0.416666667 0.721687836 -0.5 +0.333333333 0.577350269 -0.5 +0.416666667 0.721687836 -0.166666667 +0.333333333 0.577350269 -0.166666667 +0.866025404 0.5 -0.5 +0.721687836 0.416666667 -0.5 +0.866025404 0.5 -0.166666667 +0.721687836 0.416666667 -0.166666667 +0.5 0.866025404 -0.5 +0.416666667 0.721687836 -0.5 +0.5 0.866025404 -0.166666667 +0.416666667 0.721687836 -0.166666667 +0.333333333 0.577350269 0.166666667 +0.25 0.433012702 0.166666667 +0.333333333 0.577350269 0.5 +0.25 0.433012702 0.5 +0 0.666666667 0.166666667 +0 0.5 0.166666667 +0 0.666666667 0.5 +0 0.5 0.5 +0.416666667 0.721687836 0.166666667 +0.333333333 0.577350269 0.166666667 +0.416666667 0.721687836 0.5 +0.333333333 0.577350269 0.5 +0 0.833333333 0.166666667 +0 0.666666667 0.166666667 +0 0.833333333 0.5 +0 0.666666667 0.5 +0.5 0.866025404 0.166666667 +0.416666667 0.721687836 0.166666667 +0.5 0.866025404 0.5 +0.416666667 0.721687836 0.5 +0 1 0.166666667 +0 0.833333333 0.166666667 +0 1 0.5 +0 0.833333333 0.5 +0.333333333 0.577350269 -0.166666667 +0.25 0.433012702 -0.166666667 +0.333333333 0.577350269 0.166666667 +0.25 0.433012702 0.166666667 +0 0.666666667 -0.166666667 +0 0.5 -0.166666667 +0 0.666666667 0.166666667 +0 0.5 0.166666667 +0.416666667 0.721687836 -0.166666667 +0.333333333 0.577350269 -0.166666667 +0.416666667 0.721687836 0.166666667 +0.333333333 0.577350269 0.166666667 +0 0.833333333 -0.166666667 +0 0.666666667 -0.166666667 +0 0.833333333 0.166666667 +0 0.666666667 0.166666667 +0.5 0.866025404 -0.166666667 +0.416666667 0.721687836 -0.166666667 +0.5 0.866025404 0.166666667 +0.416666667 0.721687836 0.166666667 +0 1 -0.166666667 +0 0.833333333 -0.166666667 +0 1 0.166666667 +0 0.833333333 0.166666667 +0.333333333 0.577350269 -0.5 +0.25 0.433012702 -0.5 +0.333333333 0.577350269 -0.166666667 +0.25 0.433012702 -0.166666667 +0 0.666666667 -0.5 +0 0.5 -0.5 +0 0.666666667 -0.166666667 +0 0.5 -0.166666667 +0.416666667 0.721687836 -0.5 +0.333333333 0.577350269 -0.5 +0.416666667 0.721687836 -0.166666667 +0.333333333 0.577350269 -0.166666667 +0 0.833333333 -0.5 +0 0.666666667 -0.5 +0 0.833333333 -0.166666667 +0 0.666666667 -0.166666667 +0.5 0.866025404 -0.5 +0.416666667 0.721687836 -0.5 +0.5 0.866025404 -0.166666667 +0.416666667 0.721687836 -0.166666667 +0 1 -0.5 +0 0.833333333 -0.5 +0 1 -0.166666667 +0 0.833333333 -0.166666667 +0.577350269 -0.333333333 0.166666667 +0.433012702 -0.25 0.166666667 +0.577350269 -0.333333333 0.5 +0.433012702 -0.25 0.5 +0.666666667 0 0.166666667 +0.5 0 0.166666667 +0.666666667 0 0.5 +0.5 0 0.5 +0.721687836 -0.416666667 0.166666667 +0.577350269 -0.333333333 0.166666667 +0.721687836 -0.416666667 0.5 +0.577350269 -0.333333333 0.5 +0.833333333 0 0.166666667 +0.666666667 0 0.166666667 +0.833333333 0 0.5 +0.666666667 0 0.5 +0.866025404 -0.5 0.166666667 +0.721687836 -0.416666667 0.166666667 +0.866025404 -0.5 0.5 +0.721687836 -0.416666667 0.5 +1 0 0.166666667 +0.833333333 0 0.166666667 +1 0 0.5 +0.833333333 0 0.5 +0.577350269 -0.333333333 -0.166666667 +0.433012702 -0.25 -0.166666667 +0.577350269 -0.333333333 0.166666667 +0.433012702 -0.25 0.166666667 +0.666666667 0 -0.166666667 +0.5 0 -0.166666667 +0.666666667 0 0.166666667 +0.5 0 0.166666667 +0.721687836 -0.416666667 -0.166666667 +0.577350269 -0.333333333 -0.166666667 +0.721687836 -0.416666667 0.166666667 +0.577350269 -0.333333333 0.166666667 +0.833333333 0 -0.166666667 +0.666666667 0 -0.166666667 +0.833333333 0 0.166666667 +0.666666667 0 0.166666667 +0.866025404 -0.5 -0.166666667 +0.721687836 -0.416666667 -0.166666667 +0.866025404 -0.5 0.166666667 +0.721687836 -0.416666667 0.166666667 +1 0 -0.166666667 +0.833333333 0 -0.166666667 +1 0 0.166666667 +0.833333333 0 0.166666667 +0.577350269 -0.333333333 -0.5 +0.433012702 -0.25 -0.5 +0.577350269 -0.333333333 -0.166666667 +0.433012702 -0.25 -0.166666667 +0.666666667 0 -0.5 +0.5 0 -0.5 +0.666666667 0 -0.166666667 +0.5 0 -0.166666667 +0.721687836 -0.416666667 -0.5 +0.577350269 -0.333333333 -0.5 +0.721687836 -0.416666667 -0.166666667 +0.577350269 -0.333333333 -0.166666667 +0.833333333 0 -0.5 +0.666666667 0 -0.5 +0.833333333 0 -0.166666667 +0.666666667 0 -0.166666667 +0.866025404 -0.5 -0.5 +0.721687836 -0.416666667 -0.5 +0.866025404 -0.5 -0.166666667 +0.721687836 -0.416666667 -0.166666667 +1 0 -0.5 +0.833333333 0 -0.5 +1 0 -0.166666667 +0.833333333 0 -0.166666667 +0.333333333 -0.577350269 0.166666667 +0.25 -0.433012702 0.166666667 +0.333333333 -0.577350269 0.5 +0.25 -0.433012702 0.5 +0.577350269 -0.333333333 0.166666667 +0.433012702 -0.25 0.166666667 +0.577350269 -0.333333333 0.5 +0.433012702 -0.25 0.5 +0.416666667 -0.721687836 0.166666667 +0.333333333 -0.577350269 0.166666667 +0.416666667 -0.721687836 0.5 +0.333333333 -0.577350269 0.5 +0.721687836 -0.416666667 0.166666667 +0.577350269 -0.333333333 0.166666667 +0.721687836 -0.416666667 0.5 +0.577350269 -0.333333333 0.5 +0.5 -0.866025404 0.166666667 +0.416666667 -0.721687836 0.166666667 +0.5 -0.866025404 0.5 +0.416666667 -0.721687836 0.5 +0.866025404 -0.5 0.166666667 +0.721687836 -0.416666667 0.166666667 +0.866025404 -0.5 0.5 +0.721687836 -0.416666667 0.5 +0.333333333 -0.577350269 -0.166666667 +0.25 -0.433012702 -0.166666667 +0.333333333 -0.577350269 0.166666667 +0.25 -0.433012702 0.166666667 +0.577350269 -0.333333333 -0.166666667 +0.433012702 -0.25 -0.166666667 +0.577350269 -0.333333333 0.166666667 +0.433012702 -0.25 0.166666667 +0.416666667 -0.721687836 -0.166666667 +0.333333333 -0.577350269 -0.166666667 +0.416666667 -0.721687836 0.166666667 +0.333333333 -0.577350269 0.166666667 +0.721687836 -0.416666667 -0.166666667 +0.577350269 -0.333333333 -0.166666667 +0.721687836 -0.416666667 0.166666667 +0.577350269 -0.333333333 0.166666667 +0.5 -0.866025404 -0.166666667 +0.416666667 -0.721687836 -0.166666667 +0.5 -0.866025404 0.166666667 +0.416666667 -0.721687836 0.166666667 +0.866025404 -0.5 -0.166666667 +0.721687836 -0.416666667 -0.166666667 +0.866025404 -0.5 0.166666667 +0.721687836 -0.416666667 0.166666667 +0.333333333 -0.577350269 -0.5 +0.25 -0.433012702 -0.5 +0.333333333 -0.577350269 -0.166666667 +0.25 -0.433012702 -0.166666667 +0.577350269 -0.333333333 -0.5 +0.433012702 -0.25 -0.5 +0.577350269 -0.333333333 -0.166666667 +0.433012702 -0.25 -0.166666667 +0.416666667 -0.721687836 -0.5 +0.333333333 -0.577350269 -0.5 +0.416666667 -0.721687836 -0.166666667 +0.333333333 -0.577350269 -0.166666667 +0.721687836 -0.416666667 -0.5 +0.577350269 -0.333333333 -0.5 +0.721687836 -0.416666667 -0.166666667 +0.577350269 -0.333333333 -0.166666667 +0.5 -0.866025404 -0.5 +0.416666667 -0.721687836 -0.5 +0.5 -0.866025404 -0.166666667 +0.416666667 -0.721687836 -0.166666667 +0.866025404 -0.5 -0.5 +0.721687836 -0.416666667 -0.5 +0.866025404 -0.5 -0.166666667 +0.721687836 -0.416666667 -0.166666667 +0 -0.666666667 0.166666667 +0 -0.5 0.166666667 +0 -0.666666667 0.5 +0 -0.5 0.5 +0.333333333 -0.577350269 0.166666667 +0.25 -0.433012702 0.166666667 +0.333333333 -0.577350269 0.5 +0.25 -0.433012702 0.5 +0 -0.833333333 0.166666667 +0 -0.666666667 0.166666667 +0 -0.833333333 0.5 +0 -0.666666667 0.5 +0.416666667 -0.721687836 0.166666667 +0.333333333 -0.577350269 0.166666667 +0.416666667 -0.721687836 0.5 +0.333333333 -0.577350269 0.5 +0 -1 0.166666667 +0 -0.833333333 0.166666667 +0 -1 0.5 +0 -0.833333333 0.5 +0.5 -0.866025404 0.166666667 +0.416666667 -0.721687836 0.166666667 +0.5 -0.866025404 0.5 +0.416666667 -0.721687836 0.5 +0 -0.666666667 -0.166666667 +0 -0.5 -0.166666667 +0 -0.666666667 0.166666667 +0 -0.5 0.166666667 +0.333333333 -0.577350269 -0.166666667 +0.25 -0.433012702 -0.166666667 +0.333333333 -0.577350269 0.166666667 +0.25 -0.433012702 0.166666667 +0 -0.833333333 -0.166666667 +0 -0.666666667 -0.166666667 +0 -0.833333333 0.166666667 +0 -0.666666667 0.166666667 +0.416666667 -0.721687836 -0.166666667 +0.333333333 -0.577350269 -0.166666667 +0.416666667 -0.721687836 0.166666667 +0.333333333 -0.577350269 0.166666667 +0 -1 -0.166666667 +0 -0.833333333 -0.166666667 +0 -1 0.166666667 +0 -0.833333333 0.166666667 +0.5 -0.866025404 -0.166666667 +0.416666667 -0.721687836 -0.166666667 +0.5 -0.866025404 0.166666667 +0.416666667 -0.721687836 0.166666667 +0 -0.666666667 -0.5 +0 -0.5 -0.5 +0 -0.666666667 -0.166666667 +0 -0.5 -0.166666667 +0.333333333 -0.577350269 -0.5 +0.25 -0.433012702 -0.5 +0.333333333 -0.577350269 -0.166666667 +0.25 -0.433012702 -0.166666667 +0 -0.833333333 -0.5 +0 -0.666666667 -0.5 +0 -0.833333333 -0.166666667 +0 -0.666666667 -0.166666667 +0.416666667 -0.721687836 -0.5 +0.333333333 -0.577350269 -0.5 +0.416666667 -0.721687836 -0.166666667 +0.333333333 -0.577350269 -0.166666667 +0 -1 -0.5 +0 -0.833333333 -0.5 +0 -1 -0.166666667 +0 -0.833333333 -0.166666667 +0.5 -0.866025404 -0.5 +0.416666667 -0.721687836 -0.5 +0.5 -0.866025404 -0.166666667 +0.416666667 -0.721687836 -0.166666667 +0 -0.833333333 -0.5 +0 -1 -0.5 +0 -0.833333333 -0.166666667 +0 -1 -0.166666667 +-0.416666667 -0.721687836 -0.5 +-0.5 -0.866025404 -0.5 +-0.416666667 -0.721687836 -0.166666667 +-0.5 -0.866025404 -0.166666667 +0 -0.666666667 -0.5 +0 -0.833333333 -0.5 +0 -0.666666667 -0.166666667 +0 -0.833333333 -0.166666667 +-0.333333333 -0.577350269 -0.5 +-0.416666667 -0.721687836 -0.5 +-0.333333333 -0.577350269 -0.166666667 +-0.416666667 -0.721687836 -0.166666667 +0 -0.5 -0.5 +0 -0.666666667 -0.5 +0 -0.5 -0.166666667 +0 -0.666666667 -0.166666667 +-0.25 -0.433012702 -0.5 +-0.333333333 -0.577350269 -0.5 +-0.25 -0.433012702 -0.166666667 +-0.333333333 -0.577350269 -0.166666667 +0 -0.833333333 -0.166666667 +0 -1 -0.166666667 +0 -0.833333333 0.166666667 +0 -1 0.166666667 +-0.416666667 -0.721687836 -0.166666667 +-0.5 -0.866025404 -0.166666667 +-0.416666667 -0.721687836 0.166666667 +-0.5 -0.866025404 0.166666667 +0 -0.666666667 -0.166666667 +0 -0.833333333 -0.166666667 +0 -0.666666667 0.166666667 +0 -0.833333333 0.166666667 +-0.333333333 -0.577350269 -0.166666667 +-0.416666667 -0.721687836 -0.166666667 +-0.333333333 -0.577350269 0.166666667 +-0.416666667 -0.721687836 0.166666667 +0 -0.5 -0.166666667 +0 -0.666666667 -0.166666667 +0 -0.5 0.166666667 +0 -0.666666667 0.166666667 +-0.25 -0.433012702 -0.166666667 +-0.333333333 -0.577350269 -0.166666667 +-0.25 -0.433012702 0.166666667 +-0.333333333 -0.577350269 0.166666667 +0 -0.833333333 0.166666667 +0 -1 0.166666667 +0 -0.833333333 0.5 +0 -1 0.5 +-0.416666667 -0.721687836 0.166666667 +-0.5 -0.866025404 0.166666667 +-0.416666667 -0.721687836 0.5 +-0.5 -0.866025404 0.5 +0 -0.666666667 0.166666667 +0 -0.833333333 0.166666667 +0 -0.666666667 0.5 +0 -0.833333333 0.5 +-0.333333333 -0.577350269 0.166666667 +-0.416666667 -0.721687836 0.166666667 +-0.333333333 -0.577350269 0.5 +-0.416666667 -0.721687836 0.5 +0 -0.5 0.166666667 +0 -0.666666667 0.166666667 +0 -0.5 0.5 +0 -0.666666667 0.5 +-0.25 -0.433012702 0.166666667 +-0.333333333 -0.577350269 0.166666667 +-0.25 -0.433012702 0.5 +-0.333333333 -0.577350269 0.5 +-0.416666667 -0.721687836 -0.5 +-0.5 -0.866025404 -0.5 +-0.416666667 -0.721687836 -0.166666667 +-0.5 -0.866025404 -0.166666667 +-0.721687836 -0.416666667 -0.5 +-0.866025404 -0.5 -0.5 +-0.721687836 -0.416666667 -0.166666667 +-0.866025404 -0.5 -0.166666667 +-0.333333333 -0.577350269 -0.5 +-0.416666667 -0.721687836 -0.5 +-0.333333333 -0.577350269 -0.166666667 +-0.416666667 -0.721687836 -0.166666667 +-0.577350269 -0.333333333 -0.5 +-0.721687836 -0.416666667 -0.5 +-0.577350269 -0.333333333 -0.166666667 +-0.721687836 -0.416666667 -0.166666667 +-0.25 -0.433012702 -0.5 +-0.333333333 -0.577350269 -0.5 +-0.25 -0.433012702 -0.166666667 +-0.333333333 -0.577350269 -0.166666667 +-0.433012702 -0.25 -0.5 +-0.577350269 -0.333333333 -0.5 +-0.433012702 -0.25 -0.166666667 +-0.577350269 -0.333333333 -0.166666667 +-0.416666667 -0.721687836 -0.166666667 +-0.5 -0.866025404 -0.166666667 +-0.416666667 -0.721687836 0.166666667 +-0.5 -0.866025404 0.166666667 +-0.721687836 -0.416666667 -0.166666667 +-0.866025404 -0.5 -0.166666667 +-0.721687836 -0.416666667 0.166666667 +-0.866025404 -0.5 0.166666667 +-0.333333333 -0.577350269 -0.166666667 +-0.416666667 -0.721687836 -0.166666667 +-0.333333333 -0.577350269 0.166666667 +-0.416666667 -0.721687836 0.166666667 +-0.577350269 -0.333333333 -0.166666667 +-0.721687836 -0.416666667 -0.166666667 +-0.577350269 -0.333333333 0.166666667 +-0.721687836 -0.416666667 0.166666667 +-0.25 -0.433012702 -0.166666667 +-0.333333333 -0.577350269 -0.166666667 +-0.25 -0.433012702 0.166666667 +-0.333333333 -0.577350269 0.166666667 +-0.433012702 -0.25 -0.166666667 +-0.577350269 -0.333333333 -0.166666667 +-0.433012702 -0.25 0.166666667 +-0.577350269 -0.333333333 0.166666667 +-0.416666667 -0.721687836 0.166666667 +-0.5 -0.866025404 0.166666667 +-0.416666667 -0.721687836 0.5 +-0.5 -0.866025404 0.5 +-0.721687836 -0.416666667 0.166666667 +-0.866025404 -0.5 0.166666667 +-0.721687836 -0.416666667 0.5 +-0.866025404 -0.5 0.5 +-0.333333333 -0.577350269 0.166666667 +-0.416666667 -0.721687836 0.166666667 +-0.333333333 -0.577350269 0.5 +-0.416666667 -0.721687836 0.5 +-0.577350269 -0.333333333 0.166666667 +-0.721687836 -0.416666667 0.166666667 +-0.577350269 -0.333333333 0.5 +-0.721687836 -0.416666667 0.5 +-0.25 -0.433012702 0.166666667 +-0.333333333 -0.577350269 0.166666667 +-0.25 -0.433012702 0.5 +-0.333333333 -0.577350269 0.5 +-0.433012702 -0.25 0.166666667 +-0.577350269 -0.333333333 0.166666667 +-0.433012702 -0.25 0.5 +-0.577350269 -0.333333333 0.5 +-0.721687836 -0.416666667 -0.5 +-0.866025404 -0.5 -0.5 +-0.721687836 -0.416666667 -0.166666667 +-0.866025404 -0.5 -0.166666667 +-0.833333333 0 -0.5 +-1 0 -0.5 +-0.833333333 0 -0.166666667 +-1 0 -0.166666667 +-0.577350269 -0.333333333 -0.5 +-0.721687836 -0.416666667 -0.5 +-0.577350269 -0.333333333 -0.166666667 +-0.721687836 -0.416666667 -0.166666667 +-0.666666667 0 -0.5 +-0.833333333 0 -0.5 +-0.666666667 0 -0.166666667 +-0.833333333 0 -0.166666667 +-0.433012702 -0.25 -0.5 +-0.577350269 -0.333333333 -0.5 +-0.433012702 -0.25 -0.166666667 +-0.577350269 -0.333333333 -0.166666667 +-0.5 0 -0.5 +-0.666666667 0 -0.5 +-0.5 0 -0.166666667 +-0.666666667 0 -0.166666667 +-0.721687836 -0.416666667 -0.166666667 +-0.866025404 -0.5 -0.166666667 +-0.721687836 -0.416666667 0.166666667 +-0.866025404 -0.5 0.166666667 +-0.833333333 0 -0.166666667 +-1 0 -0.166666667 +-0.833333333 0 0.166666667 +-1 0 0.166666667 +-0.577350269 -0.333333333 -0.166666667 +-0.721687836 -0.416666667 -0.166666667 +-0.577350269 -0.333333333 0.166666667 +-0.721687836 -0.416666667 0.166666667 +-0.666666667 0 -0.166666667 +-0.833333333 0 -0.166666667 +-0.666666667 0 0.166666667 +-0.833333333 0 0.166666667 +-0.433012702 -0.25 -0.166666667 +-0.577350269 -0.333333333 -0.166666667 +-0.433012702 -0.25 0.166666667 +-0.577350269 -0.333333333 0.166666667 +-0.5 0 -0.166666667 +-0.666666667 0 -0.166666667 +-0.5 0 0.166666667 +-0.666666667 0 0.166666667 +-0.721687836 -0.416666667 0.166666667 +-0.866025404 -0.5 0.166666667 +-0.721687836 -0.416666667 0.5 +-0.866025404 -0.5 0.5 +-0.833333333 0 0.166666667 +-1 0 0.166666667 +-0.833333333 0 0.5 +-1 0 0.5 +-0.577350269 -0.333333333 0.166666667 +-0.721687836 -0.416666667 0.166666667 +-0.577350269 -0.333333333 0.5 +-0.721687836 -0.416666667 0.5 +-0.666666667 0 0.166666667 +-0.833333333 0 0.166666667 +-0.666666667 0 0.5 +-0.833333333 0 0.5 +-0.433012702 -0.25 0.166666667 +-0.577350269 -0.333333333 0.166666667 +-0.433012702 -0.25 0.5 +-0.577350269 -0.333333333 0.5 +-0.5 0 0.166666667 +-0.666666667 0 0.166666667 +-0.5 0 0.5 +-0.666666667 0 0.5 +-0.5 0 0.166666667 +-0.666666667 0 0.166666667 +-0.5 0 0.5 +-0.666666667 0 0.5 +-0.433012702 0.25 0.166666667 +-0.577350269 0.333333333 0.166666667 +-0.433012702 0.25 0.5 +-0.577350269 0.333333333 0.5 +-0.666666667 0 0.166666667 +-0.833333333 0 0.166666667 +-0.666666667 0 0.5 +-0.833333333 0 0.5 +-0.577350269 0.333333333 0.166666667 +-0.721687836 0.416666667 0.166666667 +-0.577350269 0.333333333 0.5 +-0.721687836 0.416666667 0.5 +-0.833333333 0 0.166666667 +-1 0 0.166666667 +-0.833333333 0 0.5 +-1 0 0.5 +-0.721687836 0.416666667 0.166666667 +-0.866025404 0.5 0.166666667 +-0.721687836 0.416666667 0.5 +-0.866025404 0.5 0.5 +-0.5 0 -0.166666667 +-0.666666667 0 -0.166666667 +-0.5 0 0.166666667 +-0.666666667 0 0.166666667 +-0.433012702 0.25 -0.166666667 +-0.577350269 0.333333333 -0.166666667 +-0.433012702 0.25 0.166666667 +-0.577350269 0.333333333 0.166666667 +-0.666666667 0 -0.166666667 +-0.833333333 0 -0.166666667 +-0.666666667 0 0.166666667 +-0.833333333 0 0.166666667 +-0.577350269 0.333333333 -0.166666667 +-0.721687836 0.416666667 -0.166666667 +-0.577350269 0.333333333 0.166666667 +-0.721687836 0.416666667 0.166666667 +-0.833333333 0 -0.166666667 +-1 0 -0.166666667 +-0.833333333 0 0.166666667 +-1 0 0.166666667 +-0.721687836 0.416666667 -0.166666667 +-0.866025404 0.5 -0.166666667 +-0.721687836 0.416666667 0.166666667 +-0.866025404 0.5 0.166666667 +-0.5 0 -0.5 +-0.666666667 0 -0.5 +-0.5 0 -0.166666667 +-0.666666667 0 -0.166666667 +-0.433012702 0.25 -0.5 +-0.577350269 0.333333333 -0.5 +-0.433012702 0.25 -0.166666667 +-0.577350269 0.333333333 -0.166666667 +-0.666666667 0 -0.5 +-0.833333333 0 -0.5 +-0.666666667 0 -0.166666667 +-0.833333333 0 -0.166666667 +-0.577350269 0.333333333 -0.5 +-0.721687836 0.416666667 -0.5 +-0.577350269 0.333333333 -0.166666667 +-0.721687836 0.416666667 -0.166666667 +-0.833333333 0 -0.5 +-1 0 -0.5 +-0.833333333 0 -0.166666667 +-1 0 -0.166666667 +-0.721687836 0.416666667 -0.5 +-0.866025404 0.5 -0.5 +-0.721687836 0.416666667 -0.166666667 +-0.866025404 0.5 -0.166666667 +-0.433012702 0.25 0.166666667 +-0.577350269 0.333333333 0.166666667 +-0.433012702 0.25 0.5 +-0.577350269 0.333333333 0.5 +-0.25 0.433012702 0.166666667 +-0.333333333 0.577350269 0.166666667 +-0.25 0.433012702 0.5 +-0.333333333 0.577350269 0.5 +-0.577350269 0.333333333 0.166666667 +-0.721687836 0.416666667 0.166666667 +-0.577350269 0.333333333 0.5 +-0.721687836 0.416666667 0.5 +-0.333333333 0.577350269 0.166666667 +-0.416666667 0.721687836 0.166666667 +-0.333333333 0.577350269 0.5 +-0.416666667 0.721687836 0.5 +-0.721687836 0.416666667 0.166666667 +-0.866025404 0.5 0.166666667 +-0.721687836 0.416666667 0.5 +-0.866025404 0.5 0.5 +-0.416666667 0.721687836 0.166666667 +-0.5 0.866025404 0.166666667 +-0.416666667 0.721687836 0.5 +-0.5 0.866025404 0.5 +-0.433012702 0.25 -0.166666667 +-0.577350269 0.333333333 -0.166666667 +-0.433012702 0.25 0.166666667 +-0.577350269 0.333333333 0.166666667 +-0.25 0.433012702 -0.166666667 +-0.333333333 0.577350269 -0.166666667 +-0.25 0.433012702 0.166666667 +-0.333333333 0.577350269 0.166666667 +-0.577350269 0.333333333 -0.166666667 +-0.721687836 0.416666667 -0.166666667 +-0.577350269 0.333333333 0.166666667 +-0.721687836 0.416666667 0.166666667 +-0.333333333 0.577350269 -0.166666667 +-0.416666667 0.721687836 -0.166666667 +-0.333333333 0.577350269 0.166666667 +-0.416666667 0.721687836 0.166666667 +-0.721687836 0.416666667 -0.166666667 +-0.866025404 0.5 -0.166666667 +-0.721687836 0.416666667 0.166666667 +-0.866025404 0.5 0.166666667 +-0.416666667 0.721687836 -0.166666667 +-0.5 0.866025404 -0.166666667 +-0.416666667 0.721687836 0.166666667 +-0.5 0.866025404 0.166666667 +-0.433012702 0.25 -0.5 +-0.577350269 0.333333333 -0.5 +-0.433012702 0.25 -0.166666667 +-0.577350269 0.333333333 -0.166666667 +-0.25 0.433012702 -0.5 +-0.333333333 0.577350269 -0.5 +-0.25 0.433012702 -0.166666667 +-0.333333333 0.577350269 -0.166666667 +-0.577350269 0.333333333 -0.5 +-0.721687836 0.416666667 -0.5 +-0.577350269 0.333333333 -0.166666667 +-0.721687836 0.416666667 -0.166666667 +-0.333333333 0.577350269 -0.5 +-0.416666667 0.721687836 -0.5 +-0.333333333 0.577350269 -0.166666667 +-0.416666667 0.721687836 -0.166666667 +-0.721687836 0.416666667 -0.5 +-0.866025404 0.5 -0.5 +-0.721687836 0.416666667 -0.166666667 +-0.866025404 0.5 -0.166666667 +-0.416666667 0.721687836 -0.5 +-0.5 0.866025404 -0.5 +-0.416666667 0.721687836 -0.166666667 +-0.5 0.866025404 -0.166666667 +-0.25 0.433012702 0.166666667 +-0.333333333 0.577350269 0.166666667 +-0.25 0.433012702 0.5 +-0.333333333 0.577350269 0.5 +0 0.5 0.166666667 +0 0.666666667 0.166666667 +0 0.5 0.5 +0 0.666666667 0.5 +-0.333333333 0.577350269 0.166666667 +-0.416666667 0.721687836 0.166666667 +-0.333333333 0.577350269 0.5 +-0.416666667 0.721687836 0.5 +0 0.666666667 0.166666667 +0 0.833333333 0.166666667 +0 0.666666667 0.5 +0 0.833333333 0.5 +-0.416666667 0.721687836 0.166666667 +-0.5 0.866025404 0.166666667 +-0.416666667 0.721687836 0.5 +-0.5 0.866025404 0.5 +0 0.833333333 0.166666667 +0 1 0.166666667 +0 0.833333333 0.5 +0 1 0.5 +-0.25 0.433012702 -0.166666667 +-0.333333333 0.577350269 -0.166666667 +-0.25 0.433012702 0.166666667 +-0.333333333 0.577350269 0.166666667 +0 0.5 -0.166666667 +0 0.666666667 -0.166666667 +0 0.5 0.166666667 +0 0.666666667 0.166666667 +-0.333333333 0.577350269 -0.166666667 +-0.416666667 0.721687836 -0.166666667 +-0.333333333 0.577350269 0.166666667 +-0.416666667 0.721687836 0.166666667 +0 0.666666667 -0.166666667 +0 0.833333333 -0.166666667 +0 0.666666667 0.166666667 +0 0.833333333 0.166666667 +-0.416666667 0.721687836 -0.166666667 +-0.5 0.866025404 -0.166666667 +-0.416666667 0.721687836 0.166666667 +-0.5 0.866025404 0.166666667 +0 0.833333333 -0.166666667 +0 1 -0.166666667 +0 0.833333333 0.166666667 +0 1 0.166666667 +-0.25 0.433012702 -0.5 +-0.333333333 0.577350269 -0.5 +-0.25 0.433012702 -0.166666667 +-0.333333333 0.577350269 -0.166666667 +0 0.5 -0.5 +0 0.666666667 -0.5 +0 0.5 -0.166666667 +0 0.666666667 -0.166666667 +-0.333333333 0.577350269 -0.5 +-0.416666667 0.721687836 -0.5 +-0.333333333 0.577350269 -0.166666667 +-0.416666667 0.721687836 -0.166666667 +0 0.666666667 -0.5 +0 0.833333333 -0.5 +0 0.666666667 -0.166666667 +0 0.833333333 -0.166666667 +-0.416666667 0.721687836 -0.5 +-0.5 0.866025404 -0.5 +-0.416666667 0.721687836 -0.166666667 +-0.5 0.866025404 -0.166666667 +0 0.833333333 -0.5 +0 1 -0.5 +0 0.833333333 -0.166666667 +0 1 -0.166666667 + + + + +0 1 3 2 4 5 7 6 +8 9 11 10 12 13 15 14 +16 17 19 18 20 21 23 22 +24 25 27 26 28 29 31 30 +32 33 35 34 36 37 39 38 +40 41 43 42 44 45 47 46 +48 49 51 50 52 53 55 54 +56 57 59 58 60 61 63 62 +64 65 67 66 68 69 71 70 +72 73 75 74 76 77 79 78 +80 81 83 82 84 85 87 86 +88 89 91 90 92 93 95 94 +96 97 99 98 100 101 103 102 +104 105 107 106 108 109 111 110 +112 113 115 114 116 117 119 118 +120 121 123 122 124 125 127 126 +128 129 131 130 132 133 135 134 +136 137 139 138 140 141 143 142 +144 145 147 146 148 149 151 150 +152 153 155 154 156 157 159 158 +160 161 163 162 164 165 167 166 +168 169 171 170 172 173 175 174 +176 177 179 178 180 181 183 182 +184 185 187 186 188 189 191 190 +192 193 195 194 196 197 199 198 +200 201 203 202 204 205 207 206 +208 209 211 210 212 213 215 214 +216 217 219 218 220 221 223 222 +224 225 227 226 228 229 231 230 +232 233 235 234 236 237 239 238 +240 241 243 242 244 245 247 246 +248 249 251 250 252 253 255 254 +256 257 259 258 260 261 263 262 +264 265 267 266 268 269 271 270 +272 273 275 274 276 277 279 278 +280 281 283 282 284 285 287 286 +288 289 291 290 292 293 295 294 +296 297 299 298 300 301 303 302 +304 305 307 306 308 309 311 310 +312 313 315 314 316 317 319 318 +320 321 323 322 324 325 327 326 +328 329 331 330 332 333 335 334 +336 337 339 338 340 341 343 342 +344 345 347 346 348 349 351 350 +352 353 355 354 356 357 359 358 +360 361 363 362 364 365 367 366 +368 369 371 370 372 373 375 374 +376 377 379 378 380 381 383 382 +384 385 387 386 388 389 391 390 +392 393 395 394 396 397 399 398 +400 401 403 402 404 405 407 406 +408 409 411 410 412 413 415 414 +416 417 419 418 420 421 423 422 +424 425 427 426 428 429 431 430 +432 433 435 434 436 437 439 438 +440 441 443 442 444 445 447 446 +448 449 451 450 452 453 455 454 +456 457 459 458 460 461 463 462 +464 465 467 466 468 469 471 470 +472 473 475 474 476 477 479 478 +480 481 483 482 484 485 487 486 +488 489 491 490 492 493 495 494 +496 497 499 498 500 501 503 502 +504 505 507 506 508 509 511 510 +512 513 515 514 516 517 519 518 +520 521 523 522 524 525 527 526 +528 529 531 530 532 533 535 534 +536 537 539 538 540 541 543 542 +544 545 547 546 548 549 551 550 +552 553 555 554 556 557 559 558 +560 561 563 562 564 565 567 566 +568 569 571 570 572 573 575 574 +576 577 579 578 580 581 583 582 +584 585 587 586 588 589 591 590 +592 593 595 594 596 597 599 598 +600 601 603 602 604 605 607 606 +608 609 611 610 612 613 615 614 +616 617 619 618 620 621 623 622 +624 625 627 626 628 629 631 630 +632 633 635 634 636 637 639 638 +640 641 643 642 644 645 647 646 +648 649 651 650 652 653 655 654 +656 657 659 658 660 661 663 662 +664 665 667 666 668 669 671 670 +672 673 675 674 676 677 679 678 +680 681 683 682 684 685 687 686 +688 689 691 690 692 693 695 694 +696 697 699 698 700 701 703 702 +704 705 707 706 708 709 711 710 +712 713 715 714 716 717 719 718 +720 721 723 722 724 725 727 726 +728 729 731 730 732 733 735 734 +736 737 739 738 740 741 743 742 +744 745 747 746 748 749 751 750 +752 753 755 754 756 757 759 758 +760 761 763 762 764 765 767 766 +768 769 771 770 772 773 775 774 +776 777 779 778 780 781 783 782 +784 785 787 786 788 789 791 790 +792 793 795 794 796 797 799 798 +800 801 803 802 804 805 807 806 +808 809 811 810 812 813 815 814 +816 817 819 818 820 821 823 822 +824 825 827 826 828 829 831 830 +832 833 835 834 836 837 839 838 +840 841 843 842 844 845 847 846 +848 849 851 850 852 853 855 854 +856 857 859 858 860 861 863 862 +864 865 867 866 868 869 871 870 +872 873 875 874 876 877 879 878 +880 881 883 882 884 885 887 886 +888 889 891 890 892 893 895 894 +896 897 899 898 900 901 903 902 +904 905 907 906 908 909 911 910 +912 913 915 914 916 917 919 918 +920 921 923 922 924 925 927 926 +928 929 931 930 932 933 935 934 +936 937 939 938 940 941 943 942 +944 945 947 946 948 949 951 950 +952 953 955 954 956 957 959 958 +960 961 963 962 964 965 967 966 +968 969 971 970 972 973 975 974 +976 977 979 978 980 981 983 982 +984 985 987 986 988 989 991 990 +992 993 995 994 996 997 999 998 +1000 1001 1003 1002 1004 1005 1007 1006 +1008 1009 1011 1010 1012 1013 1015 1014 +1016 1017 1019 1018 1020 1021 1023 1022 +1024 1025 1027 1026 1028 1029 1031 1030 +1032 1033 1035 1034 1036 1037 1039 1038 +1040 1041 1043 1042 1044 1045 1047 1046 +1048 1049 1051 1050 1052 1053 1055 1054 +1056 1057 1059 1058 1060 1061 1063 1062 +1064 1065 1067 1066 1068 1069 1071 1070 +1072 1073 1075 1074 1076 1077 1079 1078 +1080 1081 1083 1082 1084 1085 1087 1086 +1088 1089 1091 1090 1092 1093 1095 1094 +1096 1097 1099 1098 1100 1101 1103 1102 +1104 1105 1107 1106 1108 1109 1111 1110 +1112 1113 1115 1114 1116 1117 1119 1118 +1120 1121 1123 1122 1124 1125 1127 1126 +1128 1129 1131 1130 1132 1133 1135 1134 +1136 1137 1139 1138 1140 1141 1143 1142 +1144 1145 1147 1146 1148 1149 1151 1150 +1152 1153 1155 1154 1156 1157 1159 1158 +1160 1161 1163 1162 1164 1165 1167 1166 +1168 1169 1171 1170 1172 1173 1175 1174 +1176 1177 1179 1178 1180 1181 1183 1182 +1184 1185 1187 1186 1188 1189 1191 1190 +1192 1193 1195 1194 1196 1197 1199 1198 +1200 1201 1203 1202 1204 1205 1207 1206 +1208 1209 1211 1210 1212 1213 1215 1214 +1216 1217 1219 1218 1220 1221 1223 1222 +1224 1225 1227 1226 1228 1229 1231 1230 +1232 1233 1235 1234 1236 1237 1239 1238 +1240 1241 1243 1242 1244 1245 1247 1246 +1248 1249 1251 1250 1252 1253 1255 1254 +1256 1257 1259 1258 1260 1261 1263 1262 +1264 1265 1267 1266 1268 1269 1271 1270 +1272 1273 1275 1274 1276 1277 1279 1278 +1280 1281 1283 1282 1284 1285 1287 1286 +1288 1289 1291 1290 1292 1293 1295 1294 +1296 1297 1299 1298 1300 1301 1303 1302 +1304 1305 1307 1306 1308 1309 1311 1310 +1312 1313 1315 1314 1316 1317 1319 1318 +1320 1321 1323 1322 1324 1325 1327 1326 +1328 1329 1331 1330 1332 1333 1335 1334 +1336 1337 1339 1338 1340 1341 1343 1342 +1344 1345 1347 1346 1348 1349 1351 1350 +1352 1353 1355 1354 1356 1357 1359 1358 +1360 1361 1363 1362 1364 1365 1367 1366 +1368 1369 1371 1370 1372 1373 1375 1374 +1376 1377 1379 1378 1380 1381 1383 1382 +1384 1385 1387 1386 1388 1389 1391 1390 +1392 1393 1395 1394 1396 1397 1399 1398 +1400 1401 1403 1402 1404 1405 1407 1406 +1408 1409 1411 1410 1412 1413 1415 1414 +1416 1417 1419 1418 1420 1421 1423 1422 +1424 1425 1427 1426 1428 1429 1431 1430 +1432 1433 1435 1434 1436 1437 1439 1438 +1440 1441 1443 1442 1444 1445 1447 1446 +1448 1449 1451 1450 1452 1453 1455 1454 +1456 1457 1459 1458 1460 1461 1463 1462 +1464 1465 1467 1466 1468 1469 1471 1470 +1472 1473 1475 1474 1476 1477 1479 1478 +1480 1481 1483 1482 1484 1485 1487 1486 +1488 1489 1491 1490 1492 1493 1495 1494 +1496 1497 1499 1498 1500 1501 1503 1502 +1504 1505 1507 1506 1508 1509 1511 1510 +1512 1513 1515 1514 1516 1517 1519 1518 +1520 1521 1523 1522 1524 1525 1527 1526 +1528 1529 1531 1530 1532 1533 1535 1534 +1536 1537 1539 1538 1540 1541 1543 1542 +1544 1545 1547 1546 1548 1549 1551 1550 +1552 1553 1555 1554 1556 1557 1559 1558 +1560 1561 1563 1562 1564 1565 1567 1566 +1568 1569 1571 1570 1572 1573 1575 1574 +1576 1577 1579 1578 1580 1581 1583 1582 +1584 1585 1587 1586 1588 1589 1591 1590 +1592 1593 1595 1594 1596 1597 1599 1598 +1600 1601 1603 1602 1604 1605 1607 1606 +1608 1609 1611 1610 1612 1613 1615 1614 +1616 1617 1619 1618 1620 1621 1623 1622 +1624 1625 1627 1626 1628 1629 1631 1630 +1632 1633 1635 1634 1636 1637 1639 1638 +1640 1641 1643 1642 1644 1645 1647 1646 +1648 1649 1651 1650 1652 1653 1655 1654 +1656 1657 1659 1658 1660 1661 1663 1662 +1664 1665 1667 1666 1668 1669 1671 1670 +1672 1673 1675 1674 1676 1677 1679 1678 +1680 1681 1683 1682 1684 1685 1687 1686 +1688 1689 1691 1690 1692 1693 1695 1694 +1696 1697 1699 1698 1700 1701 1703 1702 +1704 1705 1707 1706 1708 1709 1711 1710 +1712 1713 1715 1714 1716 1717 1719 1718 +1720 1721 1723 1722 1724 1725 1727 1726 +1728 1729 1731 1730 1732 1733 1735 1734 +1736 1737 1739 1738 1740 1741 1743 1742 +1744 1745 1747 1746 1748 1749 1751 1750 +1752 1753 1755 1754 1756 1757 1759 1758 +1760 1761 1763 1762 1764 1765 1767 1766 +1768 1769 1771 1770 1772 1773 1775 1774 +1776 1777 1779 1778 1780 1781 1783 1782 +1784 1785 1787 1786 1788 1789 1791 1790 +1792 1793 1795 1794 1796 1797 1799 1798 +1800 1801 1803 1802 1804 1805 1807 1806 +1808 1809 1811 1810 1812 1813 1815 1814 +1816 1817 1819 1818 1820 1821 1823 1822 +1824 1825 1827 1826 1828 1829 1831 1830 +1832 1833 1835 1834 1836 1837 1839 1838 +1840 1841 1843 1842 1844 1845 1847 1846 +1848 1849 1851 1850 1852 1853 1855 1854 +1856 1857 1859 1858 1860 1861 1863 1862 +1864 1865 1867 1866 1868 1869 1871 1870 +1872 1873 1875 1874 1876 1877 1879 1878 +1880 1881 1883 1882 1884 1885 1887 1886 +1888 1889 1891 1890 1892 1893 1895 1894 +1896 1897 1899 1898 1900 1901 1903 1902 +1904 1905 1907 1906 1908 1909 1911 1910 +1912 1913 1915 1914 1916 1917 1919 1918 +1920 1921 1923 1922 1924 1925 1927 1926 +1928 1929 1931 1930 1932 1933 1935 1934 +1936 1937 1939 1938 1940 1941 1943 1942 +1944 1945 1947 1946 1948 1949 1951 1950 +1952 1953 1955 1954 1956 1957 1959 1958 +1960 1961 1963 1962 1964 1965 1967 1966 +1968 1969 1971 1970 1972 1973 1975 1974 +1976 1977 1979 1978 1980 1981 1983 1982 +1984 1985 1987 1986 1988 1989 1991 1990 +1992 1993 1995 1994 1996 1997 1999 1998 +2000 2001 2003 2002 2004 2005 2007 2006 +2008 2009 2011 2010 2012 2013 2015 2014 + + +8 +16 +24 +32 +40 +48 +56 +64 +72 +80 +88 +96 +104 +112 +120 +128 +136 +144 +152 +160 +168 +176 +184 +192 +200 +208 +216 +224 +232 +240 +248 +256 +264 +272 +280 +288 +296 +304 +312 +320 +328 +336 +344 +352 +360 +368 +376 +384 +392 +400 +408 +416 +424 +432 +440 +448 +456 +464 +472 +480 +488 +496 +504 +512 +520 +528 +536 +544 +552 +560 +568 +576 +584 +592 +600 +608 +616 +624 +632 +640 +648 +656 +664 +672 +680 +688 +696 +704 +712 +720 +728 +736 +744 +752 +760 +768 +776 +784 +792 +800 +808 +816 +824 +832 +840 +848 +856 +864 +872 +880 +888 +896 +904 +912 +920 +928 +936 +944 +952 +960 +968 +976 +984 +992 +1000 +1008 +1016 +1024 +1032 +1040 +1048 +1056 +1064 +1072 +1080 +1088 +1096 +1104 +1112 +1120 +1128 +1136 +1144 +1152 +1160 +1168 +1176 +1184 +1192 +1200 +1208 +1216 +1224 +1232 +1240 +1248 +1256 +1264 +1272 +1280 +1288 +1296 +1304 +1312 +1320 +1328 +1336 +1344 +1352 +1360 +1368 +1376 +1384 +1392 +1400 +1408 +1416 +1424 +1432 +1440 +1448 +1456 +1464 +1472 +1480 +1488 +1496 +1504 +1512 +1520 +1528 +1536 +1544 +1552 +1560 +1568 +1576 +1584 +1592 +1600 +1608 +1616 +1624 +1632 +1640 +1648 +1656 +1664 +1672 +1680 +1688 +1696 +1704 +1712 +1720 +1728 +1736 +1744 +1752 +1760 +1768 +1776 +1784 +1792 +1800 +1808 +1816 +1824 +1832 +1840 +1848 +1856 +1864 +1872 +1880 +1888 +1896 +1904 +1912 +1920 +1928 +1936 +1944 +1952 +1960 +1968 +1976 +1984 +1992 +2000 +2008 +2016 + + +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 + + + + +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 + + + + +0.666666667 +0.666666667 +0.666666667 +0.666666667 +1 +1 +1 +1 +0.666666667 +0.666666667 +0.666666667 +0.666666667 +1 +1 +1 +1 +0.666666667 +0.666666667 +0.666666667 +0.666666667 +1 +1 +1 +1 +0.666666667 +0.666666667 +0.666666667 +0.666666667 +1 +1 +1 +1 +0.666666667 +0.666666667 +0.666666667 +0.666666667 +1 +1 +1 +1 +0.666666667 +0.666666667 +0.666666667 +0.666666667 +1 +1 +1 +1 +0.666666667 +0.666666667 +0.666666667 +0.666666667 +1 +1 +1 +1 +0.666666667 +0.666666667 +0.666666667 +0.666666667 +1 +1 +1 +1 +0.666666667 +0.666666667 +0.666666667 +0.666666667 +1 +1 +1 +1 +0.666666667 +0.666666667 +0.666666667 +0.666666667 +1 +1 +1 +1 +0.666666667 +0.666666667 +0.666666667 +0.666666667 +1 +1 +1 +1 +0.666666667 +0.666666667 +0.666666667 +0.666666667 +1 +1 +1 +1 +0.333333333 +0.333333333 +0.333333333 +0.333333333 +0.666666667 +0.666666667 +0.666666667 +0.666666667 +0.333333333 +0.333333333 +0.333333333 +0.333333333 +0.666666667 +0.666666667 +0.666666667 +0.666666667 +0.333333333 +0.333333333 +0.333333333 +0.333333333 +0.666666667 +0.666666667 +0.666666667 +0.666666667 +0.333333333 +0.333333333 +0.333333333 +0.333333333 +0.666666667 +0.666666667 +0.666666667 +0.666666667 +0.333333333 +0.333333333 +0.333333333 +0.333333333 +0.666666667 +0.666666667 +0.666666667 +0.666666667 +0.333333333 +0.333333333 +0.333333333 +0.333333333 +0.666666667 +0.666666667 +0.666666667 +0.666666667 +0.333333333 +0.333333333 +0.333333333 +0.333333333 +0.666666667 +0.666666667 +0.666666667 +0.666666667 +0.333333333 +0.333333333 +0.333333333 +0.333333333 +0.666666667 +0.666666667 +0.666666667 +0.666666667 +0.333333333 +0.333333333 +0.333333333 +0.333333333 +0.666666667 +0.666666667 +0.666666667 +0.666666667 +0.333333333 +0.333333333 +0.333333333 +0.333333333 +0.666666667 +0.666666667 +0.666666667 +0.666666667 +0.333333333 +0.333333333 +0.333333333 +0.333333333 +0.666666667 +0.666666667 +0.666666667 +0.666666667 +0.333333333 +0.333333333 +0.333333333 +0.333333333 +0.666666667 +0.666666667 +0.666666667 +0.666666667 +0 +0 +0 +0 +0.333333333 +0.333333333 +0.333333333 +0.333333333 +0 +0 +0 +0 +0.333333333 +0.333333333 +0.333333333 +0.333333333 +0 +0 +0 +0 +0.333333333 +0.333333333 +0.333333333 +0.333333333 +0 +0 +0 +0 +0.333333333 +0.333333333 +0.333333333 +0.333333333 +0 +0 +0 +0 +0.333333333 +0.333333333 +0.333333333 +0.333333333 +0 +0 +0 +0 +0.333333333 +0.333333333 +0.333333333 +0.333333333 +0 +0 +0 +0 +0.333333333 +0.333333333 +0.333333333 +0.333333333 +0 +0 +0 +0 +0.333333333 +0.333333333 +0.333333333 +0.333333333 +0 +0 +0 +0 +0.333333333 +0.333333333 +0.333333333 +0.333333333 +0 +0 +0 +0 +0.333333333 +0.333333333 +0.333333333 +0.333333333 +0 +0 +0 +0 +0.333333333 +0.333333333 +0.333333333 +0.333333333 +0 +0 +0 +0 +0.333333333 +0.333333333 +0.333333333 +0.333333333 +0.666666667 +0.666666667 +0.666666667 +0.666666667 +1 +1 +1 +1 +0.666666667 +0.666666667 +0.666666667 +0.666666667 +1 +1 +1 +1 +0.666666667 +0.666666667 +0.666666667 +0.666666667 +1 +1 +1 +1 +0.666666667 +0.666666667 +0.666666667 +0.666666667 +1 +1 +1 +1 +0.666666667 +0.666666667 +0.666666667 +0.666666667 +1 +1 +1 +1 +0.666666667 +0.666666667 +0.666666667 +0.666666667 +1 +1 +1 +1 +0.666666667 +0.666666667 +0.666666667 +0.666666667 +1 +1 +1 +1 +0.666666667 +0.666666667 +0.666666667 +0.666666667 +1 +1 +1 +1 +0.666666667 +0.666666667 +0.666666667 +0.666666667 +1 +1 +1 +1 +0.666666667 +0.666666667 +0.666666667 +0.666666667 +1 +1 +1 +1 +0.666666667 +0.666666667 +0.666666667 +0.666666667 +1 +1 +1 +1 +0.666666667 +0.666666667 +0.666666667 +0.666666667 +1 +1 +1 +1 +0.333333333 +0.333333333 +0.333333333 +0.333333333 +0.666666667 +0.666666667 +0.666666667 +0.666666667 +0.333333333 +0.333333333 +0.333333333 +0.333333333 +0.666666667 +0.666666667 +0.666666667 +0.666666667 +0.333333333 +0.333333333 +0.333333333 +0.333333333 +0.666666667 +0.666666667 +0.666666667 +0.666666667 +0.333333333 +0.333333333 +0.333333333 +0.333333333 +0.666666667 +0.666666667 +0.666666667 +0.666666667 +0.333333333 +0.333333333 +0.333333333 +0.333333333 +0.666666667 +0.666666667 +0.666666667 +0.666666667 +0.333333333 +0.333333333 +0.333333333 +0.333333333 +0.666666667 +0.666666667 +0.666666667 +0.666666667 +0.333333333 +0.333333333 +0.333333333 +0.333333333 +0.666666667 +0.666666667 +0.666666667 +0.666666667 +0.333333333 +0.333333333 +0.333333333 +0.333333333 +0.666666667 +0.666666667 +0.666666667 +0.666666667 +0.333333333 +0.333333333 +0.333333333 +0.333333333 +0.666666667 +0.666666667 +0.666666667 +0.666666667 +0.333333333 +0.333333333 +0.333333333 +0.333333333 +0.666666667 +0.666666667 +0.666666667 +0.666666667 +0.333333333 +0.333333333 +0.333333333 +0.333333333 +0.666666667 +0.666666667 +0.666666667 +0.666666667 +0.333333333 +0.333333333 +0.333333333 +0.333333333 +0.666666667 +0.666666667 +0.666666667 +0.666666667 +0 +0 +0 +0 +0.333333333 +0.333333333 +0.333333333 +0.333333333 +0 +0 +0 +0 +0.333333333 +0.333333333 +0.333333333 +0.333333333 +0 +0 +0 +0 +0.333333333 +0.333333333 +0.333333333 +0.333333333 +0 +0 +0 +0 +0.333333333 +0.333333333 +0.333333333 +0.333333333 +0 +0 +0 +0 +0.333333333 +0.333333333 +0.333333333 +0.333333333 +0 +0 +0 +0 +0.333333333 +0.333333333 +0.333333333 +0.333333333 +0 +0 +0 +0 +0.333333333 +0.333333333 +0.333333333 +0.333333333 +0 +0 +0 +0 +0.333333333 +0.333333333 +0.333333333 +0.333333333 +0 +0 +0 +0 +0.333333333 +0.333333333 +0.333333333 +0.333333333 +0 +0 +0 +0 +0.333333333 +0.333333333 +0.333333333 +0.333333333 +0 +0 +0 +0 +0.333333333 +0.333333333 +0.333333333 +0.333333333 +0 +0 +0 +0 +0.333333333 +0.333333333 +0.333333333 +0.333333333 +0.666666667 +0.666666667 +0.666666667 +0.666666667 +1 +1 +1 +1 +0.666666667 +0.666666667 +0.666666667 +0.666666667 +1 +1 +1 +1 +0.666666667 +0.666666667 +0.666666667 +0.666666667 +1 +1 +1 +1 +0.666666667 +0.666666667 +0.666666667 +0.666666667 +1 +1 +1 +1 +0.666666667 +0.666666667 +0.666666667 +0.666666667 +1 +1 +1 +1 +0.666666667 +0.666666667 +0.666666667 +0.666666667 +1 +1 +1 +1 +0.666666667 +0.666666667 +0.666666667 +0.666666667 +1 +1 +1 +1 +0.666666667 +0.666666667 +0.666666667 +0.666666667 +1 +1 +1 +1 +0.666666667 +0.666666667 +0.666666667 +0.666666667 +1 +1 +1 +1 +0.666666667 +0.666666667 +0.666666667 +0.666666667 +1 +1 +1 +1 +0.666666667 +0.666666667 +0.666666667 +0.666666667 +1 +1 +1 +1 +0.666666667 +0.666666667 +0.666666667 +0.666666667 +1 +1 +1 +1 +0.333333333 +0.333333333 +0.333333333 +0.333333333 +0.666666667 +0.666666667 +0.666666667 +0.666666667 +0.333333333 +0.333333333 +0.333333333 +0.333333333 +0.666666667 +0.666666667 +0.666666667 +0.666666667 +0.333333333 +0.333333333 +0.333333333 +0.333333333 +0.666666667 +0.666666667 +0.666666667 +0.666666667 +0.333333333 +0.333333333 +0.333333333 +0.333333333 +0.666666667 +0.666666667 +0.666666667 +0.666666667 +0.333333333 +0.333333333 +0.333333333 +0.333333333 +0.666666667 +0.666666667 +0.666666667 +0.666666667 +0.333333333 +0.333333333 +0.333333333 +0.333333333 +0.666666667 +0.666666667 +0.666666667 +0.666666667 +0.333333333 +0.333333333 +0.333333333 +0.333333333 +0.666666667 +0.666666667 +0.666666667 +0.666666667 +0.333333333 +0.333333333 +0.333333333 +0.333333333 +0.666666667 +0.666666667 +0.666666667 +0.666666667 +0.333333333 +0.333333333 +0.333333333 +0.333333333 +0.666666667 +0.666666667 +0.666666667 +0.666666667 +0.333333333 +0.333333333 +0.333333333 +0.333333333 +0.666666667 +0.666666667 +0.666666667 +0.666666667 +0.333333333 +0.333333333 +0.333333333 +0.333333333 +0.666666667 +0.666666667 +0.666666667 +0.666666667 +0.333333333 +0.333333333 +0.333333333 +0.333333333 +0.666666667 +0.666666667 +0.666666667 +0.666666667 +0 +0 +0 +0 +0.333333333 +0.333333333 +0.333333333 +0.333333333 +0 +0 +0 +0 +0.333333333 +0.333333333 +0.333333333 +0.333333333 +0 +0 +0 +0 +0.333333333 +0.333333333 +0.333333333 +0.333333333 +0 +0 +0 +0 +0.333333333 +0.333333333 +0.333333333 +0.333333333 +0 +0 +0 +0 +0.333333333 +0.333333333 +0.333333333 +0.333333333 +0 +0 +0 +0 +0.333333333 +0.333333333 +0.333333333 +0.333333333 +0 +0 +0 +0 +0.333333333 +0.333333333 +0.333333333 +0.333333333 +0 +0 +0 +0 +0.333333333 +0.333333333 +0.333333333 +0.333333333 +0 +0 +0 +0 +0.333333333 +0.333333333 +0.333333333 +0.333333333 +0 +0 +0 +0 +0.333333333 +0.333333333 +0.333333333 +0.333333333 +0 +0 +0 +0 +0.333333333 +0.333333333 +0.333333333 +0.333333333 +0 +0 +0 +0 +0.333333333 +0.333333333 +0.333333333 +0.333333333 +0.666666667 +0.666666667 +0.666666667 +0.666666667 +1 +1 +1 +1 +0.666666667 +0.666666667 +0.666666667 +0.666666667 +1 +1 +1 +1 +0.666666667 +0.666666667 +0.666666667 +0.666666667 +1 +1 +1 +1 +0.666666667 +0.666666667 +0.666666667 +0.666666667 +1 +1 +1 +1 +0.666666667 +0.666666667 +0.666666667 +0.666666667 +1 +1 +1 +1 +0.666666667 +0.666666667 +0.666666667 +0.666666667 +1 +1 +1 +1 +0.666666667 +0.666666667 +0.666666667 +0.666666667 +1 +1 +1 +1 +0.666666667 +0.666666667 +0.666666667 +0.666666667 +1 +1 +1 +1 +0.666666667 +0.666666667 +0.666666667 +0.666666667 +1 +1 +1 +1 +0.666666667 +0.666666667 +0.666666667 +0.666666667 +1 +1 +1 +1 +0.666666667 +0.666666667 +0.666666667 +0.666666667 +1 +1 +1 +1 +0.666666667 +0.666666667 +0.666666667 +0.666666667 +1 +1 +1 +1 +0.333333333 +0.333333333 +0.333333333 +0.333333333 +0.666666667 +0.666666667 +0.666666667 +0.666666667 +0.333333333 +0.333333333 +0.333333333 +0.333333333 +0.666666667 +0.666666667 +0.666666667 +0.666666667 +0.333333333 +0.333333333 +0.333333333 +0.333333333 +0.666666667 +0.666666667 +0.666666667 +0.666666667 +0.333333333 +0.333333333 +0.333333333 +0.333333333 +0.666666667 +0.666666667 +0.666666667 +0.666666667 +0.333333333 +0.333333333 +0.333333333 +0.333333333 +0.666666667 +0.666666667 +0.666666667 +0.666666667 +0.333333333 +0.333333333 +0.333333333 +0.333333333 +0.666666667 +0.666666667 +0.666666667 +0.666666667 +0.333333333 +0.333333333 +0.333333333 +0.333333333 +0.666666667 +0.666666667 +0.666666667 +0.666666667 +0.333333333 +0.333333333 +0.333333333 +0.333333333 +0.666666667 +0.666666667 +0.666666667 +0.666666667 +0.333333333 +0.333333333 +0.333333333 +0.333333333 +0.666666667 +0.666666667 +0.666666667 +0.666666667 +0.333333333 +0.333333333 +0.333333333 +0.333333333 +0.666666667 +0.666666667 +0.666666667 +0.666666667 +0.333333333 +0.333333333 +0.333333333 +0.333333333 +0.666666667 +0.666666667 +0.666666667 +0.666666667 +0.333333333 +0.333333333 +0.333333333 +0.333333333 +0.666666667 +0.666666667 +0.666666667 +0.666666667 +0 +0 +0 +0 +0.333333333 +0.333333333 +0.333333333 +0.333333333 +0 +0 +0 +0 +0.333333333 +0.333333333 +0.333333333 +0.333333333 +0 +0 +0 +0 +0.333333333 +0.333333333 +0.333333333 +0.333333333 +0 +0 +0 +0 +0.333333333 +0.333333333 +0.333333333 +0.333333333 +0 +0 +0 +0 +0.333333333 +0.333333333 +0.333333333 +0.333333333 +0 +0 +0 +0 +0.333333333 +0.333333333 +0.333333333 +0.333333333 +0 +0 +0 +0 +0.333333333 +0.333333333 +0.333333333 +0.333333333 +0 +0 +0 +0 +0.333333333 +0.333333333 +0.333333333 +0.333333333 +0 +0 +0 +0 +0.333333333 +0.333333333 +0.333333333 +0.333333333 +0 +0 +0 +0 +0.333333333 +0.333333333 +0.333333333 +0.333333333 +0 +0 +0 +0 +0.333333333 +0.333333333 +0.333333333 +0.333333333 +0 +0 +0 +0 +0.333333333 +0.333333333 +0.333333333 +0.333333333 +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan + + + + + diff --git a/test/tests/mfem/transfers/mfem_parent_mfem_sub/gold/OutputData/EmbeddedSubmesh/Run0/Run0.pvd b/test/tests/mfem/transfers/mfem_parent_mfem_sub/gold/OutputData/EmbeddedSubmesh/Run0/Run0.pvd new file mode 100644 index 000000000000..72ed1b22e1dd --- /dev/null +++ b/test/tests/mfem/transfers/mfem_parent_mfem_sub/gold/OutputData/EmbeddedSubmesh/Run0/Run0.pvd @@ -0,0 +1,7 @@ + + + + + + + diff --git a/test/tests/mfem/transfers/mfem_parent_mfem_sub/gold/mfem_parent_mfem_sub_vector_h1_hcurl_hdiv_l2_hex.csv b/test/tests/mfem/transfers/mfem_parent_mfem_sub/gold/mfem_parent_mfem_sub_vector_h1_hcurl_hdiv_l2_hex.csv new file mode 100644 index 000000000000..c3a507df01ee --- /dev/null +++ b/test/tests/mfem/transfers/mfem_parent_mfem_sub/gold/mfem_parent_mfem_sub_vector_h1_hcurl_hdiv_l2_hex.csv @@ -0,0 +1,3 @@ +time,H1_Var_L2_Error,HCurl_Var_L2_Error,HDiv_Var_L2_Error,L2_Var_L2_Error +0,0,0,0,0 +1,0,0,0,0 diff --git a/test/tests/mfem/transfers/mfem_parent_mfem_sub/gold/mfem_parent_mfem_sub_vector_h1_hcurl_hdiv_l2_tet.csv b/test/tests/mfem/transfers/mfem_parent_mfem_sub/gold/mfem_parent_mfem_sub_vector_h1_hcurl_hdiv_l2_tet.csv new file mode 100644 index 000000000000..6f8219b4d26b --- /dev/null +++ b/test/tests/mfem/transfers/mfem_parent_mfem_sub/gold/mfem_parent_mfem_sub_vector_h1_hcurl_hdiv_l2_tet.csv @@ -0,0 +1,3 @@ +time,H1_Var_L2_Error,HCurl_Var_L2_Error,HDiv_Var_L2_Error,L2_Var_L2_Error +0,0,0,0,0 +1,0,2.5487333163067e-16,2.100996106909e-15,0 diff --git a/test/tests/mfem/transfers/mfem_parent_mfem_sub/gold/mfem_parent_mfem_sub_vector_h1_hcurl_hdiv_l2_tet_to_hex.csv b/test/tests/mfem/transfers/mfem_parent_mfem_sub/gold/mfem_parent_mfem_sub_vector_h1_hcurl_hdiv_l2_tet_to_hex.csv new file mode 100644 index 000000000000..006ebcb57577 --- /dev/null +++ b/test/tests/mfem/transfers/mfem_parent_mfem_sub/gold/mfem_parent_mfem_sub_vector_h1_hcurl_hdiv_l2_tet_to_hex.csv @@ -0,0 +1,3 @@ +time,H1_Var_L2_Error,HCurl_Var_L2_Error,HDiv_Var_L2_Error,L2_Var_L2_Error +0,0,0,0,0 +1,0.043058880589569,0.092678500774952,0.16645893379267,0.1119271810907 diff --git a/test/tests/mfem/transfers/mfem_parent_mfem_sub/mfem_parent_embedded_submesh.i b/test/tests/mfem/transfers/mfem_parent_mfem_sub/mfem_parent_embedded_submesh.i new file mode 100644 index 000000000000..9353e7c4968c --- /dev/null +++ b/test/tests/mfem/transfers/mfem_parent_mfem_sub/mfem_parent_embedded_submesh.i @@ -0,0 +1,53 @@ +[Mesh] + type = MFEMMesh + file = ../../mesh/cylinder-hex-q2.gen +[] + +[Problem] + type = MFEMProblem + solve = false +[] + +[FESpaces] + [H1FESpace] + type = MFEMScalarFESpace + fec_type = H1 + fec_order = FIRST + [] +[] + +[Variables] + [potential] + type = MFEMVariable + fespace = H1FESpace + [] +[] + +[Executioner] + type = MFEMSteady +[] + +[MultiApps] + [mfem_app] + type = FullSolveMultiApp + input_files = mfem_sub_embedded_submesh.i + execute_on = 'INITIAL' + [] +[] + +[Transfers] + [h1_transfer_from_subapp] + type = MultiAppMFEMShapeEvaluationTransfer + source_variables = submesh_potential + variables = potential + from_multi_app = mfem_app + [] +[] + +[Outputs] + [ParaViewDataCollection] + type = MFEMParaViewDataCollection + file_base = OutputData/EmbeddedSubmesh + vtk_format = ASCII + [] +[] diff --git a/test/tests/mfem/transfers/mfem_parent_mfem_sub/mfem_parent_vector.i b/test/tests/mfem/transfers/mfem_parent_mfem_sub/mfem_parent_vector.i new file mode 100644 index 000000000000..a4bf7fb8f528 --- /dev/null +++ b/test/tests/mfem/transfers/mfem_parent_mfem_sub/mfem_parent_vector.i @@ -0,0 +1,156 @@ +[Mesh] + type = MFEMMesh + file = ../../mesh/cube.e +[] + +[Problem] + type = MFEMProblem + solve = false +[] + +[FESpaces] + [H1FESpace] + type = MFEMVectorFESpace + fec_type = H1 + fec_order = FIRST + [] + [HCurlFESpace] + type = MFEMVectorFESpace + fec_type = ND + fec_order = FIRST + [] + [HDivFESpace] + type = MFEMVectorFESpace + fec_type = RT + fec_order = CONSTANT + [] + [L2FESpace] + type = MFEMVectorFESpace + fec_type = L2 + fec_order = CONSTANT + [] +[] + +[Variables] + [mfem_parent_h1_vector_var] + type = MFEMVariable + fespace = H1FESpace + [] + [mfem_parent_hcurl_vector_var] + type = MFEMVariable + fespace = HCurlFESpace + [] + [mfem_parent_hdiv_vector_var] + type = MFEMVariable + fespace = HDivFESpace + [] + [mfem_parent_l2_vector_var] + type = MFEMVariable + fespace = L2FESpace + [] +[] + +[AuxVariables] + [mfem_sub_h1_vector_var] + type = MFEMVariable + fespace = H1FESpace + [] + [mfem_sub_hcurl_vector_var] + type = MFEMVariable + fespace = HCurlFESpace + [] + [mfem_sub_hdiv_vector_var] + type = MFEMVariable + fespace = HDivFESpace + [] + [mfem_sub_l2_vector_var] + type = MFEMVariable + fespace = L2FESpace + [] +[] + +[Functions] + [vector_field] + type = ParsedVectorFunction + expression_x = 'sin(pi * y)' + expression_y = 'sin(pi * z)' + expression_z = 'sin(pi * x)' + [] +[] + +[ICs] + [h1_vector_ic] + type = MFEMVectorIC + variable = mfem_parent_h1_vector_var + vector_coefficient = vector_field + [] + [hcurl_vector_ic] + type = MFEMVectorIC + variable = mfem_parent_hcurl_vector_var + vector_coefficient = vector_field + [] + [hdiv_vector_ic] + type = MFEMVectorIC + variable = mfem_parent_hdiv_vector_var + vector_coefficient = vector_field + [] + [l2_vector_ic] + type = MFEMVectorIC + variable = mfem_parent_l2_vector_var + vector_coefficient = vector_field + [] +[] + +[Executioner] + type = MFEMSteady + device = cpu +[] + +[MultiApps] + [mfem_app] + type = FullSolveMultiApp + input_files = mfem_sub_vector.i + execute_on = 'INITIAL' + [] +[] + +[Transfers] + [transfer_from_subapp] + type = MultiAppMFEMShapeEvaluationTransfer + source_variables = 'mfem_sub_h1_vector_var mfem_sub_hcurl_vector_var mfem_sub_hdiv_vector_var mfem_sub_l2_vector_var' + variables = 'mfem_sub_h1_vector_var mfem_sub_hcurl_vector_var mfem_sub_hdiv_vector_var mfem_sub_l2_vector_var' + from_multi_app = mfem_app + [] +[] + +[Postprocessors] + [H1_Var_L2_Error] + type = MFEMVectorL2Error + variable = mfem_parent_h1_vector_var + function = mfem_sub_h1_vector_var + execute_on = TIMESTEP_END + [] + [HCurl_Var_L2_Error] + type = MFEMVectorL2Error + variable = mfem_parent_hcurl_vector_var + function = mfem_sub_hcurl_vector_var + execute_on = TIMESTEP_END + [] + [HDiv_Var_L2_Error] + type = MFEMVectorL2Error + variable = mfem_parent_hdiv_vector_var + function = mfem_sub_hdiv_vector_var + execute_on = TIMESTEP_END + [] + [L2_Var_L2_Error] + type = MFEMVectorL2Error + variable = mfem_parent_l2_vector_var + function = mfem_sub_l2_vector_var + execute_on = TIMESTEP_END + [] +[] + +[Outputs] + file_base = 'mfem_parent_mfem_sub_vector_h1_hcurl_hdiv_l2_hex' + csv = true +[] diff --git a/test/tests/mfem/transfers/mfem_parent_mfem_sub/mfem_sub_embedded_submesh.i b/test/tests/mfem/transfers/mfem_parent_mfem_sub/mfem_sub_embedded_submesh.i new file mode 100644 index 000000000000..5065bcca70a4 --- /dev/null +++ b/test/tests/mfem/transfers/mfem_parent_mfem_sub/mfem_sub_embedded_submesh.i @@ -0,0 +1,69 @@ +[Mesh] + type = MFEMMesh + file = ../../mesh/cylinder-hex-q2.gen +[] + +[Problem] + type = MFEMProblem +[] + +[SubMeshes] + [wire] + type = MFEMDomainSubMesh + block = interior + [] +[] + +[FESpaces] + [SubMeshH1FESpace] + type = MFEMScalarFESpace + fec_type = H1 + fec_order = FIRST + submesh = wire + [] +[] + +[Variables] + [submesh_potential] + type = MFEMVariable + fespace = SubMeshH1FESpace + [] +[] + +[BCs] + [top] + type = MFEMScalarDirichletBC + variable = submesh_potential + boundary = front + coefficient = 1.0 + [] + [bottom] + type = MFEMScalarDirichletBC + variable = submesh_potential + boundary = back + [] +[] + +[Kernels] + [diff] + type = MFEMDiffusionKernel + variable = submesh_potential + [] +[] + +[Preconditioner] + [boomeramg] + type = MFEMHypreBoomerAMG + [] +[] + +[Solver] + type = MFEMHypreGMRES + preconditioner = boomeramg + l_tol = 1e-8 + l_max_its = 1000 +[] + +[Executioner] + type = MFEMSteady +[] diff --git a/test/tests/mfem/transfers/mfem_parent_mfem_sub/mfem_sub_vector.i b/test/tests/mfem/transfers/mfem_parent_mfem_sub/mfem_sub_vector.i new file mode 100644 index 000000000000..472f9c376f50 --- /dev/null +++ b/test/tests/mfem/transfers/mfem_parent_mfem_sub/mfem_sub_vector.i @@ -0,0 +1,87 @@ +[Mesh] + type = MFEMMesh + file = ../../mesh/cube.e +[] + +[Problem] + type = MFEMProblem + solve = false +[] + +[FESpaces] + [H1FESpace] + type = MFEMVectorFESpace + fec_type = H1 + fec_order = FIRST + [] + [HCurlFESpace] + type = MFEMVectorFESpace + fec_type = ND + fec_order = FIRST + [] + [HDivFESpace] + type = MFEMVectorFESpace + fec_type = RT + fec_order = CONSTANT + [] + [L2FESpace] + type = MFEMVectorFESpace + fec_type = L2 + fec_order = CONSTANT + [] +[] + +[Variables] + [mfem_sub_h1_vector_var] + type = MFEMVariable + fespace = H1FESpace + [] + [mfem_sub_hcurl_vector_var] + type = MFEMVariable + fespace = HCurlFESpace + [] + [mfem_sub_hdiv_vector_var] + type = MFEMVariable + fespace = HDivFESpace + [] + [mfem_sub_l2_vector_var] + type = MFEMVariable + fespace = L2FESpace + [] +[] + +[Functions] + [vector_field] + type = ParsedVectorFunction + expression_x = 'sin(pi * y)' + expression_y = 'sin(pi * z)' + expression_z = 'sin(pi * x)' + [] +[] + +[ICs] + [h1_vector_ic] + type = MFEMVectorIC + variable = mfem_sub_h1_vector_var + vector_coefficient = vector_field + [] + [hcurl_vector_ic] + type = MFEMVectorIC + variable = mfem_sub_hcurl_vector_var + vector_coefficient = vector_field + [] + [hdiv_vector_ic] + type = MFEMVectorIC + variable = mfem_sub_hdiv_vector_var + vector_coefficient = vector_field + [] + [l2_vector_ic] + type = MFEMVectorIC + variable = mfem_sub_l2_vector_var + vector_coefficient = vector_field + [] +[] + +[Executioner] + type = Steady +[] diff --git a/test/tests/mfem/transfers/h1_mfem_parent_mfem_sub/parent.i b/test/tests/mfem/transfers/mfem_parent_mfem_sub/parent.i similarity index 73% rename from test/tests/mfem/transfers/h1_mfem_parent_mfem_sub/parent.i rename to test/tests/mfem/transfers/mfem_parent_mfem_sub/parent.i index bc87c2e5365a..a72fab08cb60 100644 --- a/test/tests/mfem/transfers/h1_mfem_parent_mfem_sub/parent.i +++ b/test/tests/mfem/transfers/mfem_parent_mfem_sub/parent.i @@ -36,10 +36,17 @@ [] [Transfers] - [from_sub] + active = 'copy_from_sub' + [copy_from_sub] type = MultiAppMFEMCopyTransfer - source_variable = u - variable = u + source_variables = u + variables = u + from_multi_app = subapp + [] + [general_transfer_from_sub] + type = MultiAppMFEMShapeEvaluationTransfer + source_variables = u + variables = u from_multi_app = subapp [] [] diff --git a/test/tests/mfem/transfers/h1_mfem_parent_mfem_sub/parent_complex.i b/test/tests/mfem/transfers/mfem_parent_mfem_sub/parent_complex.i similarity index 74% rename from test/tests/mfem/transfers/h1_mfem_parent_mfem_sub/parent_complex.i rename to test/tests/mfem/transfers/mfem_parent_mfem_sub/parent_complex.i index f186ff70dd75..055638829fe3 100644 --- a/test/tests/mfem/transfers/h1_mfem_parent_mfem_sub/parent_complex.i +++ b/test/tests/mfem/transfers/mfem_parent_mfem_sub/parent_complex.i @@ -37,10 +37,17 @@ [] [Transfers] - [from_sub] + active = 'copy_from_sub' + [copy_from_sub] type = MultiAppMFEMCopyTransfer - source_variable = u - variable = u + source_variables = u + variables = u + from_multi_app = subapp + [] + [general_transfer_from_sub] + type = MultiAppMFEMShapeEvaluationTransfer + source_variables = u + variables = u from_multi_app = subapp [] [] diff --git a/test/tests/mfem/transfers/h1_mfem_parent_mfem_sub/sub.i b/test/tests/mfem/transfers/mfem_parent_mfem_sub/sub.i similarity index 96% rename from test/tests/mfem/transfers/h1_mfem_parent_mfem_sub/sub.i rename to test/tests/mfem/transfers/mfem_parent_mfem_sub/sub.i index e5b5eacbdaf2..72100fb62580 100644 --- a/test/tests/mfem/transfers/h1_mfem_parent_mfem_sub/sub.i +++ b/test/tests/mfem/transfers/mfem_parent_mfem_sub/sub.i @@ -73,8 +73,8 @@ active = '' [to_sub] type = MultiAppMFEMCopyTransfer - source_variable = u - variable = u + source_variables = u + variables = u to_multi_app = subapp [] [] diff --git a/test/tests/mfem/transfers/h1_mfem_parent_mfem_sub/sub_complex.i b/test/tests/mfem/transfers/mfem_parent_mfem_sub/sub_complex.i similarity index 96% rename from test/tests/mfem/transfers/h1_mfem_parent_mfem_sub/sub_complex.i rename to test/tests/mfem/transfers/mfem_parent_mfem_sub/sub_complex.i index 7221d958beab..0f09d5bb43b5 100644 --- a/test/tests/mfem/transfers/h1_mfem_parent_mfem_sub/sub_complex.i +++ b/test/tests/mfem/transfers/mfem_parent_mfem_sub/sub_complex.i @@ -72,8 +72,8 @@ active = '' [to_sub] type = MultiAppMFEMCopyTransfer - source_variable = u - variable = u + source_variables = u + variables = u to_multi_app = subapp [] [] diff --git a/test/tests/mfem/transfers/mfem_parent_mfem_sub/tests b/test/tests/mfem/transfers/mfem_parent_mfem_sub/tests new file mode 100644 index 000000000000..ba3eaf221b9b --- /dev/null +++ b/test/tests/mfem/transfers/mfem_parent_mfem_sub/tests @@ -0,0 +1,212 @@ +[Tests] + [MFEMShapeEvaluationTransfer] + design = MultiAppMFEMShapeEvaluationTransfer.md + issues = '#31982' + requirement = 'The system shall be able to transfer MFEM variable data from a sub-application to the parent application via shape function interpolation,' + [FromSubToParent] + detail = 'for real scalar variables, verified by' + [run] + type = RunApp + input = parent.i + capabilities = 'mfem' + compute_devices = 'cpu cuda' + recover = false + cli_args = 'Transfers/active=general_transfer_from_sub ' + detail = 'running the inputs, and' + [] + [verify] + type = RunCommand + command = '../check.sh + u + OutputData/Diffusion/Run0/Cycle000001/proc000000.vtu + u + OutputData/DiffusionSub/Run0/Cycle000001/proc000000.vtu' + prereq = MFEMShapeEvaluationTransfer/FromSubToParent/run + capabilities = 'mfem' + recover = false + detail = 'checking the sub-application and parent application outputs against each other.' + [] + [] + [ComplexFromSubToParent] + detail = 'for complex scalar variables, verified by' + [run] + type = RunApp + input = parent_complex.i + capabilities = 'mfem' + compute_devices = 'cpu cuda' + recover = false + cli_args = 'Transfers/active=general_transfer_from_sub' + detail = 'running the inputs, and ' + max_parallel = 1 # idaholab/moose#32250 + [] + [verify] + type = RunCommand + command = '../check.sh + u + OutputData/DiffusionComplex/Run0/Cycle000001/proc000000.vtu + u + OutputData/DiffusionSubComplex/Run0/Cycle000001/proc000000.vtu' + prereq = MFEMShapeEvaluationTransfer/ComplexFromSubToParent/run + capabilities = 'mfem' + recover = false + detail = 'checking the sub-application and parent application outputs against each other.' + [] + [] + [VectorTransfer] + detail = 'for vector variables ' + [Hex] + type = CSVDiff + input = mfem_parent_vector.i + csvdiff = 'mfem_parent_mfem_sub_vector_h1_hcurl_hdiv_l2_hex.csv' + detail = 'between hex meshes,' + abs_zero = 1e-8 + capabilities = 'mfem' + recover = false + compute_devices = 'cpu cuda' + [] + [Tetra] + type = CSVDiff + input = mfem_parent_vector.i + csvdiff = 'mfem_parent_mfem_sub_vector_h1_hcurl_hdiv_l2_tet.csv' + detail = 'between tetrahedral meshes,' + abs_zero = 1e-8 + capabilities = 'mfem' + recover = false + compute_devices = 'cpu cuda' + cli_args = 'Mesh/file=../../mesh/cube_tetmesh.e ' + 'mfem_app0:Mesh/file=../../mesh/cube_tetmesh.e ' + 'Outputs/file_base=mfem_parent_mfem_sub_vector_h1_hcurl_hdiv_l2_tet ' + [] + [TetToHex] + type = CSVDiff + input = mfem_parent_vector.i + csvdiff = 'mfem_parent_mfem_sub_vector_h1_hcurl_hdiv_l2_tet_to_hex.csv' + detail = 'and from tetrahedral meshes to hex meshes.' + abs_zero = 1e-8 + capabilities = 'mfem' + recover = false + compute_devices = 'cpu cuda' + cli_args = 'Mesh/file=../../mesh/cube.e ' + 'mfem_app0:Mesh/file=../../mesh/cube_tetmesh.e ' + 'Outputs/file_base=mfem_parent_mfem_sub_vector_h1_hcurl_hdiv_l2_tet_to_hex ' + [] + [] + [OutOfMesh] + detail = 'for scalar variables between meshes of different geometric sizes, ' + [Hex] + type = XMLDiff + input = mfem_parent_embedded_submesh.i + xmldiff = 'OutputData/EmbeddedSubmesh/Run0/Cycle000001/data.pvtu' + detail = 'from a smaller submesh to a larger mesh containing the smaller submes as a subdomain.' + abs_zero = 1e-8 + max_parallel = 1 # XMLDiff on ParaViewDataCollection schemadiffs with multiple ranks + capabilities = 'mfem' + recover = false + compute_devices = 'cpu cuda' + [] + [] + [] + [MFEMCopyTransfer] + design = MultiAppMFEMCopyTransfer.md + requirement = 'The system shall be able to copy MFEM variables' + issues = '#29632 #32008' + [FromSubToParent] + detail = 'representing real variables from a sub-application to the parent application, verified by' + [run] + type = RunApp + input = parent.i + capabilities = 'mfem' + compute_devices = 'cpu cuda' + recover = false + detail = 'running the inputs, and' + [] + [verify] + type = RunCommand + command = '../check.sh + u + OutputData/Diffusion/Run0/Cycle000001/proc000000.vtu + u + OutputData/DiffusionSub/Run0/Cycle000001/proc000000.vtu' + prereq = MFEMCopyTransfer/FromSubToParent/run + capabilities = 'mfem' + recover = false + detail = 'checking the sub-application and parent application outputs against each other.' + [] + [] + [ToSubFromParent] + detail = 'from a parent application to a sub-application, verified by' + [run] + type = RunApp + input = sub.i + capabilities = 'mfem' + compute_devices = 'cpu cuda' + recover = false + cli_args = 'MultiApps/active=subapp Transfers/active=to_sub ' + 'subapp:MultiApps/active="" subapp:Transfers/active=""' + detail = 'running the inputs, and' + [] + [verify] + type = RunCommand + command = '../check.sh + u + OutputData/Diffusion/Run0/Cycle000001/proc000000.vtu + u + OutputData/DiffusionSub/Run0/Cycle000001/proc000000.vtu' + prereq = MFEMCopyTransfer/ToSubFromParent/run + capabilities = 'mfem' + recover = false + detail = 'checking the sub-application and parent application outputs against each other.' + [] + [] + [ComplexFromSubToParent] + detail = 'representing complex variables from a sub-application to the parent application, verified by' + [run] + type = RunApp + input = parent_complex.i + capabilities = 'mfem' + compute_devices = 'cpu cuda' + recover = false + detail = 'running the inputs, and' + max_parallel = 1 # idaholab/moose#32250 + [] + [verify] + type = RunCommand + command = '../check.sh + u + OutputData/DiffusionComplex/Run0/Cycle000001/proc000000.vtu + u + OutputData/DiffusionSubComplex/Run0/Cycle000001/proc000000.vtu' + prereq = MFEMCopyTransfer/ComplexFromSubToParent/run + capabilities = 'mfem' + recover = false + detail = 'checking the complex sub-application and complex parent application outputs against each other.' + [] + [] + [ComplexToSubFromParent] + detail = 'representing complex variables from a parent application to a sub-application, verified by' + [run] + type = RunApp + input = sub_complex.i + capabilities = 'mfem' + compute_devices = 'cpu cuda' + recover = false + cli_args = 'MultiApps/active=subapp Transfers/active=to_sub ' + 'subapp:MultiApps/active="" subapp:Transfers/active=""' + detail = 'running the inputs, and' + max_parallel = 1 # idaholab/moose#32250 + [] + [verify] + type = RunCommand + command = '../check.sh + u + OutputData/DiffusionComplex/Run0/Cycle000001/proc000000.vtu + u + OutputData/DiffusionSubComplex/Run0/Cycle000001/proc000000.vtu' + prereq = MFEMCopyTransfer/ComplexToSubFromParent/run + capabilities = 'mfem' + recover = false + detail = 'checking the complex sub-application and complex parent application outputs against each other.' + [] + [] + [] +[] diff --git a/test/tests/mfem/transfers/h1_mfem_sub_mfem_sub/parent.i b/test/tests/mfem/transfers/mfem_sub_mfem_sub/parent.i similarity index 67% rename from test/tests/mfem/transfers/h1_mfem_sub_mfem_sub/parent.i rename to test/tests/mfem/transfers/mfem_sub_mfem_sub/parent.i index 6245d2d5e236..0c3277eeef66 100644 --- a/test/tests/mfem/transfers/h1_mfem_sub_mfem_sub/parent.i +++ b/test/tests/mfem/transfers/mfem_sub_mfem_sub/parent.i @@ -35,10 +35,18 @@ [] [Transfers] - [to_sub] + active = 'copy_between_sub' + [copy_between_sub] type = MultiAppMFEMCopyTransfer - source_variable = send - variable = recv + source_variables = send + variables = recv + from_multi_app = send_app + to_multi_app = recv_app + [] + [general_transfer_between_sub] + type = MultiAppMFEMShapeEvaluationTransfer + source_variables = send + variables = recv from_multi_app = send_app to_multi_app = recv_app [] diff --git a/test/tests/mfem/transfers/h1_mfem_sub_mfem_sub/sub_recv.i b/test/tests/mfem/transfers/mfem_sub_mfem_sub/sub_recv.i similarity index 100% rename from test/tests/mfem/transfers/h1_mfem_sub_mfem_sub/sub_recv.i rename to test/tests/mfem/transfers/mfem_sub_mfem_sub/sub_recv.i diff --git a/test/tests/mfem/transfers/h1_mfem_sub_mfem_sub/sub_send.i b/test/tests/mfem/transfers/mfem_sub_mfem_sub/sub_send.i similarity index 100% rename from test/tests/mfem/transfers/h1_mfem_sub_mfem_sub/sub_send.i rename to test/tests/mfem/transfers/mfem_sub_mfem_sub/sub_send.i diff --git a/test/tests/mfem/transfers/mfem_sub_mfem_sub/tests b/test/tests/mfem/transfers/mfem_sub_mfem_sub/tests new file mode 100644 index 000000000000..66c73da1d129 --- /dev/null +++ b/test/tests/mfem/transfers/mfem_sub_mfem_sub/tests @@ -0,0 +1,39 @@ +[Tests] + [MFEMCopyTransfer] + issues = '#29632' + design = MultiAppMFEMCopyTransfer.md + requirement = 'The system shall be able to copy MFEM variable data between sub-applications,' + [test] + detail = 'verified through' + [run] + type = RunApp + input = parent.i + capabilities = 'mfem' + compute_devices = 'cpu cuda' + recover = false + detail = 'running the inputs, and' + [] + [verify] + type = RunCommand + command = '../check.sh + recv + OutputData/DiffusionRecvApp/Run0/Cycle000001/proc000000.vtu + send + OutputData/DiffusionSendApp/Run0/Cycle000001/proc000000.vtu' + prereq = MFEMCopyTransfer/test/run + capabilities = 'mfem' + recover = false + detail = 'checking the sub-application and parent application outputs against each other.' + [] + [] + [error] + detail = 'and shall error if different applications request different devices.' + input = parent.i + type = RunException + expect_err = "Attempted to configure with MFEM devices 'cpu', but we have already configured the MFEM device object with the devices 'cuda'" + cli_args = recv_app:Executioner/device=cpu + capabilities = mfem + compute_devices = cuda + [] + [] +[] diff --git a/test/tests/mfem/transfers/sibling_transfers/gold/OutputData/1toN_nodal_nodal_mfem_sub0_nodal_sample_0001.csv b/test/tests/mfem/transfers/sibling_transfers/gold/OutputData/1toN_nodal_nodal_mfem_sub0_nodal_sample_0001.csv new file mode 100644 index 000000000000..6bd8326e1e68 --- /dev/null +++ b/test/tests/mfem/transfers/sibling_transfers/gold/OutputData/1toN_nodal_nodal_mfem_sub0_nodal_sample_0001.csv @@ -0,0 +1,15 @@ +received_nodal_0,x_0,x_1 +3,0,0 +3.0176923076923,0.076923076923077,0.076923076923077 +3.0666153846154,0.15384615384615,0.15384615384615 +3.1523076923077,0.23076923076923,0.23076923076923 +3.2803076923077,0.30769230769231,0.30769230769231 +3.4733846153846,0.38461538461538,0.38461538461538 +3.7353846153846,0.46153846153846,0.46153846153846 +4.0646153846154,0.53846153846154,0.53846153846154 +4.4666153846154,0.61538461538462,0.61538461538462 +4.9596923076923,0.69230769230769,0.69230769230769 +5.5676923076923,0.76923076923077,0.76923076923077 +6.2733846153846,0.84615384615385,0.84615384615385 +7.0823076923077,0.92307692307692,0.92307692307692 +8,1,1 diff --git a/test/tests/mfem/transfers/sibling_transfers/gold/OutputData/MFEMtoMFEMSiblingTransfer_mfem_recv0_ParaViewDataCollection/Run0/Cycle000000/data.pvtu b/test/tests/mfem/transfers/sibling_transfers/gold/OutputData/MFEMtoMFEMSiblingTransfer_mfem_recv0_ParaViewDataCollection/Run0/Cycle000000/data.pvtu new file mode 100644 index 000000000000..31bbee9ce836 --- /dev/null +++ b/test/tests/mfem/transfers/sibling_transfers/gold/OutputData/MFEMtoMFEMSiblingTransfer_mfem_recv0_ParaViewDataCollection/Run0/Cycle000000/data.pvtu @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + + + + + + + + + + diff --git a/test/tests/mfem/transfers/sibling_transfers/gold/OutputData/MFEMtoMFEMSiblingTransfer_mfem_recv0_ParaViewDataCollection/Run0/Cycle000000/proc000000.vtu b/test/tests/mfem/transfers/sibling_transfers/gold/OutputData/MFEMtoMFEMSiblingTransfer_mfem_recv0_ParaViewDataCollection/Run0/Cycle000000/proc000000.vtu new file mode 100644 index 000000000000..c742f7aa88cd --- /dev/null +++ b/test/tests/mfem/transfers/sibling_transfers/gold/OutputData/MFEMtoMFEMSiblingTransfer_mfem_recv0_ParaViewDataCollection/Run0/Cycle000000/proc000000.vtu @@ -0,0 +1,2432 @@ + + + + + +0 0 0 +0.1 0 0 +0 0.1 0 +0.1 0.1 0 +0.1 0 0 +0.2 0 0 +0.1 0.1 0 +0.2 0.1 0 +0.2 0 0 +0.3 0 0 +0.2 0.1 0 +0.3 0.1 0 +0.3 0 0 +0.4 0 0 +0.3 0.1 0 +0.4 0.1 0 +0.4 0 0 +0.5 0 0 +0.4 0.1 0 +0.5 0.1 0 +0.5 0 0 +0.6 0 0 +0.5 0.1 0 +0.6 0.1 0 +0.6 0 0 +0.7 0 0 +0.6 0.1 0 +0.7 0.1 0 +0.7 0 0 +0.8 0 0 +0.7 0.1 0 +0.8 0.1 0 +0.8 0 0 +0.9 0 0 +0.8 0.1 0 +0.9 0.1 0 +0.9 0 0 +1 0 0 +0.9 0.1 0 +1 0.1 0 +0 0.1 0 +0.1 0.1 0 +0 0.2 0 +0.1 0.2 0 +0.1 0.1 0 +0.2 0.1 0 +0.1 0.2 0 +0.2 0.2 0 +0.2 0.1 0 +0.3 0.1 0 +0.2 0.2 0 +0.3 0.2 0 +0.3 0.1 0 +0.4 0.1 0 +0.3 0.2 0 +0.4 0.2 0 +0.4 0.1 0 +0.5 0.1 0 +0.4 0.2 0 +0.5 0.2 0 +0.5 0.1 0 +0.6 0.1 0 +0.5 0.2 0 +0.6 0.2 0 +0.6 0.1 0 +0.7 0.1 0 +0.6 0.2 0 +0.7 0.2 0 +0.7 0.1 0 +0.8 0.1 0 +0.7 0.2 0 +0.8 0.2 0 +0.8 0.1 0 +0.9 0.1 0 +0.8 0.2 0 +0.9 0.2 0 +0.9 0.1 0 +1 0.1 0 +0.9 0.2 0 +1 0.2 0 +0 0.2 0 +0.1 0.2 0 +0 0.3 0 +0.1 0.3 0 +0.1 0.2 0 +0.2 0.2 0 +0.1 0.3 0 +0.2 0.3 0 +0.2 0.2 0 +0.3 0.2 0 +0.2 0.3 0 +0.3 0.3 0 +0.3 0.2 0 +0.4 0.2 0 +0.3 0.3 0 +0.4 0.3 0 +0.4 0.2 0 +0.5 0.2 0 +0.4 0.3 0 +0.5 0.3 0 +0.5 0.2 0 +0.6 0.2 0 +0.5 0.3 0 +0.6 0.3 0 +0.6 0.2 0 +0.7 0.2 0 +0.6 0.3 0 +0.7 0.3 0 +0.7 0.2 0 +0.8 0.2 0 +0.7 0.3 0 +0.8 0.3 0 +0.8 0.2 0 +0.9 0.2 0 +0.8 0.3 0 +0.9 0.3 0 +0.9 0.2 0 +1 0.2 0 +0.9 0.3 0 +1 0.3 0 +0 0.3 0 +0.1 0.3 0 +0 0.4 0 +0.1 0.4 0 +0.1 0.3 0 +0.2 0.3 0 +0.1 0.4 0 +0.2 0.4 0 +0.2 0.3 0 +0.3 0.3 0 +0.2 0.4 0 +0.3 0.4 0 +0.3 0.3 0 +0.4 0.3 0 +0.3 0.4 0 +0.4 0.4 0 +0.4 0.3 0 +0.5 0.3 0 +0.4 0.4 0 +0.5 0.4 0 +0.5 0.3 0 +0.6 0.3 0 +0.5 0.4 0 +0.6 0.4 0 +0.6 0.3 0 +0.7 0.3 0 +0.6 0.4 0 +0.7 0.4 0 +0.7 0.3 0 +0.8 0.3 0 +0.7 0.4 0 +0.8 0.4 0 +0.8 0.3 0 +0.9 0.3 0 +0.8 0.4 0 +0.9 0.4 0 +0.9 0.3 0 +1 0.3 0 +0.9 0.4 0 +1 0.4 0 +0 0.4 0 +0.1 0.4 0 +0 0.5 0 +0.1 0.5 0 +0.1 0.4 0 +0.2 0.4 0 +0.1 0.5 0 +0.2 0.5 0 +0.2 0.4 0 +0.3 0.4 0 +0.2 0.5 0 +0.3 0.5 0 +0.3 0.4 0 +0.4 0.4 0 +0.3 0.5 0 +0.4 0.5 0 +0.4 0.4 0 +0.5 0.4 0 +0.4 0.5 0 +0.5 0.5 0 +0.5 0.4 0 +0.6 0.4 0 +0.5 0.5 0 +0.6 0.5 0 +0.6 0.4 0 +0.7 0.4 0 +0.6 0.5 0 +0.7 0.5 0 +0.7 0.4 0 +0.8 0.4 0 +0.7 0.5 0 +0.8 0.5 0 +0.8 0.4 0 +0.9 0.4 0 +0.8 0.5 0 +0.9 0.5 0 +0.9 0.4 0 +1 0.4 0 +0.9 0.5 0 +1 0.5 0 +0 0.5 0 +0.1 0.5 0 +0 0.6 0 +0.1 0.6 0 +0.1 0.5 0 +0.2 0.5 0 +0.1 0.6 0 +0.2 0.6 0 +0.2 0.5 0 +0.3 0.5 0 +0.2 0.6 0 +0.3 0.6 0 +0.3 0.5 0 +0.4 0.5 0 +0.3 0.6 0 +0.4 0.6 0 +0.4 0.5 0 +0.5 0.5 0 +0.4 0.6 0 +0.5 0.6 0 +0.5 0.5 0 +0.6 0.5 0 +0.5 0.6 0 +0.6 0.6 0 +0.6 0.5 0 +0.7 0.5 0 +0.6 0.6 0 +0.7 0.6 0 +0.7 0.5 0 +0.8 0.5 0 +0.7 0.6 0 +0.8 0.6 0 +0.8 0.5 0 +0.9 0.5 0 +0.8 0.6 0 +0.9 0.6 0 +0.9 0.5 0 +1 0.5 0 +0.9 0.6 0 +1 0.6 0 +0 0.6 0 +0.1 0.6 0 +0 0.7 0 +0.1 0.7 0 +0.1 0.6 0 +0.2 0.6 0 +0.1 0.7 0 +0.2 0.7 0 +0.2 0.6 0 +0.3 0.6 0 +0.2 0.7 0 +0.3 0.7 0 +0.3 0.6 0 +0.4 0.6 0 +0.3 0.7 0 +0.4 0.7 0 +0.4 0.6 0 +0.5 0.6 0 +0.4 0.7 0 +0.5 0.7 0 +0.5 0.6 0 +0.6 0.6 0 +0.5 0.7 0 +0.6 0.7 0 +0.6 0.6 0 +0.7 0.6 0 +0.6 0.7 0 +0.7 0.7 0 +0.7 0.6 0 +0.8 0.6 0 +0.7 0.7 0 +0.8 0.7 0 +0.8 0.6 0 +0.9 0.6 0 +0.8 0.7 0 +0.9 0.7 0 +0.9 0.6 0 +1 0.6 0 +0.9 0.7 0 +1 0.7 0 +0 0.7 0 +0.1 0.7 0 +0 0.8 0 +0.1 0.8 0 +0.1 0.7 0 +0.2 0.7 0 +0.1 0.8 0 +0.2 0.8 0 +0.2 0.7 0 +0.3 0.7 0 +0.2 0.8 0 +0.3 0.8 0 +0.3 0.7 0 +0.4 0.7 0 +0.3 0.8 0 +0.4 0.8 0 +0.4 0.7 0 +0.5 0.7 0 +0.4 0.8 0 +0.5 0.8 0 +0.5 0.7 0 +0.6 0.7 0 +0.5 0.8 0 +0.6 0.8 0 +0.6 0.7 0 +0.7 0.7 0 +0.6 0.8 0 +0.7 0.8 0 +0.7 0.7 0 +0.8 0.7 0 +0.7 0.8 0 +0.8 0.8 0 +0.8 0.7 0 +0.9 0.7 0 +0.8 0.8 0 +0.9 0.8 0 +0.9 0.7 0 +1 0.7 0 +0.9 0.8 0 +1 0.8 0 +0 0.8 0 +0.1 0.8 0 +0 0.9 0 +0.1 0.9 0 +0.1 0.8 0 +0.2 0.8 0 +0.1 0.9 0 +0.2 0.9 0 +0.2 0.8 0 +0.3 0.8 0 +0.2 0.9 0 +0.3 0.9 0 +0.3 0.8 0 +0.4 0.8 0 +0.3 0.9 0 +0.4 0.9 0 +0.4 0.8 0 +0.5 0.8 0 +0.4 0.9 0 +0.5 0.9 0 +0.5 0.8 0 +0.6 0.8 0 +0.5 0.9 0 +0.6 0.9 0 +0.6 0.8 0 +0.7 0.8 0 +0.6 0.9 0 +0.7 0.9 0 +0.7 0.8 0 +0.8 0.8 0 +0.7 0.9 0 +0.8 0.9 0 +0.8 0.8 0 +0.9 0.8 0 +0.8 0.9 0 +0.9 0.9 0 +0.9 0.8 0 +1 0.8 0 +0.9 0.9 0 +1 0.9 0 +0 0.9 0 +0.1 0.9 0 +0 1 0 +0.1 1 0 +0.1 0.9 0 +0.2 0.9 0 +0.1 1 0 +0.2 1 0 +0.2 0.9 0 +0.3 0.9 0 +0.2 1 0 +0.3 1 0 +0.3 0.9 0 +0.4 0.9 0 +0.3 1 0 +0.4 1 0 +0.4 0.9 0 +0.5 0.9 0 +0.4 1 0 +0.5 1 0 +0.5 0.9 0 +0.6 0.9 0 +0.5 1 0 +0.6 1 0 +0.6 0.9 0 +0.7 0.9 0 +0.6 1 0 +0.7 1 0 +0.7 0.9 0 +0.8 0.9 0 +0.7 1 0 +0.8 1 0 +0.8 0.9 0 +0.9 0.9 0 +0.8 1 0 +0.9 1 0 +0.9 0.9 0 +1 0.9 0 +0.9 1 0 +1 1 0 + + + + +0 1 3 2 +4 5 7 6 +8 9 11 10 +12 13 15 14 +16 17 19 18 +20 21 23 22 +24 25 27 26 +28 29 31 30 +32 33 35 34 +36 37 39 38 +40 41 43 42 +44 45 47 46 +48 49 51 50 +52 53 55 54 +56 57 59 58 +60 61 63 62 +64 65 67 66 +68 69 71 70 +72 73 75 74 +76 77 79 78 +80 81 83 82 +84 85 87 86 +88 89 91 90 +92 93 95 94 +96 97 99 98 +100 101 103 102 +104 105 107 106 +108 109 111 110 +112 113 115 114 +116 117 119 118 +120 121 123 122 +124 125 127 126 +128 129 131 130 +132 133 135 134 +136 137 139 138 +140 141 143 142 +144 145 147 146 +148 149 151 150 +152 153 155 154 +156 157 159 158 +160 161 163 162 +164 165 167 166 +168 169 171 170 +172 173 175 174 +176 177 179 178 +180 181 183 182 +184 185 187 186 +188 189 191 190 +192 193 195 194 +196 197 199 198 +200 201 203 202 +204 205 207 206 +208 209 211 210 +212 213 215 214 +216 217 219 218 +220 221 223 222 +224 225 227 226 +228 229 231 230 +232 233 235 234 +236 237 239 238 +240 241 243 242 +244 245 247 246 +248 249 251 250 +252 253 255 254 +256 257 259 258 +260 261 263 262 +264 265 267 266 +268 269 271 270 +272 273 275 274 +276 277 279 278 +280 281 283 282 +284 285 287 286 +288 289 291 290 +292 293 295 294 +296 297 299 298 +300 301 303 302 +304 305 307 306 +308 309 311 310 +312 313 315 314 +316 317 319 318 +320 321 323 322 +324 325 327 326 +328 329 331 330 +332 333 335 334 +336 337 339 338 +340 341 343 342 +344 345 347 346 +348 349 351 350 +352 353 355 354 +356 357 359 358 +360 361 363 362 +364 365 367 366 +368 369 371 370 +372 373 375 374 +376 377 379 378 +380 381 383 382 +384 385 387 386 +388 389 391 390 +392 393 395 394 +396 397 399 398 + + +4 +8 +12 +16 +20 +24 +28 +32 +36 +40 +44 +48 +52 +56 +60 +64 +68 +72 +76 +80 +84 +88 +92 +96 +100 +104 +108 +112 +116 +120 +124 +128 +132 +136 +140 +144 +148 +152 +156 +160 +164 +168 +172 +176 +180 +184 +188 +192 +196 +200 +204 +208 +212 +216 +220 +224 +228 +232 +236 +240 +244 +248 +252 +256 +260 +264 +268 +272 +276 +280 +284 +288 +292 +296 +300 +304 +308 +312 +316 +320 +324 +328 +332 +336 +340 +344 +348 +352 +356 +360 +364 +368 +372 +376 +380 +384 +388 +392 +396 +400 + + +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 + + + + +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 + + + + +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 + + +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 + + +2.005375 +2.005375 +2.005375 +2.005375 +2.045375 +2.045375 +2.045375 +2.045375 +2.125375 +2.125375 +2.125375 +2.125375 +2.245375 +2.245375 +2.245375 +2.245375 +2.405375 +2.405375 +2.405375 +2.405375 +2.605375 +2.605375 +2.605375 +2.605375 +2.845375 +2.845375 +2.845375 +2.845375 +3.125375 +3.125375 +3.125375 +3.125375 +3.445375 +3.445375 +3.445375 +3.445375 +3.805375 +3.805375 +3.805375 +3.805375 +2.015125 +2.015125 +2.015125 +2.015125 +2.055125 +2.055125 +2.055125 +2.055125 +2.135125 +2.135125 +2.135125 +2.135125 +2.255125 +2.255125 +2.255125 +2.255125 +2.415125 +2.415125 +2.415125 +2.415125 +2.615125 +2.615125 +2.615125 +2.615125 +2.855125 +2.855125 +2.855125 +2.855125 +3.135125 +3.135125 +3.135125 +3.135125 +3.455125 +3.455125 +3.455125 +3.455125 +3.815125 +3.815125 +3.815125 +3.815125 +2.051875 +2.051875 +2.051875 +2.051875 +2.091875 +2.091875 +2.091875 +2.091875 +2.171875 +2.171875 +2.171875 +2.171875 +2.291875 +2.291875 +2.291875 +2.291875 +2.451875 +2.451875 +2.451875 +2.451875 +2.651875 +2.651875 +2.651875 +2.651875 +2.891875 +2.891875 +2.891875 +2.891875 +3.171875 +3.171875 +3.171875 +3.171875 +3.491875 +3.491875 +3.491875 +3.491875 +3.851875 +3.851875 +3.851875 +3.851875 +2.133625 +2.133625 +2.133625 +2.133625 +2.173625 +2.173625 +2.173625 +2.173625 +2.253625 +2.253625 +2.253625 +2.253625 +2.373625 +2.373625 +2.373625 +2.373625 +2.533625 +2.533625 +2.533625 +2.533625 +2.733625 +2.733625 +2.733625 +2.733625 +2.973625 +2.973625 +2.973625 +2.973625 +3.253625 +3.253625 +3.253625 +3.253625 +3.573625 +3.573625 +3.573625 +3.573625 +3.933625 +3.933625 +3.933625 +3.933625 +2.278375 +2.278375 +2.278375 +2.278375 +2.318375 +2.318375 +2.318375 +2.318375 +2.398375 +2.398375 +2.398375 +2.398375 +2.518375 +2.518375 +2.518375 +2.518375 +2.678375 +2.678375 +2.678375 +2.678375 +2.878375 +2.878375 +2.878375 +2.878375 +3.118375 +3.118375 +3.118375 +3.118375 +3.398375 +3.398375 +3.398375 +3.398375 +3.718375 +3.718375 +3.718375 +3.718375 +4.078375 +4.078375 +4.078375 +4.078375 +2.504125 +2.504125 +2.504125 +2.504125 +2.544125 +2.544125 +2.544125 +2.544125 +2.624125 +2.624125 +2.624125 +2.624125 +2.744125 +2.744125 +2.744125 +2.744125 +2.904125 +2.904125 +2.904125 +2.904125 +3.104125 +3.104125 +3.104125 +3.104125 +3.344125 +3.344125 +3.344125 +3.344125 +3.624125 +3.624125 +3.624125 +3.624125 +3.944125 +3.944125 +3.944125 +3.944125 +4.304125 +4.304125 +4.304125 +4.304125 +2.828875 +2.828875 +2.828875 +2.828875 +2.868875 +2.868875 +2.868875 +2.868875 +2.948875 +2.948875 +2.948875 +2.948875 +3.068875 +3.068875 +3.068875 +3.068875 +3.228875 +3.228875 +3.228875 +3.228875 +3.428875 +3.428875 +3.428875 +3.428875 +3.668875 +3.668875 +3.668875 +3.668875 +3.948875 +3.948875 +3.948875 +3.948875 +4.268875 +4.268875 +4.268875 +4.268875 +4.628875 +4.628875 +4.628875 +4.628875 +3.270625 +3.270625 +3.270625 +3.270625 +3.310625 +3.310625 +3.310625 +3.310625 +3.390625 +3.390625 +3.390625 +3.390625 +3.510625 +3.510625 +3.510625 +3.510625 +3.670625 +3.670625 +3.670625 +3.670625 +3.870625 +3.870625 +3.870625 +3.870625 +4.110625 +4.110625 +4.110625 +4.110625 +4.390625 +4.390625 +4.390625 +4.390625 +4.710625 +4.710625 +4.710625 +4.710625 +5.070625 +5.070625 +5.070625 +5.070625 +3.847375 +3.847375 +3.847375 +3.847375 +3.887375 +3.887375 +3.887375 +3.887375 +3.967375 +3.967375 +3.967375 +3.967375 +4.087375 +4.087375 +4.087375 +4.087375 +4.247375 +4.247375 +4.247375 +4.247375 +4.447375 +4.447375 +4.447375 +4.447375 +4.687375 +4.687375 +4.687375 +4.687375 +4.967375 +4.967375 +4.967375 +4.967375 +5.287375 +5.287375 +5.287375 +5.287375 +5.647375 +5.647375 +5.647375 +5.647375 +4.577125 +4.577125 +4.577125 +4.577125 +4.617125 +4.617125 +4.617125 +4.617125 +4.697125 +4.697125 +4.697125 +4.697125 +4.817125 +4.817125 +4.817125 +4.817125 +4.977125 +4.977125 +4.977125 +4.977125 +5.177125 +5.177125 +5.177125 +5.177125 +5.417125 +5.417125 +5.417125 +5.417125 +5.697125 +5.697125 +5.697125 +5.697125 +6.017125 +6.017125 +6.017125 +6.017125 +6.377125 +6.377125 +6.377125 +6.377125 + + +1 +1.02 +1.003 +1.023 +1.02 +1.08 +1.023 +1.083 +1.08 +1.18 +1.083 +1.183 +1.18 +1.32 +1.183 +1.323 +1.32 +1.5 +1.323 +1.503 +1.5 +1.72 +1.503 +1.723 +1.72 +1.98 +1.723 +1.983 +1.98 +2.28 +1.983 +2.283 +2.28 +2.62 +2.283 +2.623 +2.62 +3 +2.623 +3.003 +1.003 +1.023 +1.024 +1.044 +1.023 +1.083 +1.044 +1.104 +1.083 +1.183 +1.104 +1.204 +1.183 +1.323 +1.204 +1.344 +1.323 +1.503 +1.344 +1.524 +1.503 +1.723 +1.524 +1.744 +1.723 +1.983 +1.744 +2.004 +1.983 +2.283 +2.004 +2.304 +2.283 +2.623 +2.304 +2.644 +2.623 +3.003 +2.644 +3.024 +1.024 +1.044 +1.081 +1.101 +1.044 +1.104 +1.101 +1.161 +1.104 +1.204 +1.161 +1.261 +1.204 +1.344 +1.261 +1.401 +1.344 +1.524 +1.401 +1.581 +1.524 +1.744 +1.581 +1.801 +1.744 +2.004 +1.801 +2.061 +2.004 +2.304 +2.061 +2.361 +2.304 +2.644 +2.361 +2.701 +2.644 +3.024 +2.701 +3.081 +1.081 +1.101 +1.192 +1.212 +1.101 +1.161 +1.212 +1.272 +1.161 +1.261 +1.272 +1.372 +1.261 +1.401 +1.372 +1.512 +1.401 +1.581 +1.512 +1.692 +1.581 +1.801 +1.692 +1.912 +1.801 +2.061 +1.912 +2.172 +2.061 +2.361 +2.172 +2.472 +2.361 +2.701 +2.472 +2.812 +2.701 +3.081 +2.812 +3.192 +1.192 +1.212 +1.375 +1.395 +1.212 +1.272 +1.395 +1.455 +1.272 +1.372 +1.455 +1.555 +1.372 +1.512 +1.555 +1.695 +1.512 +1.692 +1.695 +1.875 +1.692 +1.912 +1.875 +2.095 +1.912 +2.172 +2.095 +2.355 +2.172 +2.472 +2.355 +2.655 +2.472 +2.812 +2.655 +2.995 +2.812 +3.192 +2.995 +3.375 +1.375 +1.395 +1.648 +1.668 +1.395 +1.455 +1.668 +1.728 +1.455 +1.555 +1.728 +1.828 +1.555 +1.695 +1.828 +1.968 +1.695 +1.875 +1.968 +2.148 +1.875 +2.095 +2.148 +2.368 +2.095 +2.355 +2.368 +2.628 +2.355 +2.655 +2.628 +2.928 +2.655 +2.995 +2.928 +3.268 +2.995 +3.375 +3.268 +3.648 +1.648 +1.668 +2.029 +2.049 +1.668 +1.728 +2.049 +2.109 +1.728 +1.828 +2.109 +2.209 +1.828 +1.968 +2.209 +2.349 +1.968 +2.148 +2.349 +2.529 +2.148 +2.368 +2.529 +2.749 +2.368 +2.628 +2.749 +3.009 +2.628 +2.928 +3.009 +3.309 +2.928 +3.268 +3.309 +3.649 +3.268 +3.648 +3.649 +4.029 +2.029 +2.049 +2.536 +2.556 +2.049 +2.109 +2.556 +2.616 +2.109 +2.209 +2.616 +2.716 +2.209 +2.349 +2.716 +2.856 +2.349 +2.529 +2.856 +3.036 +2.529 +2.749 +3.036 +3.256 +2.749 +3.009 +3.256 +3.516 +3.009 +3.309 +3.516 +3.816 +3.309 +3.649 +3.816 +4.156 +3.649 +4.029 +4.156 +4.536 +2.536 +2.556 +3.187 +3.207 +2.556 +2.616 +3.207 +3.267 +2.616 +2.716 +3.267 +3.367 +2.716 +2.856 +3.367 +3.507 +2.856 +3.036 +3.507 +3.687 +3.036 +3.256 +3.687 +3.907 +3.256 +3.516 +3.907 +4.167 +3.516 +3.816 +4.167 +4.467 +3.816 +4.156 +4.467 +4.807 +4.156 +4.536 +4.807 +5.187 +3.187 +3.207 +4 +4.02 +3.207 +3.267 +4.02 +4.08 +3.267 +3.367 +4.08 +4.18 +3.367 +3.507 +4.18 +4.32 +3.507 +3.687 +4.32 +4.5 +3.687 +3.907 +4.5 +4.72 +3.907 +4.167 +4.72 +4.98 +4.167 +4.467 +4.98 +5.28 +4.467 +4.807 +5.28 +5.62 +4.807 +5.187 +5.62 +6 + + + + + diff --git a/test/tests/mfem/transfers/sibling_transfers/gold/OutputData/MFEMtoMFEMSiblingTransfer_mfem_recv0_ParaViewDataCollection/Run0/Cycle000001/data.pvtu b/test/tests/mfem/transfers/sibling_transfers/gold/OutputData/MFEMtoMFEMSiblingTransfer_mfem_recv0_ParaViewDataCollection/Run0/Cycle000001/data.pvtu new file mode 100644 index 000000000000..31bbee9ce836 --- /dev/null +++ b/test/tests/mfem/transfers/sibling_transfers/gold/OutputData/MFEMtoMFEMSiblingTransfer_mfem_recv0_ParaViewDataCollection/Run0/Cycle000001/data.pvtu @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + + + + + + + + + + diff --git a/test/tests/mfem/transfers/sibling_transfers/gold/OutputData/MFEMtoMFEMSiblingTransfer_mfem_recv0_ParaViewDataCollection/Run0/Cycle000001/proc000000.vtu b/test/tests/mfem/transfers/sibling_transfers/gold/OutputData/MFEMtoMFEMSiblingTransfer_mfem_recv0_ParaViewDataCollection/Run0/Cycle000001/proc000000.vtu new file mode 100644 index 000000000000..ba85daabbcda --- /dev/null +++ b/test/tests/mfem/transfers/sibling_transfers/gold/OutputData/MFEMtoMFEMSiblingTransfer_mfem_recv0_ParaViewDataCollection/Run0/Cycle000001/proc000000.vtu @@ -0,0 +1,2432 @@ + + + + + +0 0 0 +0.1 0 0 +0 0.1 0 +0.1 0.1 0 +0.1 0 0 +0.2 0 0 +0.1 0.1 0 +0.2 0.1 0 +0.2 0 0 +0.3 0 0 +0.2 0.1 0 +0.3 0.1 0 +0.3 0 0 +0.4 0 0 +0.3 0.1 0 +0.4 0.1 0 +0.4 0 0 +0.5 0 0 +0.4 0.1 0 +0.5 0.1 0 +0.5 0 0 +0.6 0 0 +0.5 0.1 0 +0.6 0.1 0 +0.6 0 0 +0.7 0 0 +0.6 0.1 0 +0.7 0.1 0 +0.7 0 0 +0.8 0 0 +0.7 0.1 0 +0.8 0.1 0 +0.8 0 0 +0.9 0 0 +0.8 0.1 0 +0.9 0.1 0 +0.9 0 0 +1 0 0 +0.9 0.1 0 +1 0.1 0 +0 0.1 0 +0.1 0.1 0 +0 0.2 0 +0.1 0.2 0 +0.1 0.1 0 +0.2 0.1 0 +0.1 0.2 0 +0.2 0.2 0 +0.2 0.1 0 +0.3 0.1 0 +0.2 0.2 0 +0.3 0.2 0 +0.3 0.1 0 +0.4 0.1 0 +0.3 0.2 0 +0.4 0.2 0 +0.4 0.1 0 +0.5 0.1 0 +0.4 0.2 0 +0.5 0.2 0 +0.5 0.1 0 +0.6 0.1 0 +0.5 0.2 0 +0.6 0.2 0 +0.6 0.1 0 +0.7 0.1 0 +0.6 0.2 0 +0.7 0.2 0 +0.7 0.1 0 +0.8 0.1 0 +0.7 0.2 0 +0.8 0.2 0 +0.8 0.1 0 +0.9 0.1 0 +0.8 0.2 0 +0.9 0.2 0 +0.9 0.1 0 +1 0.1 0 +0.9 0.2 0 +1 0.2 0 +0 0.2 0 +0.1 0.2 0 +0 0.3 0 +0.1 0.3 0 +0.1 0.2 0 +0.2 0.2 0 +0.1 0.3 0 +0.2 0.3 0 +0.2 0.2 0 +0.3 0.2 0 +0.2 0.3 0 +0.3 0.3 0 +0.3 0.2 0 +0.4 0.2 0 +0.3 0.3 0 +0.4 0.3 0 +0.4 0.2 0 +0.5 0.2 0 +0.4 0.3 0 +0.5 0.3 0 +0.5 0.2 0 +0.6 0.2 0 +0.5 0.3 0 +0.6 0.3 0 +0.6 0.2 0 +0.7 0.2 0 +0.6 0.3 0 +0.7 0.3 0 +0.7 0.2 0 +0.8 0.2 0 +0.7 0.3 0 +0.8 0.3 0 +0.8 0.2 0 +0.9 0.2 0 +0.8 0.3 0 +0.9 0.3 0 +0.9 0.2 0 +1 0.2 0 +0.9 0.3 0 +1 0.3 0 +0 0.3 0 +0.1 0.3 0 +0 0.4 0 +0.1 0.4 0 +0.1 0.3 0 +0.2 0.3 0 +0.1 0.4 0 +0.2 0.4 0 +0.2 0.3 0 +0.3 0.3 0 +0.2 0.4 0 +0.3 0.4 0 +0.3 0.3 0 +0.4 0.3 0 +0.3 0.4 0 +0.4 0.4 0 +0.4 0.3 0 +0.5 0.3 0 +0.4 0.4 0 +0.5 0.4 0 +0.5 0.3 0 +0.6 0.3 0 +0.5 0.4 0 +0.6 0.4 0 +0.6 0.3 0 +0.7 0.3 0 +0.6 0.4 0 +0.7 0.4 0 +0.7 0.3 0 +0.8 0.3 0 +0.7 0.4 0 +0.8 0.4 0 +0.8 0.3 0 +0.9 0.3 0 +0.8 0.4 0 +0.9 0.4 0 +0.9 0.3 0 +1 0.3 0 +0.9 0.4 0 +1 0.4 0 +0 0.4 0 +0.1 0.4 0 +0 0.5 0 +0.1 0.5 0 +0.1 0.4 0 +0.2 0.4 0 +0.1 0.5 0 +0.2 0.5 0 +0.2 0.4 0 +0.3 0.4 0 +0.2 0.5 0 +0.3 0.5 0 +0.3 0.4 0 +0.4 0.4 0 +0.3 0.5 0 +0.4 0.5 0 +0.4 0.4 0 +0.5 0.4 0 +0.4 0.5 0 +0.5 0.5 0 +0.5 0.4 0 +0.6 0.4 0 +0.5 0.5 0 +0.6 0.5 0 +0.6 0.4 0 +0.7 0.4 0 +0.6 0.5 0 +0.7 0.5 0 +0.7 0.4 0 +0.8 0.4 0 +0.7 0.5 0 +0.8 0.5 0 +0.8 0.4 0 +0.9 0.4 0 +0.8 0.5 0 +0.9 0.5 0 +0.9 0.4 0 +1 0.4 0 +0.9 0.5 0 +1 0.5 0 +0 0.5 0 +0.1 0.5 0 +0 0.6 0 +0.1 0.6 0 +0.1 0.5 0 +0.2 0.5 0 +0.1 0.6 0 +0.2 0.6 0 +0.2 0.5 0 +0.3 0.5 0 +0.2 0.6 0 +0.3 0.6 0 +0.3 0.5 0 +0.4 0.5 0 +0.3 0.6 0 +0.4 0.6 0 +0.4 0.5 0 +0.5 0.5 0 +0.4 0.6 0 +0.5 0.6 0 +0.5 0.5 0 +0.6 0.5 0 +0.5 0.6 0 +0.6 0.6 0 +0.6 0.5 0 +0.7 0.5 0 +0.6 0.6 0 +0.7 0.6 0 +0.7 0.5 0 +0.8 0.5 0 +0.7 0.6 0 +0.8 0.6 0 +0.8 0.5 0 +0.9 0.5 0 +0.8 0.6 0 +0.9 0.6 0 +0.9 0.5 0 +1 0.5 0 +0.9 0.6 0 +1 0.6 0 +0 0.6 0 +0.1 0.6 0 +0 0.7 0 +0.1 0.7 0 +0.1 0.6 0 +0.2 0.6 0 +0.1 0.7 0 +0.2 0.7 0 +0.2 0.6 0 +0.3 0.6 0 +0.2 0.7 0 +0.3 0.7 0 +0.3 0.6 0 +0.4 0.6 0 +0.3 0.7 0 +0.4 0.7 0 +0.4 0.6 0 +0.5 0.6 0 +0.4 0.7 0 +0.5 0.7 0 +0.5 0.6 0 +0.6 0.6 0 +0.5 0.7 0 +0.6 0.7 0 +0.6 0.6 0 +0.7 0.6 0 +0.6 0.7 0 +0.7 0.7 0 +0.7 0.6 0 +0.8 0.6 0 +0.7 0.7 0 +0.8 0.7 0 +0.8 0.6 0 +0.9 0.6 0 +0.8 0.7 0 +0.9 0.7 0 +0.9 0.6 0 +1 0.6 0 +0.9 0.7 0 +1 0.7 0 +0 0.7 0 +0.1 0.7 0 +0 0.8 0 +0.1 0.8 0 +0.1 0.7 0 +0.2 0.7 0 +0.1 0.8 0 +0.2 0.8 0 +0.2 0.7 0 +0.3 0.7 0 +0.2 0.8 0 +0.3 0.8 0 +0.3 0.7 0 +0.4 0.7 0 +0.3 0.8 0 +0.4 0.8 0 +0.4 0.7 0 +0.5 0.7 0 +0.4 0.8 0 +0.5 0.8 0 +0.5 0.7 0 +0.6 0.7 0 +0.5 0.8 0 +0.6 0.8 0 +0.6 0.7 0 +0.7 0.7 0 +0.6 0.8 0 +0.7 0.8 0 +0.7 0.7 0 +0.8 0.7 0 +0.7 0.8 0 +0.8 0.8 0 +0.8 0.7 0 +0.9 0.7 0 +0.8 0.8 0 +0.9 0.8 0 +0.9 0.7 0 +1 0.7 0 +0.9 0.8 0 +1 0.8 0 +0 0.8 0 +0.1 0.8 0 +0 0.9 0 +0.1 0.9 0 +0.1 0.8 0 +0.2 0.8 0 +0.1 0.9 0 +0.2 0.9 0 +0.2 0.8 0 +0.3 0.8 0 +0.2 0.9 0 +0.3 0.9 0 +0.3 0.8 0 +0.4 0.8 0 +0.3 0.9 0 +0.4 0.9 0 +0.4 0.8 0 +0.5 0.8 0 +0.4 0.9 0 +0.5 0.9 0 +0.5 0.8 0 +0.6 0.8 0 +0.5 0.9 0 +0.6 0.9 0 +0.6 0.8 0 +0.7 0.8 0 +0.6 0.9 0 +0.7 0.9 0 +0.7 0.8 0 +0.8 0.8 0 +0.7 0.9 0 +0.8 0.9 0 +0.8 0.8 0 +0.9 0.8 0 +0.8 0.9 0 +0.9 0.9 0 +0.9 0.8 0 +1 0.8 0 +0.9 0.9 0 +1 0.9 0 +0 0.9 0 +0.1 0.9 0 +0 1 0 +0.1 1 0 +0.1 0.9 0 +0.2 0.9 0 +0.1 1 0 +0.2 1 0 +0.2 0.9 0 +0.3 0.9 0 +0.2 1 0 +0.3 1 0 +0.3 0.9 0 +0.4 0.9 0 +0.3 1 0 +0.4 1 0 +0.4 0.9 0 +0.5 0.9 0 +0.4 1 0 +0.5 1 0 +0.5 0.9 0 +0.6 0.9 0 +0.5 1 0 +0.6 1 0 +0.6 0.9 0 +0.7 0.9 0 +0.6 1 0 +0.7 1 0 +0.7 0.9 0 +0.8 0.9 0 +0.7 1 0 +0.8 1 0 +0.8 0.9 0 +0.9 0.9 0 +0.8 1 0 +0.9 1 0 +0.9 0.9 0 +1 0.9 0 +0.9 1 0 +1 1 0 + + + + +0 1 3 2 +4 5 7 6 +8 9 11 10 +12 13 15 14 +16 17 19 18 +20 21 23 22 +24 25 27 26 +28 29 31 30 +32 33 35 34 +36 37 39 38 +40 41 43 42 +44 45 47 46 +48 49 51 50 +52 53 55 54 +56 57 59 58 +60 61 63 62 +64 65 67 66 +68 69 71 70 +72 73 75 74 +76 77 79 78 +80 81 83 82 +84 85 87 86 +88 89 91 90 +92 93 95 94 +96 97 99 98 +100 101 103 102 +104 105 107 106 +108 109 111 110 +112 113 115 114 +116 117 119 118 +120 121 123 122 +124 125 127 126 +128 129 131 130 +132 133 135 134 +136 137 139 138 +140 141 143 142 +144 145 147 146 +148 149 151 150 +152 153 155 154 +156 157 159 158 +160 161 163 162 +164 165 167 166 +168 169 171 170 +172 173 175 174 +176 177 179 178 +180 181 183 182 +184 185 187 186 +188 189 191 190 +192 193 195 194 +196 197 199 198 +200 201 203 202 +204 205 207 206 +208 209 211 210 +212 213 215 214 +216 217 219 218 +220 221 223 222 +224 225 227 226 +228 229 231 230 +232 233 235 234 +236 237 239 238 +240 241 243 242 +244 245 247 246 +248 249 251 250 +252 253 255 254 +256 257 259 258 +260 261 263 262 +264 265 267 266 +268 269 271 270 +272 273 275 274 +276 277 279 278 +280 281 283 282 +284 285 287 286 +288 289 291 290 +292 293 295 294 +296 297 299 298 +300 301 303 302 +304 305 307 306 +308 309 311 310 +312 313 315 314 +316 317 319 318 +320 321 323 322 +324 325 327 326 +328 329 331 330 +332 333 335 334 +336 337 339 338 +340 341 343 342 +344 345 347 346 +348 349 351 350 +352 353 355 354 +356 357 359 358 +360 361 363 362 +364 365 367 366 +368 369 371 370 +372 373 375 374 +376 377 379 378 +380 381 383 382 +384 385 387 386 +388 389 391 390 +392 393 395 394 +396 397 399 398 + + +4 +8 +12 +16 +20 +24 +28 +32 +36 +40 +44 +48 +52 +56 +60 +64 +68 +72 +76 +80 +84 +88 +92 +96 +100 +104 +108 +112 +116 +120 +124 +128 +132 +136 +140 +144 +148 +152 +156 +160 +164 +168 +172 +176 +180 +184 +188 +192 +196 +200 +204 +208 +212 +216 +220 +224 +228 +232 +236 +240 +244 +248 +252 +256 +260 +264 +268 +272 +276 +280 +284 +288 +292 +296 +300 +304 +308 +312 +316 +320 +324 +328 +332 +336 +340 +344 +348 +352 +356 +360 +364 +368 +372 +376 +380 +384 +388 +392 +396 +400 + + +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 + + + + +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 + + + + +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 + + +1 +1.02 +1.003 +1.023 +1.02 +1.08 +1.023 +1.083 +1.08 +1.18 +1.083 +1.183 +1.18 +1.32 +1.183 +1.323 +1.32 +1.5 +1.323 +1.503 +1.5 +1.72 +1.503 +1.723 +1.72 +1.98 +1.723 +1.983 +1.98 +2.28 +1.983 +2.283 +2.28 +2.62 +2.283 +2.623 +2.62 +3 +2.623 +3.003 +1.003 +1.023 +1.024 +1.044 +1.023 +1.083 +1.044 +1.104 +1.083 +1.183 +1.104 +1.204 +1.183 +1.323 +1.204 +1.344 +1.323 +1.503 +1.344 +1.524 +1.503 +1.723 +1.524 +1.744 +1.723 +1.983 +1.744 +2.004 +1.983 +2.283 +2.004 +2.304 +2.283 +2.623 +2.304 +2.644 +2.623 +3.003 +2.644 +3.024 +1.024 +1.044 +1.081 +1.101 +1.044 +1.104 +1.101 +1.161 +1.104 +1.204 +1.161 +1.261 +1.204 +1.344 +1.261 +1.401 +1.344 +1.524 +1.401 +1.581 +1.524 +1.744 +1.581 +1.801 +1.744 +2.004 +1.801 +2.061 +2.004 +2.304 +2.061 +2.361 +2.304 +2.644 +2.361 +2.701 +2.644 +3.024 +2.701 +3.081 +1.081 +1.101 +1.192 +1.212 +1.101 +1.161 +1.212 +1.272 +1.161 +1.261 +1.272 +1.372 +1.261 +1.401 +1.372 +1.512 +1.401 +1.581 +1.512 +1.692 +1.581 +1.801 +1.692 +1.912 +1.801 +2.061 +1.912 +2.172 +2.061 +2.361 +2.172 +2.472 +2.361 +2.701 +2.472 +2.812 +2.701 +3.081 +2.812 +3.192 +1.192 +1.212 +1.375 +1.395 +1.212 +1.272 +1.395 +1.455 +1.272 +1.372 +1.455 +1.555 +1.372 +1.512 +1.555 +1.695 +1.512 +1.692 +1.695 +1.875 +1.692 +1.912 +1.875 +2.095 +1.912 +2.172 +2.095 +2.355 +2.172 +2.472 +2.355 +2.655 +2.472 +2.812 +2.655 +2.995 +2.812 +3.192 +2.995 +3.375 +1.375 +1.395 +1.648 +1.668 +1.395 +1.455 +1.668 +1.728 +1.455 +1.555 +1.728 +1.828 +1.555 +1.695 +1.828 +1.968 +1.695 +1.875 +1.968 +2.148 +1.875 +2.095 +2.148 +2.368 +2.095 +2.355 +2.368 +2.628 +2.355 +2.655 +2.628 +2.928 +2.655 +2.995 +2.928 +3.268 +2.995 +3.375 +3.268 +3.648 +1.648 +1.668 +2.029 +2.049 +1.668 +1.728 +2.049 +2.109 +1.728 +1.828 +2.109 +2.209 +1.828 +1.968 +2.209 +2.349 +1.968 +2.148 +2.349 +2.529 +2.148 +2.368 +2.529 +2.749 +2.368 +2.628 +2.749 +3.009 +2.628 +2.928 +3.009 +3.309 +2.928 +3.268 +3.309 +3.649 +3.268 +3.648 +3.649 +4.029 +2.029 +2.049 +2.536 +2.556 +2.049 +2.109 +2.556 +2.616 +2.109 +2.209 +2.616 +2.716 +2.209 +2.349 +2.716 +2.856 +2.349 +2.529 +2.856 +3.036 +2.529 +2.749 +3.036 +3.256 +2.749 +3.009 +3.256 +3.516 +3.009 +3.309 +3.516 +3.816 +3.309 +3.649 +3.816 +4.156 +3.649 +4.029 +4.156 +4.536 +2.536 +2.556 +3.187 +3.207 +2.556 +2.616 +3.207 +3.267 +2.616 +2.716 +3.267 +3.367 +2.716 +2.856 +3.367 +3.507 +2.856 +3.036 +3.507 +3.687 +3.036 +3.256 +3.687 +3.907 +3.256 +3.516 +3.907 +4.167 +3.516 +3.816 +4.167 +4.467 +3.816 +4.156 +4.467 +4.807 +4.156 +4.536 +4.807 +5.187 +3.187 +3.207 +4 +4.02 +3.207 +3.267 +4.02 +4.08 +3.267 +3.367 +4.08 +4.18 +3.367 +3.507 +4.18 +4.32 +3.507 +3.687 +4.32 +4.5 +3.687 +3.907 +4.5 +4.72 +3.907 +4.167 +4.72 +4.98 +4.167 +4.467 +4.98 +5.28 +4.467 +4.807 +5.28 +5.62 +4.807 +5.187 +5.62 +6 + + +2.005375 +2.005375 +2.005375 +2.005375 +2.045375 +2.045375 +2.045375 +2.045375 +2.125375 +2.125375 +2.125375 +2.125375 +2.245375 +2.245375 +2.245375 +2.245375 +2.405375 +2.405375 +2.405375 +2.405375 +2.605375 +2.605375 +2.605375 +2.605375 +2.845375 +2.845375 +2.845375 +2.845375 +3.125375 +3.125375 +3.125375 +3.125375 +3.445375 +3.445375 +3.445375 +3.445375 +3.805375 +3.805375 +3.805375 +3.805375 +2.015125 +2.015125 +2.015125 +2.015125 +2.055125 +2.055125 +2.055125 +2.055125 +2.135125 +2.135125 +2.135125 +2.135125 +2.255125 +2.255125 +2.255125 +2.255125 +2.415125 +2.415125 +2.415125 +2.415125 +2.615125 +2.615125 +2.615125 +2.615125 +2.855125 +2.855125 +2.855125 +2.855125 +3.135125 +3.135125 +3.135125 +3.135125 +3.455125 +3.455125 +3.455125 +3.455125 +3.815125 +3.815125 +3.815125 +3.815125 +2.051875 +2.051875 +2.051875 +2.051875 +2.091875 +2.091875 +2.091875 +2.091875 +2.171875 +2.171875 +2.171875 +2.171875 +2.291875 +2.291875 +2.291875 +2.291875 +2.451875 +2.451875 +2.451875 +2.451875 +2.651875 +2.651875 +2.651875 +2.651875 +2.891875 +2.891875 +2.891875 +2.891875 +3.171875 +3.171875 +3.171875 +3.171875 +3.491875 +3.491875 +3.491875 +3.491875 +3.851875 +3.851875 +3.851875 +3.851875 +2.133625 +2.133625 +2.133625 +2.133625 +2.173625 +2.173625 +2.173625 +2.173625 +2.253625 +2.253625 +2.253625 +2.253625 +2.373625 +2.373625 +2.373625 +2.373625 +2.533625 +2.533625 +2.533625 +2.533625 +2.733625 +2.733625 +2.733625 +2.733625 +2.973625 +2.973625 +2.973625 +2.973625 +3.253625 +3.253625 +3.253625 +3.253625 +3.573625 +3.573625 +3.573625 +3.573625 +3.933625 +3.933625 +3.933625 +3.933625 +2.278375 +2.278375 +2.278375 +2.278375 +2.318375 +2.318375 +2.318375 +2.318375 +2.398375 +2.398375 +2.398375 +2.398375 +2.518375 +2.518375 +2.518375 +2.518375 +2.678375 +2.678375 +2.678375 +2.678375 +2.878375 +2.878375 +2.878375 +2.878375 +3.118375 +3.118375 +3.118375 +3.118375 +3.398375 +3.398375 +3.398375 +3.398375 +3.718375 +3.718375 +3.718375 +3.718375 +4.078375 +4.078375 +4.078375 +4.078375 +2.504125 +2.504125 +2.504125 +2.504125 +2.544125 +2.544125 +2.544125 +2.544125 +2.624125 +2.624125 +2.624125 +2.624125 +2.744125 +2.744125 +2.744125 +2.744125 +2.904125 +2.904125 +2.904125 +2.904125 +3.104125 +3.104125 +3.104125 +3.104125 +3.344125 +3.344125 +3.344125 +3.344125 +3.624125 +3.624125 +3.624125 +3.624125 +3.944125 +3.944125 +3.944125 +3.944125 +4.304125 +4.304125 +4.304125 +4.304125 +2.828875 +2.828875 +2.828875 +2.828875 +2.868875 +2.868875 +2.868875 +2.868875 +2.948875 +2.948875 +2.948875 +2.948875 +3.068875 +3.068875 +3.068875 +3.068875 +3.228875 +3.228875 +3.228875 +3.228875 +3.428875 +3.428875 +3.428875 +3.428875 +3.668875 +3.668875 +3.668875 +3.668875 +3.948875 +3.948875 +3.948875 +3.948875 +4.268875 +4.268875 +4.268875 +4.268875 +4.628875 +4.628875 +4.628875 +4.628875 +3.270625 +3.270625 +3.270625 +3.270625 +3.310625 +3.310625 +3.310625 +3.310625 +3.390625 +3.390625 +3.390625 +3.390625 +3.510625 +3.510625 +3.510625 +3.510625 +3.670625 +3.670625 +3.670625 +3.670625 +3.870625 +3.870625 +3.870625 +3.870625 +4.110625 +4.110625 +4.110625 +4.110625 +4.390625 +4.390625 +4.390625 +4.390625 +4.710625 +4.710625 +4.710625 +4.710625 +5.070625 +5.070625 +5.070625 +5.070625 +3.847375 +3.847375 +3.847375 +3.847375 +3.887375 +3.887375 +3.887375 +3.887375 +3.967375 +3.967375 +3.967375 +3.967375 +4.087375 +4.087375 +4.087375 +4.087375 +4.247375 +4.247375 +4.247375 +4.247375 +4.447375 +4.447375 +4.447375 +4.447375 +4.687375 +4.687375 +4.687375 +4.687375 +4.967375 +4.967375 +4.967375 +4.967375 +5.287375 +5.287375 +5.287375 +5.287375 +5.647375 +5.647375 +5.647375 +5.647375 +4.577125 +4.577125 +4.577125 +4.577125 +4.617125 +4.617125 +4.617125 +4.617125 +4.697125 +4.697125 +4.697125 +4.697125 +4.817125 +4.817125 +4.817125 +4.817125 +4.977125 +4.977125 +4.977125 +4.977125 +5.177125 +5.177125 +5.177125 +5.177125 +5.417125 +5.417125 +5.417125 +5.417125 +5.697125 +5.697125 +5.697125 +5.697125 +6.017125 +6.017125 +6.017125 +6.017125 +6.377125 +6.377125 +6.377125 +6.377125 + + +1 +1.02 +1.003 +1.023 +1.02 +1.08 +1.023 +1.083 +1.08 +1.18 +1.083 +1.183 +1.18 +1.32 +1.183 +1.323 +1.32 +1.5 +1.323 +1.503 +1.5 +1.72 +1.503 +1.723 +1.72 +1.98 +1.723 +1.983 +1.98 +2.28 +1.983 +2.283 +2.28 +2.62 +2.283 +2.623 +2.62 +3 +2.623 +3.003 +1.003 +1.023 +1.024 +1.044 +1.023 +1.083 +1.044 +1.104 +1.083 +1.183 +1.104 +1.204 +1.183 +1.323 +1.204 +1.344 +1.323 +1.503 +1.344 +1.524 +1.503 +1.723 +1.524 +1.744 +1.723 +1.983 +1.744 +2.004 +1.983 +2.283 +2.004 +2.304 +2.283 +2.623 +2.304 +2.644 +2.623 +3.003 +2.644 +3.024 +1.024 +1.044 +1.081 +1.101 +1.044 +1.104 +1.101 +1.161 +1.104 +1.204 +1.161 +1.261 +1.204 +1.344 +1.261 +1.401 +1.344 +1.524 +1.401 +1.581 +1.524 +1.744 +1.581 +1.801 +1.744 +2.004 +1.801 +2.061 +2.004 +2.304 +2.061 +2.361 +2.304 +2.644 +2.361 +2.701 +2.644 +3.024 +2.701 +3.081 +1.081 +1.101 +1.192 +1.212 +1.101 +1.161 +1.212 +1.272 +1.161 +1.261 +1.272 +1.372 +1.261 +1.401 +1.372 +1.512 +1.401 +1.581 +1.512 +1.692 +1.581 +1.801 +1.692 +1.912 +1.801 +2.061 +1.912 +2.172 +2.061 +2.361 +2.172 +2.472 +2.361 +2.701 +2.472 +2.812 +2.701 +3.081 +2.812 +3.192 +1.192 +1.212 +1.375 +1.395 +1.212 +1.272 +1.395 +1.455 +1.272 +1.372 +1.455 +1.555 +1.372 +1.512 +1.555 +1.695 +1.512 +1.692 +1.695 +1.875 +1.692 +1.912 +1.875 +2.095 +1.912 +2.172 +2.095 +2.355 +2.172 +2.472 +2.355 +2.655 +2.472 +2.812 +2.655 +2.995 +2.812 +3.192 +2.995 +3.375 +1.375 +1.395 +1.648 +1.668 +1.395 +1.455 +1.668 +1.728 +1.455 +1.555 +1.728 +1.828 +1.555 +1.695 +1.828 +1.968 +1.695 +1.875 +1.968 +2.148 +1.875 +2.095 +2.148 +2.368 +2.095 +2.355 +2.368 +2.628 +2.355 +2.655 +2.628 +2.928 +2.655 +2.995 +2.928 +3.268 +2.995 +3.375 +3.268 +3.648 +1.648 +1.668 +2.029 +2.049 +1.668 +1.728 +2.049 +2.109 +1.728 +1.828 +2.109 +2.209 +1.828 +1.968 +2.209 +2.349 +1.968 +2.148 +2.349 +2.529 +2.148 +2.368 +2.529 +2.749 +2.368 +2.628 +2.749 +3.009 +2.628 +2.928 +3.009 +3.309 +2.928 +3.268 +3.309 +3.649 +3.268 +3.648 +3.649 +4.029 +2.029 +2.049 +2.536 +2.556 +2.049 +2.109 +2.556 +2.616 +2.109 +2.209 +2.616 +2.716 +2.209 +2.349 +2.716 +2.856 +2.349 +2.529 +2.856 +3.036 +2.529 +2.749 +3.036 +3.256 +2.749 +3.009 +3.256 +3.516 +3.009 +3.309 +3.516 +3.816 +3.309 +3.649 +3.816 +4.156 +3.649 +4.029 +4.156 +4.536 +2.536 +2.556 +3.187 +3.207 +2.556 +2.616 +3.207 +3.267 +2.616 +2.716 +3.267 +3.367 +2.716 +2.856 +3.367 +3.507 +2.856 +3.036 +3.507 +3.687 +3.036 +3.256 +3.687 +3.907 +3.256 +3.516 +3.907 +4.167 +3.516 +3.816 +4.167 +4.467 +3.816 +4.156 +4.467 +4.807 +4.156 +4.536 +4.807 +5.187 +3.187 +3.207 +4 +4.02 +3.207 +3.267 +4.02 +4.08 +3.267 +3.367 +4.08 +4.18 +3.367 +3.507 +4.18 +4.32 +3.507 +3.687 +4.32 +4.5 +3.687 +3.907 +4.5 +4.72 +3.907 +4.167 +4.72 +4.98 +4.167 +4.467 +4.98 +5.28 +4.467 +4.807 +5.28 +5.62 +4.807 +5.187 +5.62 +6 + + + + + diff --git a/test/tests/mfem/transfers/sibling_transfers/gold/OutputData/MFEMtoMFEMSiblingTransfer_mfem_recv0_ParaViewDataCollection/Run0/Run0.pvd b/test/tests/mfem/transfers/sibling_transfers/gold/OutputData/MFEMtoMFEMSiblingTransfer_mfem_recv0_ParaViewDataCollection/Run0/Run0.pvd new file mode 100644 index 000000000000..72ed1b22e1dd --- /dev/null +++ b/test/tests/mfem/transfers/sibling_transfers/gold/OutputData/MFEMtoMFEMSiblingTransfer_mfem_recv0_ParaViewDataCollection/Run0/Run0.pvd @@ -0,0 +1,7 @@ + + + + + + + diff --git a/test/tests/mfem/transfers/sibling_transfers/gold/OutputData/MFEMtoMFEMSiblingTransfer_mfem_recv0_nodal_sample_0002.csv b/test/tests/mfem/transfers/sibling_transfers/gold/OutputData/MFEMtoMFEMSiblingTransfer_mfem_recv0_nodal_sample_0002.csv new file mode 100644 index 000000000000..b00d9ff9987b --- /dev/null +++ b/test/tests/mfem/transfers/sibling_transfers/gold/OutputData/MFEMtoMFEMSiblingTransfer_mfem_recv0_nodal_sample_0002.csv @@ -0,0 +1,15 @@ +received_nodal_0,x_0,x_1 +1,0,0 +1.0176923076923,0.076923076923077,0.076923076923077 +1.0666153846154,0.15384615384615,0.15384615384615 +1.1523076923077,0.23076923076923,0.23076923076923 +1.2803076923077,0.30769230769231,0.30769230769231 +1.4733846153846,0.38461538461538,0.38461538461538 +1.7353846153846,0.46153846153846,0.46153846153846 +2.0646153846154,0.53846153846154,0.53846153846154 +2.4666153846154,0.61538461538462,0.61538461538462 +2.9596923076923,0.69230769230769,0.69230769230769 +3.5676923076923,0.76923076923077,0.76923076923077 +4.2733846153846,0.84615384615385,0.84615384615385 +5.0823076923077,0.92307692307692,0.92307692307692 +6,1,1 diff --git a/test/tests/mfem/transfers/sibling_transfers/gold/OutputData/MFEMtoMFEMSiblingTransfer_mfem_recv1_ParaViewDataCollection/Run0/Cycle000000/data.pvtu b/test/tests/mfem/transfers/sibling_transfers/gold/OutputData/MFEMtoMFEMSiblingTransfer_mfem_recv1_ParaViewDataCollection/Run0/Cycle000000/data.pvtu new file mode 100644 index 000000000000..31bbee9ce836 --- /dev/null +++ b/test/tests/mfem/transfers/sibling_transfers/gold/OutputData/MFEMtoMFEMSiblingTransfer_mfem_recv1_ParaViewDataCollection/Run0/Cycle000000/data.pvtu @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + + + + + + + + + + diff --git a/test/tests/mfem/transfers/sibling_transfers/gold/OutputData/MFEMtoMFEMSiblingTransfer_mfem_recv1_ParaViewDataCollection/Run0/Cycle000000/proc000000.vtu b/test/tests/mfem/transfers/sibling_transfers/gold/OutputData/MFEMtoMFEMSiblingTransfer_mfem_recv1_ParaViewDataCollection/Run0/Cycle000000/proc000000.vtu new file mode 100644 index 000000000000..c742f7aa88cd --- /dev/null +++ b/test/tests/mfem/transfers/sibling_transfers/gold/OutputData/MFEMtoMFEMSiblingTransfer_mfem_recv1_ParaViewDataCollection/Run0/Cycle000000/proc000000.vtu @@ -0,0 +1,2432 @@ + + + + + +0 0 0 +0.1 0 0 +0 0.1 0 +0.1 0.1 0 +0.1 0 0 +0.2 0 0 +0.1 0.1 0 +0.2 0.1 0 +0.2 0 0 +0.3 0 0 +0.2 0.1 0 +0.3 0.1 0 +0.3 0 0 +0.4 0 0 +0.3 0.1 0 +0.4 0.1 0 +0.4 0 0 +0.5 0 0 +0.4 0.1 0 +0.5 0.1 0 +0.5 0 0 +0.6 0 0 +0.5 0.1 0 +0.6 0.1 0 +0.6 0 0 +0.7 0 0 +0.6 0.1 0 +0.7 0.1 0 +0.7 0 0 +0.8 0 0 +0.7 0.1 0 +0.8 0.1 0 +0.8 0 0 +0.9 0 0 +0.8 0.1 0 +0.9 0.1 0 +0.9 0 0 +1 0 0 +0.9 0.1 0 +1 0.1 0 +0 0.1 0 +0.1 0.1 0 +0 0.2 0 +0.1 0.2 0 +0.1 0.1 0 +0.2 0.1 0 +0.1 0.2 0 +0.2 0.2 0 +0.2 0.1 0 +0.3 0.1 0 +0.2 0.2 0 +0.3 0.2 0 +0.3 0.1 0 +0.4 0.1 0 +0.3 0.2 0 +0.4 0.2 0 +0.4 0.1 0 +0.5 0.1 0 +0.4 0.2 0 +0.5 0.2 0 +0.5 0.1 0 +0.6 0.1 0 +0.5 0.2 0 +0.6 0.2 0 +0.6 0.1 0 +0.7 0.1 0 +0.6 0.2 0 +0.7 0.2 0 +0.7 0.1 0 +0.8 0.1 0 +0.7 0.2 0 +0.8 0.2 0 +0.8 0.1 0 +0.9 0.1 0 +0.8 0.2 0 +0.9 0.2 0 +0.9 0.1 0 +1 0.1 0 +0.9 0.2 0 +1 0.2 0 +0 0.2 0 +0.1 0.2 0 +0 0.3 0 +0.1 0.3 0 +0.1 0.2 0 +0.2 0.2 0 +0.1 0.3 0 +0.2 0.3 0 +0.2 0.2 0 +0.3 0.2 0 +0.2 0.3 0 +0.3 0.3 0 +0.3 0.2 0 +0.4 0.2 0 +0.3 0.3 0 +0.4 0.3 0 +0.4 0.2 0 +0.5 0.2 0 +0.4 0.3 0 +0.5 0.3 0 +0.5 0.2 0 +0.6 0.2 0 +0.5 0.3 0 +0.6 0.3 0 +0.6 0.2 0 +0.7 0.2 0 +0.6 0.3 0 +0.7 0.3 0 +0.7 0.2 0 +0.8 0.2 0 +0.7 0.3 0 +0.8 0.3 0 +0.8 0.2 0 +0.9 0.2 0 +0.8 0.3 0 +0.9 0.3 0 +0.9 0.2 0 +1 0.2 0 +0.9 0.3 0 +1 0.3 0 +0 0.3 0 +0.1 0.3 0 +0 0.4 0 +0.1 0.4 0 +0.1 0.3 0 +0.2 0.3 0 +0.1 0.4 0 +0.2 0.4 0 +0.2 0.3 0 +0.3 0.3 0 +0.2 0.4 0 +0.3 0.4 0 +0.3 0.3 0 +0.4 0.3 0 +0.3 0.4 0 +0.4 0.4 0 +0.4 0.3 0 +0.5 0.3 0 +0.4 0.4 0 +0.5 0.4 0 +0.5 0.3 0 +0.6 0.3 0 +0.5 0.4 0 +0.6 0.4 0 +0.6 0.3 0 +0.7 0.3 0 +0.6 0.4 0 +0.7 0.4 0 +0.7 0.3 0 +0.8 0.3 0 +0.7 0.4 0 +0.8 0.4 0 +0.8 0.3 0 +0.9 0.3 0 +0.8 0.4 0 +0.9 0.4 0 +0.9 0.3 0 +1 0.3 0 +0.9 0.4 0 +1 0.4 0 +0 0.4 0 +0.1 0.4 0 +0 0.5 0 +0.1 0.5 0 +0.1 0.4 0 +0.2 0.4 0 +0.1 0.5 0 +0.2 0.5 0 +0.2 0.4 0 +0.3 0.4 0 +0.2 0.5 0 +0.3 0.5 0 +0.3 0.4 0 +0.4 0.4 0 +0.3 0.5 0 +0.4 0.5 0 +0.4 0.4 0 +0.5 0.4 0 +0.4 0.5 0 +0.5 0.5 0 +0.5 0.4 0 +0.6 0.4 0 +0.5 0.5 0 +0.6 0.5 0 +0.6 0.4 0 +0.7 0.4 0 +0.6 0.5 0 +0.7 0.5 0 +0.7 0.4 0 +0.8 0.4 0 +0.7 0.5 0 +0.8 0.5 0 +0.8 0.4 0 +0.9 0.4 0 +0.8 0.5 0 +0.9 0.5 0 +0.9 0.4 0 +1 0.4 0 +0.9 0.5 0 +1 0.5 0 +0 0.5 0 +0.1 0.5 0 +0 0.6 0 +0.1 0.6 0 +0.1 0.5 0 +0.2 0.5 0 +0.1 0.6 0 +0.2 0.6 0 +0.2 0.5 0 +0.3 0.5 0 +0.2 0.6 0 +0.3 0.6 0 +0.3 0.5 0 +0.4 0.5 0 +0.3 0.6 0 +0.4 0.6 0 +0.4 0.5 0 +0.5 0.5 0 +0.4 0.6 0 +0.5 0.6 0 +0.5 0.5 0 +0.6 0.5 0 +0.5 0.6 0 +0.6 0.6 0 +0.6 0.5 0 +0.7 0.5 0 +0.6 0.6 0 +0.7 0.6 0 +0.7 0.5 0 +0.8 0.5 0 +0.7 0.6 0 +0.8 0.6 0 +0.8 0.5 0 +0.9 0.5 0 +0.8 0.6 0 +0.9 0.6 0 +0.9 0.5 0 +1 0.5 0 +0.9 0.6 0 +1 0.6 0 +0 0.6 0 +0.1 0.6 0 +0 0.7 0 +0.1 0.7 0 +0.1 0.6 0 +0.2 0.6 0 +0.1 0.7 0 +0.2 0.7 0 +0.2 0.6 0 +0.3 0.6 0 +0.2 0.7 0 +0.3 0.7 0 +0.3 0.6 0 +0.4 0.6 0 +0.3 0.7 0 +0.4 0.7 0 +0.4 0.6 0 +0.5 0.6 0 +0.4 0.7 0 +0.5 0.7 0 +0.5 0.6 0 +0.6 0.6 0 +0.5 0.7 0 +0.6 0.7 0 +0.6 0.6 0 +0.7 0.6 0 +0.6 0.7 0 +0.7 0.7 0 +0.7 0.6 0 +0.8 0.6 0 +0.7 0.7 0 +0.8 0.7 0 +0.8 0.6 0 +0.9 0.6 0 +0.8 0.7 0 +0.9 0.7 0 +0.9 0.6 0 +1 0.6 0 +0.9 0.7 0 +1 0.7 0 +0 0.7 0 +0.1 0.7 0 +0 0.8 0 +0.1 0.8 0 +0.1 0.7 0 +0.2 0.7 0 +0.1 0.8 0 +0.2 0.8 0 +0.2 0.7 0 +0.3 0.7 0 +0.2 0.8 0 +0.3 0.8 0 +0.3 0.7 0 +0.4 0.7 0 +0.3 0.8 0 +0.4 0.8 0 +0.4 0.7 0 +0.5 0.7 0 +0.4 0.8 0 +0.5 0.8 0 +0.5 0.7 0 +0.6 0.7 0 +0.5 0.8 0 +0.6 0.8 0 +0.6 0.7 0 +0.7 0.7 0 +0.6 0.8 0 +0.7 0.8 0 +0.7 0.7 0 +0.8 0.7 0 +0.7 0.8 0 +0.8 0.8 0 +0.8 0.7 0 +0.9 0.7 0 +0.8 0.8 0 +0.9 0.8 0 +0.9 0.7 0 +1 0.7 0 +0.9 0.8 0 +1 0.8 0 +0 0.8 0 +0.1 0.8 0 +0 0.9 0 +0.1 0.9 0 +0.1 0.8 0 +0.2 0.8 0 +0.1 0.9 0 +0.2 0.9 0 +0.2 0.8 0 +0.3 0.8 0 +0.2 0.9 0 +0.3 0.9 0 +0.3 0.8 0 +0.4 0.8 0 +0.3 0.9 0 +0.4 0.9 0 +0.4 0.8 0 +0.5 0.8 0 +0.4 0.9 0 +0.5 0.9 0 +0.5 0.8 0 +0.6 0.8 0 +0.5 0.9 0 +0.6 0.9 0 +0.6 0.8 0 +0.7 0.8 0 +0.6 0.9 0 +0.7 0.9 0 +0.7 0.8 0 +0.8 0.8 0 +0.7 0.9 0 +0.8 0.9 0 +0.8 0.8 0 +0.9 0.8 0 +0.8 0.9 0 +0.9 0.9 0 +0.9 0.8 0 +1 0.8 0 +0.9 0.9 0 +1 0.9 0 +0 0.9 0 +0.1 0.9 0 +0 1 0 +0.1 1 0 +0.1 0.9 0 +0.2 0.9 0 +0.1 1 0 +0.2 1 0 +0.2 0.9 0 +0.3 0.9 0 +0.2 1 0 +0.3 1 0 +0.3 0.9 0 +0.4 0.9 0 +0.3 1 0 +0.4 1 0 +0.4 0.9 0 +0.5 0.9 0 +0.4 1 0 +0.5 1 0 +0.5 0.9 0 +0.6 0.9 0 +0.5 1 0 +0.6 1 0 +0.6 0.9 0 +0.7 0.9 0 +0.6 1 0 +0.7 1 0 +0.7 0.9 0 +0.8 0.9 0 +0.7 1 0 +0.8 1 0 +0.8 0.9 0 +0.9 0.9 0 +0.8 1 0 +0.9 1 0 +0.9 0.9 0 +1 0.9 0 +0.9 1 0 +1 1 0 + + + + +0 1 3 2 +4 5 7 6 +8 9 11 10 +12 13 15 14 +16 17 19 18 +20 21 23 22 +24 25 27 26 +28 29 31 30 +32 33 35 34 +36 37 39 38 +40 41 43 42 +44 45 47 46 +48 49 51 50 +52 53 55 54 +56 57 59 58 +60 61 63 62 +64 65 67 66 +68 69 71 70 +72 73 75 74 +76 77 79 78 +80 81 83 82 +84 85 87 86 +88 89 91 90 +92 93 95 94 +96 97 99 98 +100 101 103 102 +104 105 107 106 +108 109 111 110 +112 113 115 114 +116 117 119 118 +120 121 123 122 +124 125 127 126 +128 129 131 130 +132 133 135 134 +136 137 139 138 +140 141 143 142 +144 145 147 146 +148 149 151 150 +152 153 155 154 +156 157 159 158 +160 161 163 162 +164 165 167 166 +168 169 171 170 +172 173 175 174 +176 177 179 178 +180 181 183 182 +184 185 187 186 +188 189 191 190 +192 193 195 194 +196 197 199 198 +200 201 203 202 +204 205 207 206 +208 209 211 210 +212 213 215 214 +216 217 219 218 +220 221 223 222 +224 225 227 226 +228 229 231 230 +232 233 235 234 +236 237 239 238 +240 241 243 242 +244 245 247 246 +248 249 251 250 +252 253 255 254 +256 257 259 258 +260 261 263 262 +264 265 267 266 +268 269 271 270 +272 273 275 274 +276 277 279 278 +280 281 283 282 +284 285 287 286 +288 289 291 290 +292 293 295 294 +296 297 299 298 +300 301 303 302 +304 305 307 306 +308 309 311 310 +312 313 315 314 +316 317 319 318 +320 321 323 322 +324 325 327 326 +328 329 331 330 +332 333 335 334 +336 337 339 338 +340 341 343 342 +344 345 347 346 +348 349 351 350 +352 353 355 354 +356 357 359 358 +360 361 363 362 +364 365 367 366 +368 369 371 370 +372 373 375 374 +376 377 379 378 +380 381 383 382 +384 385 387 386 +388 389 391 390 +392 393 395 394 +396 397 399 398 + + +4 +8 +12 +16 +20 +24 +28 +32 +36 +40 +44 +48 +52 +56 +60 +64 +68 +72 +76 +80 +84 +88 +92 +96 +100 +104 +108 +112 +116 +120 +124 +128 +132 +136 +140 +144 +148 +152 +156 +160 +164 +168 +172 +176 +180 +184 +188 +192 +196 +200 +204 +208 +212 +216 +220 +224 +228 +232 +236 +240 +244 +248 +252 +256 +260 +264 +268 +272 +276 +280 +284 +288 +292 +296 +300 +304 +308 +312 +316 +320 +324 +328 +332 +336 +340 +344 +348 +352 +356 +360 +364 +368 +372 +376 +380 +384 +388 +392 +396 +400 + + +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 + + + + +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 + + + + +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 + + +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 + + +2.005375 +2.005375 +2.005375 +2.005375 +2.045375 +2.045375 +2.045375 +2.045375 +2.125375 +2.125375 +2.125375 +2.125375 +2.245375 +2.245375 +2.245375 +2.245375 +2.405375 +2.405375 +2.405375 +2.405375 +2.605375 +2.605375 +2.605375 +2.605375 +2.845375 +2.845375 +2.845375 +2.845375 +3.125375 +3.125375 +3.125375 +3.125375 +3.445375 +3.445375 +3.445375 +3.445375 +3.805375 +3.805375 +3.805375 +3.805375 +2.015125 +2.015125 +2.015125 +2.015125 +2.055125 +2.055125 +2.055125 +2.055125 +2.135125 +2.135125 +2.135125 +2.135125 +2.255125 +2.255125 +2.255125 +2.255125 +2.415125 +2.415125 +2.415125 +2.415125 +2.615125 +2.615125 +2.615125 +2.615125 +2.855125 +2.855125 +2.855125 +2.855125 +3.135125 +3.135125 +3.135125 +3.135125 +3.455125 +3.455125 +3.455125 +3.455125 +3.815125 +3.815125 +3.815125 +3.815125 +2.051875 +2.051875 +2.051875 +2.051875 +2.091875 +2.091875 +2.091875 +2.091875 +2.171875 +2.171875 +2.171875 +2.171875 +2.291875 +2.291875 +2.291875 +2.291875 +2.451875 +2.451875 +2.451875 +2.451875 +2.651875 +2.651875 +2.651875 +2.651875 +2.891875 +2.891875 +2.891875 +2.891875 +3.171875 +3.171875 +3.171875 +3.171875 +3.491875 +3.491875 +3.491875 +3.491875 +3.851875 +3.851875 +3.851875 +3.851875 +2.133625 +2.133625 +2.133625 +2.133625 +2.173625 +2.173625 +2.173625 +2.173625 +2.253625 +2.253625 +2.253625 +2.253625 +2.373625 +2.373625 +2.373625 +2.373625 +2.533625 +2.533625 +2.533625 +2.533625 +2.733625 +2.733625 +2.733625 +2.733625 +2.973625 +2.973625 +2.973625 +2.973625 +3.253625 +3.253625 +3.253625 +3.253625 +3.573625 +3.573625 +3.573625 +3.573625 +3.933625 +3.933625 +3.933625 +3.933625 +2.278375 +2.278375 +2.278375 +2.278375 +2.318375 +2.318375 +2.318375 +2.318375 +2.398375 +2.398375 +2.398375 +2.398375 +2.518375 +2.518375 +2.518375 +2.518375 +2.678375 +2.678375 +2.678375 +2.678375 +2.878375 +2.878375 +2.878375 +2.878375 +3.118375 +3.118375 +3.118375 +3.118375 +3.398375 +3.398375 +3.398375 +3.398375 +3.718375 +3.718375 +3.718375 +3.718375 +4.078375 +4.078375 +4.078375 +4.078375 +2.504125 +2.504125 +2.504125 +2.504125 +2.544125 +2.544125 +2.544125 +2.544125 +2.624125 +2.624125 +2.624125 +2.624125 +2.744125 +2.744125 +2.744125 +2.744125 +2.904125 +2.904125 +2.904125 +2.904125 +3.104125 +3.104125 +3.104125 +3.104125 +3.344125 +3.344125 +3.344125 +3.344125 +3.624125 +3.624125 +3.624125 +3.624125 +3.944125 +3.944125 +3.944125 +3.944125 +4.304125 +4.304125 +4.304125 +4.304125 +2.828875 +2.828875 +2.828875 +2.828875 +2.868875 +2.868875 +2.868875 +2.868875 +2.948875 +2.948875 +2.948875 +2.948875 +3.068875 +3.068875 +3.068875 +3.068875 +3.228875 +3.228875 +3.228875 +3.228875 +3.428875 +3.428875 +3.428875 +3.428875 +3.668875 +3.668875 +3.668875 +3.668875 +3.948875 +3.948875 +3.948875 +3.948875 +4.268875 +4.268875 +4.268875 +4.268875 +4.628875 +4.628875 +4.628875 +4.628875 +3.270625 +3.270625 +3.270625 +3.270625 +3.310625 +3.310625 +3.310625 +3.310625 +3.390625 +3.390625 +3.390625 +3.390625 +3.510625 +3.510625 +3.510625 +3.510625 +3.670625 +3.670625 +3.670625 +3.670625 +3.870625 +3.870625 +3.870625 +3.870625 +4.110625 +4.110625 +4.110625 +4.110625 +4.390625 +4.390625 +4.390625 +4.390625 +4.710625 +4.710625 +4.710625 +4.710625 +5.070625 +5.070625 +5.070625 +5.070625 +3.847375 +3.847375 +3.847375 +3.847375 +3.887375 +3.887375 +3.887375 +3.887375 +3.967375 +3.967375 +3.967375 +3.967375 +4.087375 +4.087375 +4.087375 +4.087375 +4.247375 +4.247375 +4.247375 +4.247375 +4.447375 +4.447375 +4.447375 +4.447375 +4.687375 +4.687375 +4.687375 +4.687375 +4.967375 +4.967375 +4.967375 +4.967375 +5.287375 +5.287375 +5.287375 +5.287375 +5.647375 +5.647375 +5.647375 +5.647375 +4.577125 +4.577125 +4.577125 +4.577125 +4.617125 +4.617125 +4.617125 +4.617125 +4.697125 +4.697125 +4.697125 +4.697125 +4.817125 +4.817125 +4.817125 +4.817125 +4.977125 +4.977125 +4.977125 +4.977125 +5.177125 +5.177125 +5.177125 +5.177125 +5.417125 +5.417125 +5.417125 +5.417125 +5.697125 +5.697125 +5.697125 +5.697125 +6.017125 +6.017125 +6.017125 +6.017125 +6.377125 +6.377125 +6.377125 +6.377125 + + +1 +1.02 +1.003 +1.023 +1.02 +1.08 +1.023 +1.083 +1.08 +1.18 +1.083 +1.183 +1.18 +1.32 +1.183 +1.323 +1.32 +1.5 +1.323 +1.503 +1.5 +1.72 +1.503 +1.723 +1.72 +1.98 +1.723 +1.983 +1.98 +2.28 +1.983 +2.283 +2.28 +2.62 +2.283 +2.623 +2.62 +3 +2.623 +3.003 +1.003 +1.023 +1.024 +1.044 +1.023 +1.083 +1.044 +1.104 +1.083 +1.183 +1.104 +1.204 +1.183 +1.323 +1.204 +1.344 +1.323 +1.503 +1.344 +1.524 +1.503 +1.723 +1.524 +1.744 +1.723 +1.983 +1.744 +2.004 +1.983 +2.283 +2.004 +2.304 +2.283 +2.623 +2.304 +2.644 +2.623 +3.003 +2.644 +3.024 +1.024 +1.044 +1.081 +1.101 +1.044 +1.104 +1.101 +1.161 +1.104 +1.204 +1.161 +1.261 +1.204 +1.344 +1.261 +1.401 +1.344 +1.524 +1.401 +1.581 +1.524 +1.744 +1.581 +1.801 +1.744 +2.004 +1.801 +2.061 +2.004 +2.304 +2.061 +2.361 +2.304 +2.644 +2.361 +2.701 +2.644 +3.024 +2.701 +3.081 +1.081 +1.101 +1.192 +1.212 +1.101 +1.161 +1.212 +1.272 +1.161 +1.261 +1.272 +1.372 +1.261 +1.401 +1.372 +1.512 +1.401 +1.581 +1.512 +1.692 +1.581 +1.801 +1.692 +1.912 +1.801 +2.061 +1.912 +2.172 +2.061 +2.361 +2.172 +2.472 +2.361 +2.701 +2.472 +2.812 +2.701 +3.081 +2.812 +3.192 +1.192 +1.212 +1.375 +1.395 +1.212 +1.272 +1.395 +1.455 +1.272 +1.372 +1.455 +1.555 +1.372 +1.512 +1.555 +1.695 +1.512 +1.692 +1.695 +1.875 +1.692 +1.912 +1.875 +2.095 +1.912 +2.172 +2.095 +2.355 +2.172 +2.472 +2.355 +2.655 +2.472 +2.812 +2.655 +2.995 +2.812 +3.192 +2.995 +3.375 +1.375 +1.395 +1.648 +1.668 +1.395 +1.455 +1.668 +1.728 +1.455 +1.555 +1.728 +1.828 +1.555 +1.695 +1.828 +1.968 +1.695 +1.875 +1.968 +2.148 +1.875 +2.095 +2.148 +2.368 +2.095 +2.355 +2.368 +2.628 +2.355 +2.655 +2.628 +2.928 +2.655 +2.995 +2.928 +3.268 +2.995 +3.375 +3.268 +3.648 +1.648 +1.668 +2.029 +2.049 +1.668 +1.728 +2.049 +2.109 +1.728 +1.828 +2.109 +2.209 +1.828 +1.968 +2.209 +2.349 +1.968 +2.148 +2.349 +2.529 +2.148 +2.368 +2.529 +2.749 +2.368 +2.628 +2.749 +3.009 +2.628 +2.928 +3.009 +3.309 +2.928 +3.268 +3.309 +3.649 +3.268 +3.648 +3.649 +4.029 +2.029 +2.049 +2.536 +2.556 +2.049 +2.109 +2.556 +2.616 +2.109 +2.209 +2.616 +2.716 +2.209 +2.349 +2.716 +2.856 +2.349 +2.529 +2.856 +3.036 +2.529 +2.749 +3.036 +3.256 +2.749 +3.009 +3.256 +3.516 +3.009 +3.309 +3.516 +3.816 +3.309 +3.649 +3.816 +4.156 +3.649 +4.029 +4.156 +4.536 +2.536 +2.556 +3.187 +3.207 +2.556 +2.616 +3.207 +3.267 +2.616 +2.716 +3.267 +3.367 +2.716 +2.856 +3.367 +3.507 +2.856 +3.036 +3.507 +3.687 +3.036 +3.256 +3.687 +3.907 +3.256 +3.516 +3.907 +4.167 +3.516 +3.816 +4.167 +4.467 +3.816 +4.156 +4.467 +4.807 +4.156 +4.536 +4.807 +5.187 +3.187 +3.207 +4 +4.02 +3.207 +3.267 +4.02 +4.08 +3.267 +3.367 +4.08 +4.18 +3.367 +3.507 +4.18 +4.32 +3.507 +3.687 +4.32 +4.5 +3.687 +3.907 +4.5 +4.72 +3.907 +4.167 +4.72 +4.98 +4.167 +4.467 +4.98 +5.28 +4.467 +4.807 +5.28 +5.62 +4.807 +5.187 +5.62 +6 + + + + + diff --git a/test/tests/mfem/transfers/sibling_transfers/gold/OutputData/MFEMtoMFEMSiblingTransfer_mfem_recv1_ParaViewDataCollection/Run0/Cycle000001/data.pvtu b/test/tests/mfem/transfers/sibling_transfers/gold/OutputData/MFEMtoMFEMSiblingTransfer_mfem_recv1_ParaViewDataCollection/Run0/Cycle000001/data.pvtu new file mode 100644 index 000000000000..31bbee9ce836 --- /dev/null +++ b/test/tests/mfem/transfers/sibling_transfers/gold/OutputData/MFEMtoMFEMSiblingTransfer_mfem_recv1_ParaViewDataCollection/Run0/Cycle000001/data.pvtu @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + + + + + + + + + + diff --git a/test/tests/mfem/transfers/sibling_transfers/gold/OutputData/MFEMtoMFEMSiblingTransfer_mfem_recv1_ParaViewDataCollection/Run0/Cycle000001/proc000000.vtu b/test/tests/mfem/transfers/sibling_transfers/gold/OutputData/MFEMtoMFEMSiblingTransfer_mfem_recv1_ParaViewDataCollection/Run0/Cycle000001/proc000000.vtu new file mode 100644 index 000000000000..93ae0ed0ea25 --- /dev/null +++ b/test/tests/mfem/transfers/sibling_transfers/gold/OutputData/MFEMtoMFEMSiblingTransfer_mfem_recv1_ParaViewDataCollection/Run0/Cycle000001/proc000000.vtu @@ -0,0 +1,2432 @@ + + + + + +0 0 0 +0.1 0 0 +0 0.1 0 +0.1 0.1 0 +0.1 0 0 +0.2 0 0 +0.1 0.1 0 +0.2 0.1 0 +0.2 0 0 +0.3 0 0 +0.2 0.1 0 +0.3 0.1 0 +0.3 0 0 +0.4 0 0 +0.3 0.1 0 +0.4 0.1 0 +0.4 0 0 +0.5 0 0 +0.4 0.1 0 +0.5 0.1 0 +0.5 0 0 +0.6 0 0 +0.5 0.1 0 +0.6 0.1 0 +0.6 0 0 +0.7 0 0 +0.6 0.1 0 +0.7 0.1 0 +0.7 0 0 +0.8 0 0 +0.7 0.1 0 +0.8 0.1 0 +0.8 0 0 +0.9 0 0 +0.8 0.1 0 +0.9 0.1 0 +0.9 0 0 +1 0 0 +0.9 0.1 0 +1 0.1 0 +0 0.1 0 +0.1 0.1 0 +0 0.2 0 +0.1 0.2 0 +0.1 0.1 0 +0.2 0.1 0 +0.1 0.2 0 +0.2 0.2 0 +0.2 0.1 0 +0.3 0.1 0 +0.2 0.2 0 +0.3 0.2 0 +0.3 0.1 0 +0.4 0.1 0 +0.3 0.2 0 +0.4 0.2 0 +0.4 0.1 0 +0.5 0.1 0 +0.4 0.2 0 +0.5 0.2 0 +0.5 0.1 0 +0.6 0.1 0 +0.5 0.2 0 +0.6 0.2 0 +0.6 0.1 0 +0.7 0.1 0 +0.6 0.2 0 +0.7 0.2 0 +0.7 0.1 0 +0.8 0.1 0 +0.7 0.2 0 +0.8 0.2 0 +0.8 0.1 0 +0.9 0.1 0 +0.8 0.2 0 +0.9 0.2 0 +0.9 0.1 0 +1 0.1 0 +0.9 0.2 0 +1 0.2 0 +0 0.2 0 +0.1 0.2 0 +0 0.3 0 +0.1 0.3 0 +0.1 0.2 0 +0.2 0.2 0 +0.1 0.3 0 +0.2 0.3 0 +0.2 0.2 0 +0.3 0.2 0 +0.2 0.3 0 +0.3 0.3 0 +0.3 0.2 0 +0.4 0.2 0 +0.3 0.3 0 +0.4 0.3 0 +0.4 0.2 0 +0.5 0.2 0 +0.4 0.3 0 +0.5 0.3 0 +0.5 0.2 0 +0.6 0.2 0 +0.5 0.3 0 +0.6 0.3 0 +0.6 0.2 0 +0.7 0.2 0 +0.6 0.3 0 +0.7 0.3 0 +0.7 0.2 0 +0.8 0.2 0 +0.7 0.3 0 +0.8 0.3 0 +0.8 0.2 0 +0.9 0.2 0 +0.8 0.3 0 +0.9 0.3 0 +0.9 0.2 0 +1 0.2 0 +0.9 0.3 0 +1 0.3 0 +0 0.3 0 +0.1 0.3 0 +0 0.4 0 +0.1 0.4 0 +0.1 0.3 0 +0.2 0.3 0 +0.1 0.4 0 +0.2 0.4 0 +0.2 0.3 0 +0.3 0.3 0 +0.2 0.4 0 +0.3 0.4 0 +0.3 0.3 0 +0.4 0.3 0 +0.3 0.4 0 +0.4 0.4 0 +0.4 0.3 0 +0.5 0.3 0 +0.4 0.4 0 +0.5 0.4 0 +0.5 0.3 0 +0.6 0.3 0 +0.5 0.4 0 +0.6 0.4 0 +0.6 0.3 0 +0.7 0.3 0 +0.6 0.4 0 +0.7 0.4 0 +0.7 0.3 0 +0.8 0.3 0 +0.7 0.4 0 +0.8 0.4 0 +0.8 0.3 0 +0.9 0.3 0 +0.8 0.4 0 +0.9 0.4 0 +0.9 0.3 0 +1 0.3 0 +0.9 0.4 0 +1 0.4 0 +0 0.4 0 +0.1 0.4 0 +0 0.5 0 +0.1 0.5 0 +0.1 0.4 0 +0.2 0.4 0 +0.1 0.5 0 +0.2 0.5 0 +0.2 0.4 0 +0.3 0.4 0 +0.2 0.5 0 +0.3 0.5 0 +0.3 0.4 0 +0.4 0.4 0 +0.3 0.5 0 +0.4 0.5 0 +0.4 0.4 0 +0.5 0.4 0 +0.4 0.5 0 +0.5 0.5 0 +0.5 0.4 0 +0.6 0.4 0 +0.5 0.5 0 +0.6 0.5 0 +0.6 0.4 0 +0.7 0.4 0 +0.6 0.5 0 +0.7 0.5 0 +0.7 0.4 0 +0.8 0.4 0 +0.7 0.5 0 +0.8 0.5 0 +0.8 0.4 0 +0.9 0.4 0 +0.8 0.5 0 +0.9 0.5 0 +0.9 0.4 0 +1 0.4 0 +0.9 0.5 0 +1 0.5 0 +0 0.5 0 +0.1 0.5 0 +0 0.6 0 +0.1 0.6 0 +0.1 0.5 0 +0.2 0.5 0 +0.1 0.6 0 +0.2 0.6 0 +0.2 0.5 0 +0.3 0.5 0 +0.2 0.6 0 +0.3 0.6 0 +0.3 0.5 0 +0.4 0.5 0 +0.3 0.6 0 +0.4 0.6 0 +0.4 0.5 0 +0.5 0.5 0 +0.4 0.6 0 +0.5 0.6 0 +0.5 0.5 0 +0.6 0.5 0 +0.5 0.6 0 +0.6 0.6 0 +0.6 0.5 0 +0.7 0.5 0 +0.6 0.6 0 +0.7 0.6 0 +0.7 0.5 0 +0.8 0.5 0 +0.7 0.6 0 +0.8 0.6 0 +0.8 0.5 0 +0.9 0.5 0 +0.8 0.6 0 +0.9 0.6 0 +0.9 0.5 0 +1 0.5 0 +0.9 0.6 0 +1 0.6 0 +0 0.6 0 +0.1 0.6 0 +0 0.7 0 +0.1 0.7 0 +0.1 0.6 0 +0.2 0.6 0 +0.1 0.7 0 +0.2 0.7 0 +0.2 0.6 0 +0.3 0.6 0 +0.2 0.7 0 +0.3 0.7 0 +0.3 0.6 0 +0.4 0.6 0 +0.3 0.7 0 +0.4 0.7 0 +0.4 0.6 0 +0.5 0.6 0 +0.4 0.7 0 +0.5 0.7 0 +0.5 0.6 0 +0.6 0.6 0 +0.5 0.7 0 +0.6 0.7 0 +0.6 0.6 0 +0.7 0.6 0 +0.6 0.7 0 +0.7 0.7 0 +0.7 0.6 0 +0.8 0.6 0 +0.7 0.7 0 +0.8 0.7 0 +0.8 0.6 0 +0.9 0.6 0 +0.8 0.7 0 +0.9 0.7 0 +0.9 0.6 0 +1 0.6 0 +0.9 0.7 0 +1 0.7 0 +0 0.7 0 +0.1 0.7 0 +0 0.8 0 +0.1 0.8 0 +0.1 0.7 0 +0.2 0.7 0 +0.1 0.8 0 +0.2 0.8 0 +0.2 0.7 0 +0.3 0.7 0 +0.2 0.8 0 +0.3 0.8 0 +0.3 0.7 0 +0.4 0.7 0 +0.3 0.8 0 +0.4 0.8 0 +0.4 0.7 0 +0.5 0.7 0 +0.4 0.8 0 +0.5 0.8 0 +0.5 0.7 0 +0.6 0.7 0 +0.5 0.8 0 +0.6 0.8 0 +0.6 0.7 0 +0.7 0.7 0 +0.6 0.8 0 +0.7 0.8 0 +0.7 0.7 0 +0.8 0.7 0 +0.7 0.8 0 +0.8 0.8 0 +0.8 0.7 0 +0.9 0.7 0 +0.8 0.8 0 +0.9 0.8 0 +0.9 0.7 0 +1 0.7 0 +0.9 0.8 0 +1 0.8 0 +0 0.8 0 +0.1 0.8 0 +0 0.9 0 +0.1 0.9 0 +0.1 0.8 0 +0.2 0.8 0 +0.1 0.9 0 +0.2 0.9 0 +0.2 0.8 0 +0.3 0.8 0 +0.2 0.9 0 +0.3 0.9 0 +0.3 0.8 0 +0.4 0.8 0 +0.3 0.9 0 +0.4 0.9 0 +0.4 0.8 0 +0.5 0.8 0 +0.4 0.9 0 +0.5 0.9 0 +0.5 0.8 0 +0.6 0.8 0 +0.5 0.9 0 +0.6 0.9 0 +0.6 0.8 0 +0.7 0.8 0 +0.6 0.9 0 +0.7 0.9 0 +0.7 0.8 0 +0.8 0.8 0 +0.7 0.9 0 +0.8 0.9 0 +0.8 0.8 0 +0.9 0.8 0 +0.8 0.9 0 +0.9 0.9 0 +0.9 0.8 0 +1 0.8 0 +0.9 0.9 0 +1 0.9 0 +0 0.9 0 +0.1 0.9 0 +0 1 0 +0.1 1 0 +0.1 0.9 0 +0.2 0.9 0 +0.1 1 0 +0.2 1 0 +0.2 0.9 0 +0.3 0.9 0 +0.2 1 0 +0.3 1 0 +0.3 0.9 0 +0.4 0.9 0 +0.3 1 0 +0.4 1 0 +0.4 0.9 0 +0.5 0.9 0 +0.4 1 0 +0.5 1 0 +0.5 0.9 0 +0.6 0.9 0 +0.5 1 0 +0.6 1 0 +0.6 0.9 0 +0.7 0.9 0 +0.6 1 0 +0.7 1 0 +0.7 0.9 0 +0.8 0.9 0 +0.7 1 0 +0.8 1 0 +0.8 0.9 0 +0.9 0.9 0 +0.8 1 0 +0.9 1 0 +0.9 0.9 0 +1 0.9 0 +0.9 1 0 +1 1 0 + + + + +0 1 3 2 +4 5 7 6 +8 9 11 10 +12 13 15 14 +16 17 19 18 +20 21 23 22 +24 25 27 26 +28 29 31 30 +32 33 35 34 +36 37 39 38 +40 41 43 42 +44 45 47 46 +48 49 51 50 +52 53 55 54 +56 57 59 58 +60 61 63 62 +64 65 67 66 +68 69 71 70 +72 73 75 74 +76 77 79 78 +80 81 83 82 +84 85 87 86 +88 89 91 90 +92 93 95 94 +96 97 99 98 +100 101 103 102 +104 105 107 106 +108 109 111 110 +112 113 115 114 +116 117 119 118 +120 121 123 122 +124 125 127 126 +128 129 131 130 +132 133 135 134 +136 137 139 138 +140 141 143 142 +144 145 147 146 +148 149 151 150 +152 153 155 154 +156 157 159 158 +160 161 163 162 +164 165 167 166 +168 169 171 170 +172 173 175 174 +176 177 179 178 +180 181 183 182 +184 185 187 186 +188 189 191 190 +192 193 195 194 +196 197 199 198 +200 201 203 202 +204 205 207 206 +208 209 211 210 +212 213 215 214 +216 217 219 218 +220 221 223 222 +224 225 227 226 +228 229 231 230 +232 233 235 234 +236 237 239 238 +240 241 243 242 +244 245 247 246 +248 249 251 250 +252 253 255 254 +256 257 259 258 +260 261 263 262 +264 265 267 266 +268 269 271 270 +272 273 275 274 +276 277 279 278 +280 281 283 282 +284 285 287 286 +288 289 291 290 +292 293 295 294 +296 297 299 298 +300 301 303 302 +304 305 307 306 +308 309 311 310 +312 313 315 314 +316 317 319 318 +320 321 323 322 +324 325 327 326 +328 329 331 330 +332 333 335 334 +336 337 339 338 +340 341 343 342 +344 345 347 346 +348 349 351 350 +352 353 355 354 +356 357 359 358 +360 361 363 362 +364 365 367 366 +368 369 371 370 +372 373 375 374 +376 377 379 378 +380 381 383 382 +384 385 387 386 +388 389 391 390 +392 393 395 394 +396 397 399 398 + + +4 +8 +12 +16 +20 +24 +28 +32 +36 +40 +44 +48 +52 +56 +60 +64 +68 +72 +76 +80 +84 +88 +92 +96 +100 +104 +108 +112 +116 +120 +124 +128 +132 +136 +140 +144 +148 +152 +156 +160 +164 +168 +172 +176 +180 +184 +188 +192 +196 +200 +204 +208 +212 +216 +220 +224 +228 +232 +236 +240 +244 +248 +252 +256 +260 +264 +268 +272 +276 +280 +284 +288 +292 +296 +300 +304 +308 +312 +316 +320 +324 +328 +332 +336 +340 +344 +348 +352 +356 +360 +364 +368 +372 +376 +380 +384 +388 +392 +396 +400 + + +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 + + + + +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 + + + + +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 + + +1.212 +1.272 +1.395 +1.455 +1.272 +1.372 +1.455 +1.555 +1.372 +1.512 +1.555 +1.695 +1.512 +1.692 +1.695 +1.875 +1.692 +1.912 +1.875 +2.095 +1.912 +2.172 +2.095 +2.355 +2.172 +2.472 +2.355 +2.655 +2.472 +2.812 +2.655 +2.995 +2.812 +3.192 +2.995 +3.375 +-nan +-nan +-nan +-nan +1.395 +1.455 +1.668 +1.728 +1.455 +1.555 +1.728 +1.828 +1.555 +1.695 +1.828 +1.968 +1.695 +1.875 +1.968 +2.148 +1.875 +2.095 +2.148 +2.368 +2.095 +2.355 +2.368 +2.628 +2.355 +2.655 +2.628 +2.928 +2.655 +2.995 +2.928 +3.268 +2.995 +3.375 +3.268 +3.648 +-nan +-nan +-nan +-nan +1.668 +1.728 +2.049 +2.109 +1.728 +1.828 +2.109 +2.209 +1.828 +1.968 +2.209 +2.349 +1.968 +2.148 +2.349 +2.529 +2.148 +2.368 +2.529 +2.749 +2.368 +2.628 +2.749 +3.009 +2.628 +2.928 +3.009 +3.309 +2.928 +3.268 +3.309 +3.649 +3.268 +3.648 +3.649 +4.029 +-nan +-nan +-nan +-nan +2.049 +2.109 +2.556 +2.616 +2.109 +2.209 +2.616 +2.716 +2.209 +2.349 +2.716 +2.856 +2.349 +2.529 +2.856 +3.036 +2.529 +2.749 +3.036 +3.256 +2.749 +3.009 +3.256 +3.516 +3.009 +3.309 +3.516 +3.816 +3.309 +3.649 +3.816 +4.156 +3.649 +4.029 +4.156 +4.536 +-nan +-nan +-nan +-nan +2.556 +2.616 +3.207 +3.267 +2.616 +2.716 +3.267 +3.367 +2.716 +2.856 +3.367 +3.507 +2.856 +3.036 +3.507 +3.687 +3.036 +3.256 +3.687 +3.907 +3.256 +3.516 +3.907 +4.167 +3.516 +3.816 +4.167 +4.467 +3.816 +4.156 +4.467 +4.807 +4.156 +4.536 +4.807 +5.187 +-nan +-nan +-nan +-nan +3.207 +3.267 +4.02 +4.08 +3.267 +3.367 +4.08 +4.18 +3.367 +3.507 +4.18 +4.32 +3.507 +3.687 +4.32 +4.5 +3.687 +3.907 +4.5 +4.72 +3.907 +4.167 +4.72 +4.98 +4.167 +4.467 +4.98 +5.28 +4.467 +4.807 +5.28 +5.62 +4.807 +5.187 +5.62 +6 +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan + + +2.005375 +2.005375 +2.005375 +2.005375 +2.045375 +2.045375 +2.045375 +2.045375 +2.125375 +2.125375 +2.125375 +2.125375 +2.245375 +2.245375 +2.245375 +2.245375 +2.405375 +2.405375 +2.405375 +2.405375 +2.605375 +2.605375 +2.605375 +2.605375 +2.845375 +2.845375 +2.845375 +2.845375 +3.125375 +3.125375 +3.125375 +3.125375 +3.445375 +3.445375 +3.445375 +3.445375 +3.805375 +3.805375 +3.805375 +3.805375 +2.015125 +2.015125 +2.015125 +2.015125 +2.055125 +2.055125 +2.055125 +2.055125 +2.135125 +2.135125 +2.135125 +2.135125 +2.255125 +2.255125 +2.255125 +2.255125 +2.415125 +2.415125 +2.415125 +2.415125 +2.615125 +2.615125 +2.615125 +2.615125 +2.855125 +2.855125 +2.855125 +2.855125 +3.135125 +3.135125 +3.135125 +3.135125 +3.455125 +3.455125 +3.455125 +3.455125 +3.815125 +3.815125 +3.815125 +3.815125 +2.051875 +2.051875 +2.051875 +2.051875 +2.091875 +2.091875 +2.091875 +2.091875 +2.171875 +2.171875 +2.171875 +2.171875 +2.291875 +2.291875 +2.291875 +2.291875 +2.451875 +2.451875 +2.451875 +2.451875 +2.651875 +2.651875 +2.651875 +2.651875 +2.891875 +2.891875 +2.891875 +2.891875 +3.171875 +3.171875 +3.171875 +3.171875 +3.491875 +3.491875 +3.491875 +3.491875 +3.851875 +3.851875 +3.851875 +3.851875 +2.133625 +2.133625 +2.133625 +2.133625 +2.173625 +2.173625 +2.173625 +2.173625 +2.253625 +2.253625 +2.253625 +2.253625 +2.373625 +2.373625 +2.373625 +2.373625 +2.533625 +2.533625 +2.533625 +2.533625 +2.733625 +2.733625 +2.733625 +2.733625 +2.973625 +2.973625 +2.973625 +2.973625 +3.253625 +3.253625 +3.253625 +3.253625 +3.573625 +3.573625 +3.573625 +3.573625 +3.933625 +3.933625 +3.933625 +3.933625 +2.278375 +2.278375 +2.278375 +2.278375 +2.318375 +2.318375 +2.318375 +2.318375 +2.398375 +2.398375 +2.398375 +2.398375 +2.518375 +2.518375 +2.518375 +2.518375 +2.678375 +2.678375 +2.678375 +2.678375 +2.878375 +2.878375 +2.878375 +2.878375 +3.118375 +3.118375 +3.118375 +3.118375 +3.398375 +3.398375 +3.398375 +3.398375 +3.718375 +3.718375 +3.718375 +3.718375 +4.078375 +4.078375 +4.078375 +4.078375 +2.504125 +2.504125 +2.504125 +2.504125 +2.544125 +2.544125 +2.544125 +2.544125 +2.624125 +2.624125 +2.624125 +2.624125 +2.744125 +2.744125 +2.744125 +2.744125 +2.904125 +2.904125 +2.904125 +2.904125 +3.104125 +3.104125 +3.104125 +3.104125 +3.344125 +3.344125 +3.344125 +3.344125 +3.624125 +3.624125 +3.624125 +3.624125 +3.944125 +3.944125 +3.944125 +3.944125 +4.304125 +4.304125 +4.304125 +4.304125 +2.828875 +2.828875 +2.828875 +2.828875 +2.868875 +2.868875 +2.868875 +2.868875 +2.948875 +2.948875 +2.948875 +2.948875 +3.068875 +3.068875 +3.068875 +3.068875 +3.228875 +3.228875 +3.228875 +3.228875 +3.428875 +3.428875 +3.428875 +3.428875 +3.668875 +3.668875 +3.668875 +3.668875 +3.948875 +3.948875 +3.948875 +3.948875 +4.268875 +4.268875 +4.268875 +4.268875 +4.628875 +4.628875 +4.628875 +4.628875 +3.270625 +3.270625 +3.270625 +3.270625 +3.310625 +3.310625 +3.310625 +3.310625 +3.390625 +3.390625 +3.390625 +3.390625 +3.510625 +3.510625 +3.510625 +3.510625 +3.670625 +3.670625 +3.670625 +3.670625 +3.870625 +3.870625 +3.870625 +3.870625 +4.110625 +4.110625 +4.110625 +4.110625 +4.390625 +4.390625 +4.390625 +4.390625 +4.710625 +4.710625 +4.710625 +4.710625 +5.070625 +5.070625 +5.070625 +5.070625 +3.847375 +3.847375 +3.847375 +3.847375 +3.887375 +3.887375 +3.887375 +3.887375 +3.967375 +3.967375 +3.967375 +3.967375 +4.087375 +4.087375 +4.087375 +4.087375 +4.247375 +4.247375 +4.247375 +4.247375 +4.447375 +4.447375 +4.447375 +4.447375 +4.687375 +4.687375 +4.687375 +4.687375 +4.967375 +4.967375 +4.967375 +4.967375 +5.287375 +5.287375 +5.287375 +5.287375 +5.647375 +5.647375 +5.647375 +5.647375 +4.577125 +4.577125 +4.577125 +4.577125 +4.617125 +4.617125 +4.617125 +4.617125 +4.697125 +4.697125 +4.697125 +4.697125 +4.817125 +4.817125 +4.817125 +4.817125 +4.977125 +4.977125 +4.977125 +4.977125 +5.177125 +5.177125 +5.177125 +5.177125 +5.417125 +5.417125 +5.417125 +5.417125 +5.697125 +5.697125 +5.697125 +5.697125 +6.017125 +6.017125 +6.017125 +6.017125 +6.377125 +6.377125 +6.377125 +6.377125 + + +1 +1.02 +1.003 +1.023 +1.02 +1.08 +1.023 +1.083 +1.08 +1.18 +1.083 +1.183 +1.18 +1.32 +1.183 +1.323 +1.32 +1.5 +1.323 +1.503 +1.5 +1.72 +1.503 +1.723 +1.72 +1.98 +1.723 +1.983 +1.98 +2.28 +1.983 +2.283 +2.28 +2.62 +2.283 +2.623 +2.62 +3 +2.623 +3.003 +1.003 +1.023 +1.024 +1.044 +1.023 +1.083 +1.044 +1.104 +1.083 +1.183 +1.104 +1.204 +1.183 +1.323 +1.204 +1.344 +1.323 +1.503 +1.344 +1.524 +1.503 +1.723 +1.524 +1.744 +1.723 +1.983 +1.744 +2.004 +1.983 +2.283 +2.004 +2.304 +2.283 +2.623 +2.304 +2.644 +2.623 +3.003 +2.644 +3.024 +1.024 +1.044 +1.081 +1.101 +1.044 +1.104 +1.101 +1.161 +1.104 +1.204 +1.161 +1.261 +1.204 +1.344 +1.261 +1.401 +1.344 +1.524 +1.401 +1.581 +1.524 +1.744 +1.581 +1.801 +1.744 +2.004 +1.801 +2.061 +2.004 +2.304 +2.061 +2.361 +2.304 +2.644 +2.361 +2.701 +2.644 +3.024 +2.701 +3.081 +1.081 +1.101 +1.192 +1.212 +1.101 +1.161 +1.212 +1.272 +1.161 +1.261 +1.272 +1.372 +1.261 +1.401 +1.372 +1.512 +1.401 +1.581 +1.512 +1.692 +1.581 +1.801 +1.692 +1.912 +1.801 +2.061 +1.912 +2.172 +2.061 +2.361 +2.172 +2.472 +2.361 +2.701 +2.472 +2.812 +2.701 +3.081 +2.812 +3.192 +1.192 +1.212 +1.375 +1.395 +1.212 +1.272 +1.395 +1.455 +1.272 +1.372 +1.455 +1.555 +1.372 +1.512 +1.555 +1.695 +1.512 +1.692 +1.695 +1.875 +1.692 +1.912 +1.875 +2.095 +1.912 +2.172 +2.095 +2.355 +2.172 +2.472 +2.355 +2.655 +2.472 +2.812 +2.655 +2.995 +2.812 +3.192 +2.995 +3.375 +1.375 +1.395 +1.648 +1.668 +1.395 +1.455 +1.668 +1.728 +1.455 +1.555 +1.728 +1.828 +1.555 +1.695 +1.828 +1.968 +1.695 +1.875 +1.968 +2.148 +1.875 +2.095 +2.148 +2.368 +2.095 +2.355 +2.368 +2.628 +2.355 +2.655 +2.628 +2.928 +2.655 +2.995 +2.928 +3.268 +2.995 +3.375 +3.268 +3.648 +1.648 +1.668 +2.029 +2.049 +1.668 +1.728 +2.049 +2.109 +1.728 +1.828 +2.109 +2.209 +1.828 +1.968 +2.209 +2.349 +1.968 +2.148 +2.349 +2.529 +2.148 +2.368 +2.529 +2.749 +2.368 +2.628 +2.749 +3.009 +2.628 +2.928 +3.009 +3.309 +2.928 +3.268 +3.309 +3.649 +3.268 +3.648 +3.649 +4.029 +2.029 +2.049 +2.536 +2.556 +2.049 +2.109 +2.556 +2.616 +2.109 +2.209 +2.616 +2.716 +2.209 +2.349 +2.716 +2.856 +2.349 +2.529 +2.856 +3.036 +2.529 +2.749 +3.036 +3.256 +2.749 +3.009 +3.256 +3.516 +3.009 +3.309 +3.516 +3.816 +3.309 +3.649 +3.816 +4.156 +3.649 +4.029 +4.156 +4.536 +2.536 +2.556 +3.187 +3.207 +2.556 +2.616 +3.207 +3.267 +2.616 +2.716 +3.267 +3.367 +2.716 +2.856 +3.367 +3.507 +2.856 +3.036 +3.507 +3.687 +3.036 +3.256 +3.687 +3.907 +3.256 +3.516 +3.907 +4.167 +3.516 +3.816 +4.167 +4.467 +3.816 +4.156 +4.467 +4.807 +4.156 +4.536 +4.807 +5.187 +3.187 +3.207 +4 +4.02 +3.207 +3.267 +4.02 +4.08 +3.267 +3.367 +4.08 +4.18 +3.367 +3.507 +4.18 +4.32 +3.507 +3.687 +4.32 +4.5 +3.687 +3.907 +4.5 +4.72 +3.907 +4.167 +4.72 +4.98 +4.167 +4.467 +4.98 +5.28 +4.467 +4.807 +5.28 +5.62 +4.807 +5.187 +5.62 +6 + + + + + diff --git a/test/tests/mfem/transfers/sibling_transfers/gold/OutputData/MFEMtoMFEMSiblingTransfer_mfem_recv1_ParaViewDataCollection/Run0/Run0.pvd b/test/tests/mfem/transfers/sibling_transfers/gold/OutputData/MFEMtoMFEMSiblingTransfer_mfem_recv1_ParaViewDataCollection/Run0/Run0.pvd new file mode 100644 index 000000000000..72ed1b22e1dd --- /dev/null +++ b/test/tests/mfem/transfers/sibling_transfers/gold/OutputData/MFEMtoMFEMSiblingTransfer_mfem_recv1_ParaViewDataCollection/Run0/Run0.pvd @@ -0,0 +1,7 @@ + + + + + + + diff --git a/test/tests/mfem/transfers/sibling_transfers/gold/OutputData/MFEMtoMFEMSiblingTransfer_mfem_recv2_ParaViewDataCollection/Run0/Cycle000000/data.pvtu b/test/tests/mfem/transfers/sibling_transfers/gold/OutputData/MFEMtoMFEMSiblingTransfer_mfem_recv2_ParaViewDataCollection/Run0/Cycle000000/data.pvtu new file mode 100644 index 000000000000..31bbee9ce836 --- /dev/null +++ b/test/tests/mfem/transfers/sibling_transfers/gold/OutputData/MFEMtoMFEMSiblingTransfer_mfem_recv2_ParaViewDataCollection/Run0/Cycle000000/data.pvtu @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + + + + + + + + + + diff --git a/test/tests/mfem/transfers/sibling_transfers/gold/OutputData/MFEMtoMFEMSiblingTransfer_mfem_recv2_ParaViewDataCollection/Run0/Cycle000000/proc000000.vtu b/test/tests/mfem/transfers/sibling_transfers/gold/OutputData/MFEMtoMFEMSiblingTransfer_mfem_recv2_ParaViewDataCollection/Run0/Cycle000000/proc000000.vtu new file mode 100644 index 000000000000..c742f7aa88cd --- /dev/null +++ b/test/tests/mfem/transfers/sibling_transfers/gold/OutputData/MFEMtoMFEMSiblingTransfer_mfem_recv2_ParaViewDataCollection/Run0/Cycle000000/proc000000.vtu @@ -0,0 +1,2432 @@ + + + + + +0 0 0 +0.1 0 0 +0 0.1 0 +0.1 0.1 0 +0.1 0 0 +0.2 0 0 +0.1 0.1 0 +0.2 0.1 0 +0.2 0 0 +0.3 0 0 +0.2 0.1 0 +0.3 0.1 0 +0.3 0 0 +0.4 0 0 +0.3 0.1 0 +0.4 0.1 0 +0.4 0 0 +0.5 0 0 +0.4 0.1 0 +0.5 0.1 0 +0.5 0 0 +0.6 0 0 +0.5 0.1 0 +0.6 0.1 0 +0.6 0 0 +0.7 0 0 +0.6 0.1 0 +0.7 0.1 0 +0.7 0 0 +0.8 0 0 +0.7 0.1 0 +0.8 0.1 0 +0.8 0 0 +0.9 0 0 +0.8 0.1 0 +0.9 0.1 0 +0.9 0 0 +1 0 0 +0.9 0.1 0 +1 0.1 0 +0 0.1 0 +0.1 0.1 0 +0 0.2 0 +0.1 0.2 0 +0.1 0.1 0 +0.2 0.1 0 +0.1 0.2 0 +0.2 0.2 0 +0.2 0.1 0 +0.3 0.1 0 +0.2 0.2 0 +0.3 0.2 0 +0.3 0.1 0 +0.4 0.1 0 +0.3 0.2 0 +0.4 0.2 0 +0.4 0.1 0 +0.5 0.1 0 +0.4 0.2 0 +0.5 0.2 0 +0.5 0.1 0 +0.6 0.1 0 +0.5 0.2 0 +0.6 0.2 0 +0.6 0.1 0 +0.7 0.1 0 +0.6 0.2 0 +0.7 0.2 0 +0.7 0.1 0 +0.8 0.1 0 +0.7 0.2 0 +0.8 0.2 0 +0.8 0.1 0 +0.9 0.1 0 +0.8 0.2 0 +0.9 0.2 0 +0.9 0.1 0 +1 0.1 0 +0.9 0.2 0 +1 0.2 0 +0 0.2 0 +0.1 0.2 0 +0 0.3 0 +0.1 0.3 0 +0.1 0.2 0 +0.2 0.2 0 +0.1 0.3 0 +0.2 0.3 0 +0.2 0.2 0 +0.3 0.2 0 +0.2 0.3 0 +0.3 0.3 0 +0.3 0.2 0 +0.4 0.2 0 +0.3 0.3 0 +0.4 0.3 0 +0.4 0.2 0 +0.5 0.2 0 +0.4 0.3 0 +0.5 0.3 0 +0.5 0.2 0 +0.6 0.2 0 +0.5 0.3 0 +0.6 0.3 0 +0.6 0.2 0 +0.7 0.2 0 +0.6 0.3 0 +0.7 0.3 0 +0.7 0.2 0 +0.8 0.2 0 +0.7 0.3 0 +0.8 0.3 0 +0.8 0.2 0 +0.9 0.2 0 +0.8 0.3 0 +0.9 0.3 0 +0.9 0.2 0 +1 0.2 0 +0.9 0.3 0 +1 0.3 0 +0 0.3 0 +0.1 0.3 0 +0 0.4 0 +0.1 0.4 0 +0.1 0.3 0 +0.2 0.3 0 +0.1 0.4 0 +0.2 0.4 0 +0.2 0.3 0 +0.3 0.3 0 +0.2 0.4 0 +0.3 0.4 0 +0.3 0.3 0 +0.4 0.3 0 +0.3 0.4 0 +0.4 0.4 0 +0.4 0.3 0 +0.5 0.3 0 +0.4 0.4 0 +0.5 0.4 0 +0.5 0.3 0 +0.6 0.3 0 +0.5 0.4 0 +0.6 0.4 0 +0.6 0.3 0 +0.7 0.3 0 +0.6 0.4 0 +0.7 0.4 0 +0.7 0.3 0 +0.8 0.3 0 +0.7 0.4 0 +0.8 0.4 0 +0.8 0.3 0 +0.9 0.3 0 +0.8 0.4 0 +0.9 0.4 0 +0.9 0.3 0 +1 0.3 0 +0.9 0.4 0 +1 0.4 0 +0 0.4 0 +0.1 0.4 0 +0 0.5 0 +0.1 0.5 0 +0.1 0.4 0 +0.2 0.4 0 +0.1 0.5 0 +0.2 0.5 0 +0.2 0.4 0 +0.3 0.4 0 +0.2 0.5 0 +0.3 0.5 0 +0.3 0.4 0 +0.4 0.4 0 +0.3 0.5 0 +0.4 0.5 0 +0.4 0.4 0 +0.5 0.4 0 +0.4 0.5 0 +0.5 0.5 0 +0.5 0.4 0 +0.6 0.4 0 +0.5 0.5 0 +0.6 0.5 0 +0.6 0.4 0 +0.7 0.4 0 +0.6 0.5 0 +0.7 0.5 0 +0.7 0.4 0 +0.8 0.4 0 +0.7 0.5 0 +0.8 0.5 0 +0.8 0.4 0 +0.9 0.4 0 +0.8 0.5 0 +0.9 0.5 0 +0.9 0.4 0 +1 0.4 0 +0.9 0.5 0 +1 0.5 0 +0 0.5 0 +0.1 0.5 0 +0 0.6 0 +0.1 0.6 0 +0.1 0.5 0 +0.2 0.5 0 +0.1 0.6 0 +0.2 0.6 0 +0.2 0.5 0 +0.3 0.5 0 +0.2 0.6 0 +0.3 0.6 0 +0.3 0.5 0 +0.4 0.5 0 +0.3 0.6 0 +0.4 0.6 0 +0.4 0.5 0 +0.5 0.5 0 +0.4 0.6 0 +0.5 0.6 0 +0.5 0.5 0 +0.6 0.5 0 +0.5 0.6 0 +0.6 0.6 0 +0.6 0.5 0 +0.7 0.5 0 +0.6 0.6 0 +0.7 0.6 0 +0.7 0.5 0 +0.8 0.5 0 +0.7 0.6 0 +0.8 0.6 0 +0.8 0.5 0 +0.9 0.5 0 +0.8 0.6 0 +0.9 0.6 0 +0.9 0.5 0 +1 0.5 0 +0.9 0.6 0 +1 0.6 0 +0 0.6 0 +0.1 0.6 0 +0 0.7 0 +0.1 0.7 0 +0.1 0.6 0 +0.2 0.6 0 +0.1 0.7 0 +0.2 0.7 0 +0.2 0.6 0 +0.3 0.6 0 +0.2 0.7 0 +0.3 0.7 0 +0.3 0.6 0 +0.4 0.6 0 +0.3 0.7 0 +0.4 0.7 0 +0.4 0.6 0 +0.5 0.6 0 +0.4 0.7 0 +0.5 0.7 0 +0.5 0.6 0 +0.6 0.6 0 +0.5 0.7 0 +0.6 0.7 0 +0.6 0.6 0 +0.7 0.6 0 +0.6 0.7 0 +0.7 0.7 0 +0.7 0.6 0 +0.8 0.6 0 +0.7 0.7 0 +0.8 0.7 0 +0.8 0.6 0 +0.9 0.6 0 +0.8 0.7 0 +0.9 0.7 0 +0.9 0.6 0 +1 0.6 0 +0.9 0.7 0 +1 0.7 0 +0 0.7 0 +0.1 0.7 0 +0 0.8 0 +0.1 0.8 0 +0.1 0.7 0 +0.2 0.7 0 +0.1 0.8 0 +0.2 0.8 0 +0.2 0.7 0 +0.3 0.7 0 +0.2 0.8 0 +0.3 0.8 0 +0.3 0.7 0 +0.4 0.7 0 +0.3 0.8 0 +0.4 0.8 0 +0.4 0.7 0 +0.5 0.7 0 +0.4 0.8 0 +0.5 0.8 0 +0.5 0.7 0 +0.6 0.7 0 +0.5 0.8 0 +0.6 0.8 0 +0.6 0.7 0 +0.7 0.7 0 +0.6 0.8 0 +0.7 0.8 0 +0.7 0.7 0 +0.8 0.7 0 +0.7 0.8 0 +0.8 0.8 0 +0.8 0.7 0 +0.9 0.7 0 +0.8 0.8 0 +0.9 0.8 0 +0.9 0.7 0 +1 0.7 0 +0.9 0.8 0 +1 0.8 0 +0 0.8 0 +0.1 0.8 0 +0 0.9 0 +0.1 0.9 0 +0.1 0.8 0 +0.2 0.8 0 +0.1 0.9 0 +0.2 0.9 0 +0.2 0.8 0 +0.3 0.8 0 +0.2 0.9 0 +0.3 0.9 0 +0.3 0.8 0 +0.4 0.8 0 +0.3 0.9 0 +0.4 0.9 0 +0.4 0.8 0 +0.5 0.8 0 +0.4 0.9 0 +0.5 0.9 0 +0.5 0.8 0 +0.6 0.8 0 +0.5 0.9 0 +0.6 0.9 0 +0.6 0.8 0 +0.7 0.8 0 +0.6 0.9 0 +0.7 0.9 0 +0.7 0.8 0 +0.8 0.8 0 +0.7 0.9 0 +0.8 0.9 0 +0.8 0.8 0 +0.9 0.8 0 +0.8 0.9 0 +0.9 0.9 0 +0.9 0.8 0 +1 0.8 0 +0.9 0.9 0 +1 0.9 0 +0 0.9 0 +0.1 0.9 0 +0 1 0 +0.1 1 0 +0.1 0.9 0 +0.2 0.9 0 +0.1 1 0 +0.2 1 0 +0.2 0.9 0 +0.3 0.9 0 +0.2 1 0 +0.3 1 0 +0.3 0.9 0 +0.4 0.9 0 +0.3 1 0 +0.4 1 0 +0.4 0.9 0 +0.5 0.9 0 +0.4 1 0 +0.5 1 0 +0.5 0.9 0 +0.6 0.9 0 +0.5 1 0 +0.6 1 0 +0.6 0.9 0 +0.7 0.9 0 +0.6 1 0 +0.7 1 0 +0.7 0.9 0 +0.8 0.9 0 +0.7 1 0 +0.8 1 0 +0.8 0.9 0 +0.9 0.9 0 +0.8 1 0 +0.9 1 0 +0.9 0.9 0 +1 0.9 0 +0.9 1 0 +1 1 0 + + + + +0 1 3 2 +4 5 7 6 +8 9 11 10 +12 13 15 14 +16 17 19 18 +20 21 23 22 +24 25 27 26 +28 29 31 30 +32 33 35 34 +36 37 39 38 +40 41 43 42 +44 45 47 46 +48 49 51 50 +52 53 55 54 +56 57 59 58 +60 61 63 62 +64 65 67 66 +68 69 71 70 +72 73 75 74 +76 77 79 78 +80 81 83 82 +84 85 87 86 +88 89 91 90 +92 93 95 94 +96 97 99 98 +100 101 103 102 +104 105 107 106 +108 109 111 110 +112 113 115 114 +116 117 119 118 +120 121 123 122 +124 125 127 126 +128 129 131 130 +132 133 135 134 +136 137 139 138 +140 141 143 142 +144 145 147 146 +148 149 151 150 +152 153 155 154 +156 157 159 158 +160 161 163 162 +164 165 167 166 +168 169 171 170 +172 173 175 174 +176 177 179 178 +180 181 183 182 +184 185 187 186 +188 189 191 190 +192 193 195 194 +196 197 199 198 +200 201 203 202 +204 205 207 206 +208 209 211 210 +212 213 215 214 +216 217 219 218 +220 221 223 222 +224 225 227 226 +228 229 231 230 +232 233 235 234 +236 237 239 238 +240 241 243 242 +244 245 247 246 +248 249 251 250 +252 253 255 254 +256 257 259 258 +260 261 263 262 +264 265 267 266 +268 269 271 270 +272 273 275 274 +276 277 279 278 +280 281 283 282 +284 285 287 286 +288 289 291 290 +292 293 295 294 +296 297 299 298 +300 301 303 302 +304 305 307 306 +308 309 311 310 +312 313 315 314 +316 317 319 318 +320 321 323 322 +324 325 327 326 +328 329 331 330 +332 333 335 334 +336 337 339 338 +340 341 343 342 +344 345 347 346 +348 349 351 350 +352 353 355 354 +356 357 359 358 +360 361 363 362 +364 365 367 366 +368 369 371 370 +372 373 375 374 +376 377 379 378 +380 381 383 382 +384 385 387 386 +388 389 391 390 +392 393 395 394 +396 397 399 398 + + +4 +8 +12 +16 +20 +24 +28 +32 +36 +40 +44 +48 +52 +56 +60 +64 +68 +72 +76 +80 +84 +88 +92 +96 +100 +104 +108 +112 +116 +120 +124 +128 +132 +136 +140 +144 +148 +152 +156 +160 +164 +168 +172 +176 +180 +184 +188 +192 +196 +200 +204 +208 +212 +216 +220 +224 +228 +232 +236 +240 +244 +248 +252 +256 +260 +264 +268 +272 +276 +280 +284 +288 +292 +296 +300 +304 +308 +312 +316 +320 +324 +328 +332 +336 +340 +344 +348 +352 +356 +360 +364 +368 +372 +376 +380 +384 +388 +392 +396 +400 + + +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 + + + + +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 + + + + +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 + + +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 + + +2.005375 +2.005375 +2.005375 +2.005375 +2.045375 +2.045375 +2.045375 +2.045375 +2.125375 +2.125375 +2.125375 +2.125375 +2.245375 +2.245375 +2.245375 +2.245375 +2.405375 +2.405375 +2.405375 +2.405375 +2.605375 +2.605375 +2.605375 +2.605375 +2.845375 +2.845375 +2.845375 +2.845375 +3.125375 +3.125375 +3.125375 +3.125375 +3.445375 +3.445375 +3.445375 +3.445375 +3.805375 +3.805375 +3.805375 +3.805375 +2.015125 +2.015125 +2.015125 +2.015125 +2.055125 +2.055125 +2.055125 +2.055125 +2.135125 +2.135125 +2.135125 +2.135125 +2.255125 +2.255125 +2.255125 +2.255125 +2.415125 +2.415125 +2.415125 +2.415125 +2.615125 +2.615125 +2.615125 +2.615125 +2.855125 +2.855125 +2.855125 +2.855125 +3.135125 +3.135125 +3.135125 +3.135125 +3.455125 +3.455125 +3.455125 +3.455125 +3.815125 +3.815125 +3.815125 +3.815125 +2.051875 +2.051875 +2.051875 +2.051875 +2.091875 +2.091875 +2.091875 +2.091875 +2.171875 +2.171875 +2.171875 +2.171875 +2.291875 +2.291875 +2.291875 +2.291875 +2.451875 +2.451875 +2.451875 +2.451875 +2.651875 +2.651875 +2.651875 +2.651875 +2.891875 +2.891875 +2.891875 +2.891875 +3.171875 +3.171875 +3.171875 +3.171875 +3.491875 +3.491875 +3.491875 +3.491875 +3.851875 +3.851875 +3.851875 +3.851875 +2.133625 +2.133625 +2.133625 +2.133625 +2.173625 +2.173625 +2.173625 +2.173625 +2.253625 +2.253625 +2.253625 +2.253625 +2.373625 +2.373625 +2.373625 +2.373625 +2.533625 +2.533625 +2.533625 +2.533625 +2.733625 +2.733625 +2.733625 +2.733625 +2.973625 +2.973625 +2.973625 +2.973625 +3.253625 +3.253625 +3.253625 +3.253625 +3.573625 +3.573625 +3.573625 +3.573625 +3.933625 +3.933625 +3.933625 +3.933625 +2.278375 +2.278375 +2.278375 +2.278375 +2.318375 +2.318375 +2.318375 +2.318375 +2.398375 +2.398375 +2.398375 +2.398375 +2.518375 +2.518375 +2.518375 +2.518375 +2.678375 +2.678375 +2.678375 +2.678375 +2.878375 +2.878375 +2.878375 +2.878375 +3.118375 +3.118375 +3.118375 +3.118375 +3.398375 +3.398375 +3.398375 +3.398375 +3.718375 +3.718375 +3.718375 +3.718375 +4.078375 +4.078375 +4.078375 +4.078375 +2.504125 +2.504125 +2.504125 +2.504125 +2.544125 +2.544125 +2.544125 +2.544125 +2.624125 +2.624125 +2.624125 +2.624125 +2.744125 +2.744125 +2.744125 +2.744125 +2.904125 +2.904125 +2.904125 +2.904125 +3.104125 +3.104125 +3.104125 +3.104125 +3.344125 +3.344125 +3.344125 +3.344125 +3.624125 +3.624125 +3.624125 +3.624125 +3.944125 +3.944125 +3.944125 +3.944125 +4.304125 +4.304125 +4.304125 +4.304125 +2.828875 +2.828875 +2.828875 +2.828875 +2.868875 +2.868875 +2.868875 +2.868875 +2.948875 +2.948875 +2.948875 +2.948875 +3.068875 +3.068875 +3.068875 +3.068875 +3.228875 +3.228875 +3.228875 +3.228875 +3.428875 +3.428875 +3.428875 +3.428875 +3.668875 +3.668875 +3.668875 +3.668875 +3.948875 +3.948875 +3.948875 +3.948875 +4.268875 +4.268875 +4.268875 +4.268875 +4.628875 +4.628875 +4.628875 +4.628875 +3.270625 +3.270625 +3.270625 +3.270625 +3.310625 +3.310625 +3.310625 +3.310625 +3.390625 +3.390625 +3.390625 +3.390625 +3.510625 +3.510625 +3.510625 +3.510625 +3.670625 +3.670625 +3.670625 +3.670625 +3.870625 +3.870625 +3.870625 +3.870625 +4.110625 +4.110625 +4.110625 +4.110625 +4.390625 +4.390625 +4.390625 +4.390625 +4.710625 +4.710625 +4.710625 +4.710625 +5.070625 +5.070625 +5.070625 +5.070625 +3.847375 +3.847375 +3.847375 +3.847375 +3.887375 +3.887375 +3.887375 +3.887375 +3.967375 +3.967375 +3.967375 +3.967375 +4.087375 +4.087375 +4.087375 +4.087375 +4.247375 +4.247375 +4.247375 +4.247375 +4.447375 +4.447375 +4.447375 +4.447375 +4.687375 +4.687375 +4.687375 +4.687375 +4.967375 +4.967375 +4.967375 +4.967375 +5.287375 +5.287375 +5.287375 +5.287375 +5.647375 +5.647375 +5.647375 +5.647375 +4.577125 +4.577125 +4.577125 +4.577125 +4.617125 +4.617125 +4.617125 +4.617125 +4.697125 +4.697125 +4.697125 +4.697125 +4.817125 +4.817125 +4.817125 +4.817125 +4.977125 +4.977125 +4.977125 +4.977125 +5.177125 +5.177125 +5.177125 +5.177125 +5.417125 +5.417125 +5.417125 +5.417125 +5.697125 +5.697125 +5.697125 +5.697125 +6.017125 +6.017125 +6.017125 +6.017125 +6.377125 +6.377125 +6.377125 +6.377125 + + +1 +1.02 +1.003 +1.023 +1.02 +1.08 +1.023 +1.083 +1.08 +1.18 +1.083 +1.183 +1.18 +1.32 +1.183 +1.323 +1.32 +1.5 +1.323 +1.503 +1.5 +1.72 +1.503 +1.723 +1.72 +1.98 +1.723 +1.983 +1.98 +2.28 +1.983 +2.283 +2.28 +2.62 +2.283 +2.623 +2.62 +3 +2.623 +3.003 +1.003 +1.023 +1.024 +1.044 +1.023 +1.083 +1.044 +1.104 +1.083 +1.183 +1.104 +1.204 +1.183 +1.323 +1.204 +1.344 +1.323 +1.503 +1.344 +1.524 +1.503 +1.723 +1.524 +1.744 +1.723 +1.983 +1.744 +2.004 +1.983 +2.283 +2.004 +2.304 +2.283 +2.623 +2.304 +2.644 +2.623 +3.003 +2.644 +3.024 +1.024 +1.044 +1.081 +1.101 +1.044 +1.104 +1.101 +1.161 +1.104 +1.204 +1.161 +1.261 +1.204 +1.344 +1.261 +1.401 +1.344 +1.524 +1.401 +1.581 +1.524 +1.744 +1.581 +1.801 +1.744 +2.004 +1.801 +2.061 +2.004 +2.304 +2.061 +2.361 +2.304 +2.644 +2.361 +2.701 +2.644 +3.024 +2.701 +3.081 +1.081 +1.101 +1.192 +1.212 +1.101 +1.161 +1.212 +1.272 +1.161 +1.261 +1.272 +1.372 +1.261 +1.401 +1.372 +1.512 +1.401 +1.581 +1.512 +1.692 +1.581 +1.801 +1.692 +1.912 +1.801 +2.061 +1.912 +2.172 +2.061 +2.361 +2.172 +2.472 +2.361 +2.701 +2.472 +2.812 +2.701 +3.081 +2.812 +3.192 +1.192 +1.212 +1.375 +1.395 +1.212 +1.272 +1.395 +1.455 +1.272 +1.372 +1.455 +1.555 +1.372 +1.512 +1.555 +1.695 +1.512 +1.692 +1.695 +1.875 +1.692 +1.912 +1.875 +2.095 +1.912 +2.172 +2.095 +2.355 +2.172 +2.472 +2.355 +2.655 +2.472 +2.812 +2.655 +2.995 +2.812 +3.192 +2.995 +3.375 +1.375 +1.395 +1.648 +1.668 +1.395 +1.455 +1.668 +1.728 +1.455 +1.555 +1.728 +1.828 +1.555 +1.695 +1.828 +1.968 +1.695 +1.875 +1.968 +2.148 +1.875 +2.095 +2.148 +2.368 +2.095 +2.355 +2.368 +2.628 +2.355 +2.655 +2.628 +2.928 +2.655 +2.995 +2.928 +3.268 +2.995 +3.375 +3.268 +3.648 +1.648 +1.668 +2.029 +2.049 +1.668 +1.728 +2.049 +2.109 +1.728 +1.828 +2.109 +2.209 +1.828 +1.968 +2.209 +2.349 +1.968 +2.148 +2.349 +2.529 +2.148 +2.368 +2.529 +2.749 +2.368 +2.628 +2.749 +3.009 +2.628 +2.928 +3.009 +3.309 +2.928 +3.268 +3.309 +3.649 +3.268 +3.648 +3.649 +4.029 +2.029 +2.049 +2.536 +2.556 +2.049 +2.109 +2.556 +2.616 +2.109 +2.209 +2.616 +2.716 +2.209 +2.349 +2.716 +2.856 +2.349 +2.529 +2.856 +3.036 +2.529 +2.749 +3.036 +3.256 +2.749 +3.009 +3.256 +3.516 +3.009 +3.309 +3.516 +3.816 +3.309 +3.649 +3.816 +4.156 +3.649 +4.029 +4.156 +4.536 +2.536 +2.556 +3.187 +3.207 +2.556 +2.616 +3.207 +3.267 +2.616 +2.716 +3.267 +3.367 +2.716 +2.856 +3.367 +3.507 +2.856 +3.036 +3.507 +3.687 +3.036 +3.256 +3.687 +3.907 +3.256 +3.516 +3.907 +4.167 +3.516 +3.816 +4.167 +4.467 +3.816 +4.156 +4.467 +4.807 +4.156 +4.536 +4.807 +5.187 +3.187 +3.207 +4 +4.02 +3.207 +3.267 +4.02 +4.08 +3.267 +3.367 +4.08 +4.18 +3.367 +3.507 +4.18 +4.32 +3.507 +3.687 +4.32 +4.5 +3.687 +3.907 +4.5 +4.72 +3.907 +4.167 +4.72 +4.98 +4.167 +4.467 +4.98 +5.28 +4.467 +4.807 +5.28 +5.62 +4.807 +5.187 +5.62 +6 + + + + + diff --git a/test/tests/mfem/transfers/sibling_transfers/gold/OutputData/MFEMtoMFEMSiblingTransfer_mfem_recv2_ParaViewDataCollection/Run0/Cycle000001/data.pvtu b/test/tests/mfem/transfers/sibling_transfers/gold/OutputData/MFEMtoMFEMSiblingTransfer_mfem_recv2_ParaViewDataCollection/Run0/Cycle000001/data.pvtu new file mode 100644 index 000000000000..31bbee9ce836 --- /dev/null +++ b/test/tests/mfem/transfers/sibling_transfers/gold/OutputData/MFEMtoMFEMSiblingTransfer_mfem_recv2_ParaViewDataCollection/Run0/Cycle000001/data.pvtu @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + + + + + + + + + + diff --git a/test/tests/mfem/transfers/sibling_transfers/gold/OutputData/MFEMtoMFEMSiblingTransfer_mfem_recv2_ParaViewDataCollection/Run0/Cycle000001/proc000000.vtu b/test/tests/mfem/transfers/sibling_transfers/gold/OutputData/MFEMtoMFEMSiblingTransfer_mfem_recv2_ParaViewDataCollection/Run0/Cycle000001/proc000000.vtu new file mode 100644 index 000000000000..6219f04ab784 --- /dev/null +++ b/test/tests/mfem/transfers/sibling_transfers/gold/OutputData/MFEMtoMFEMSiblingTransfer_mfem_recv2_ParaViewDataCollection/Run0/Cycle000001/proc000000.vtu @@ -0,0 +1,2432 @@ + + + + + +0 0 0 +0.1 0 0 +0 0.1 0 +0.1 0.1 0 +0.1 0 0 +0.2 0 0 +0.1 0.1 0 +0.2 0.1 0 +0.2 0 0 +0.3 0 0 +0.2 0.1 0 +0.3 0.1 0 +0.3 0 0 +0.4 0 0 +0.3 0.1 0 +0.4 0.1 0 +0.4 0 0 +0.5 0 0 +0.4 0.1 0 +0.5 0.1 0 +0.5 0 0 +0.6 0 0 +0.5 0.1 0 +0.6 0.1 0 +0.6 0 0 +0.7 0 0 +0.6 0.1 0 +0.7 0.1 0 +0.7 0 0 +0.8 0 0 +0.7 0.1 0 +0.8 0.1 0 +0.8 0 0 +0.9 0 0 +0.8 0.1 0 +0.9 0.1 0 +0.9 0 0 +1 0 0 +0.9 0.1 0 +1 0.1 0 +0 0.1 0 +0.1 0.1 0 +0 0.2 0 +0.1 0.2 0 +0.1 0.1 0 +0.2 0.1 0 +0.1 0.2 0 +0.2 0.2 0 +0.2 0.1 0 +0.3 0.1 0 +0.2 0.2 0 +0.3 0.2 0 +0.3 0.1 0 +0.4 0.1 0 +0.3 0.2 0 +0.4 0.2 0 +0.4 0.1 0 +0.5 0.1 0 +0.4 0.2 0 +0.5 0.2 0 +0.5 0.1 0 +0.6 0.1 0 +0.5 0.2 0 +0.6 0.2 0 +0.6 0.1 0 +0.7 0.1 0 +0.6 0.2 0 +0.7 0.2 0 +0.7 0.1 0 +0.8 0.1 0 +0.7 0.2 0 +0.8 0.2 0 +0.8 0.1 0 +0.9 0.1 0 +0.8 0.2 0 +0.9 0.2 0 +0.9 0.1 0 +1 0.1 0 +0.9 0.2 0 +1 0.2 0 +0 0.2 0 +0.1 0.2 0 +0 0.3 0 +0.1 0.3 0 +0.1 0.2 0 +0.2 0.2 0 +0.1 0.3 0 +0.2 0.3 0 +0.2 0.2 0 +0.3 0.2 0 +0.2 0.3 0 +0.3 0.3 0 +0.3 0.2 0 +0.4 0.2 0 +0.3 0.3 0 +0.4 0.3 0 +0.4 0.2 0 +0.5 0.2 0 +0.4 0.3 0 +0.5 0.3 0 +0.5 0.2 0 +0.6 0.2 0 +0.5 0.3 0 +0.6 0.3 0 +0.6 0.2 0 +0.7 0.2 0 +0.6 0.3 0 +0.7 0.3 0 +0.7 0.2 0 +0.8 0.2 0 +0.7 0.3 0 +0.8 0.3 0 +0.8 0.2 0 +0.9 0.2 0 +0.8 0.3 0 +0.9 0.3 0 +0.9 0.2 0 +1 0.2 0 +0.9 0.3 0 +1 0.3 0 +0 0.3 0 +0.1 0.3 0 +0 0.4 0 +0.1 0.4 0 +0.1 0.3 0 +0.2 0.3 0 +0.1 0.4 0 +0.2 0.4 0 +0.2 0.3 0 +0.3 0.3 0 +0.2 0.4 0 +0.3 0.4 0 +0.3 0.3 0 +0.4 0.3 0 +0.3 0.4 0 +0.4 0.4 0 +0.4 0.3 0 +0.5 0.3 0 +0.4 0.4 0 +0.5 0.4 0 +0.5 0.3 0 +0.6 0.3 0 +0.5 0.4 0 +0.6 0.4 0 +0.6 0.3 0 +0.7 0.3 0 +0.6 0.4 0 +0.7 0.4 0 +0.7 0.3 0 +0.8 0.3 0 +0.7 0.4 0 +0.8 0.4 0 +0.8 0.3 0 +0.9 0.3 0 +0.8 0.4 0 +0.9 0.4 0 +0.9 0.3 0 +1 0.3 0 +0.9 0.4 0 +1 0.4 0 +0 0.4 0 +0.1 0.4 0 +0 0.5 0 +0.1 0.5 0 +0.1 0.4 0 +0.2 0.4 0 +0.1 0.5 0 +0.2 0.5 0 +0.2 0.4 0 +0.3 0.4 0 +0.2 0.5 0 +0.3 0.5 0 +0.3 0.4 0 +0.4 0.4 0 +0.3 0.5 0 +0.4 0.5 0 +0.4 0.4 0 +0.5 0.4 0 +0.4 0.5 0 +0.5 0.5 0 +0.5 0.4 0 +0.6 0.4 0 +0.5 0.5 0 +0.6 0.5 0 +0.6 0.4 0 +0.7 0.4 0 +0.6 0.5 0 +0.7 0.5 0 +0.7 0.4 0 +0.8 0.4 0 +0.7 0.5 0 +0.8 0.5 0 +0.8 0.4 0 +0.9 0.4 0 +0.8 0.5 0 +0.9 0.5 0 +0.9 0.4 0 +1 0.4 0 +0.9 0.5 0 +1 0.5 0 +0 0.5 0 +0.1 0.5 0 +0 0.6 0 +0.1 0.6 0 +0.1 0.5 0 +0.2 0.5 0 +0.1 0.6 0 +0.2 0.6 0 +0.2 0.5 0 +0.3 0.5 0 +0.2 0.6 0 +0.3 0.6 0 +0.3 0.5 0 +0.4 0.5 0 +0.3 0.6 0 +0.4 0.6 0 +0.4 0.5 0 +0.5 0.5 0 +0.4 0.6 0 +0.5 0.6 0 +0.5 0.5 0 +0.6 0.5 0 +0.5 0.6 0 +0.6 0.6 0 +0.6 0.5 0 +0.7 0.5 0 +0.6 0.6 0 +0.7 0.6 0 +0.7 0.5 0 +0.8 0.5 0 +0.7 0.6 0 +0.8 0.6 0 +0.8 0.5 0 +0.9 0.5 0 +0.8 0.6 0 +0.9 0.6 0 +0.9 0.5 0 +1 0.5 0 +0.9 0.6 0 +1 0.6 0 +0 0.6 0 +0.1 0.6 0 +0 0.7 0 +0.1 0.7 0 +0.1 0.6 0 +0.2 0.6 0 +0.1 0.7 0 +0.2 0.7 0 +0.2 0.6 0 +0.3 0.6 0 +0.2 0.7 0 +0.3 0.7 0 +0.3 0.6 0 +0.4 0.6 0 +0.3 0.7 0 +0.4 0.7 0 +0.4 0.6 0 +0.5 0.6 0 +0.4 0.7 0 +0.5 0.7 0 +0.5 0.6 0 +0.6 0.6 0 +0.5 0.7 0 +0.6 0.7 0 +0.6 0.6 0 +0.7 0.6 0 +0.6 0.7 0 +0.7 0.7 0 +0.7 0.6 0 +0.8 0.6 0 +0.7 0.7 0 +0.8 0.7 0 +0.8 0.6 0 +0.9 0.6 0 +0.8 0.7 0 +0.9 0.7 0 +0.9 0.6 0 +1 0.6 0 +0.9 0.7 0 +1 0.7 0 +0 0.7 0 +0.1 0.7 0 +0 0.8 0 +0.1 0.8 0 +0.1 0.7 0 +0.2 0.7 0 +0.1 0.8 0 +0.2 0.8 0 +0.2 0.7 0 +0.3 0.7 0 +0.2 0.8 0 +0.3 0.8 0 +0.3 0.7 0 +0.4 0.7 0 +0.3 0.8 0 +0.4 0.8 0 +0.4 0.7 0 +0.5 0.7 0 +0.4 0.8 0 +0.5 0.8 0 +0.5 0.7 0 +0.6 0.7 0 +0.5 0.8 0 +0.6 0.8 0 +0.6 0.7 0 +0.7 0.7 0 +0.6 0.8 0 +0.7 0.8 0 +0.7 0.7 0 +0.8 0.7 0 +0.7 0.8 0 +0.8 0.8 0 +0.8 0.7 0 +0.9 0.7 0 +0.8 0.8 0 +0.9 0.8 0 +0.9 0.7 0 +1 0.7 0 +0.9 0.8 0 +1 0.8 0 +0 0.8 0 +0.1 0.8 0 +0 0.9 0 +0.1 0.9 0 +0.1 0.8 0 +0.2 0.8 0 +0.1 0.9 0 +0.2 0.9 0 +0.2 0.8 0 +0.3 0.8 0 +0.2 0.9 0 +0.3 0.9 0 +0.3 0.8 0 +0.4 0.8 0 +0.3 0.9 0 +0.4 0.9 0 +0.4 0.8 0 +0.5 0.8 0 +0.4 0.9 0 +0.5 0.9 0 +0.5 0.8 0 +0.6 0.8 0 +0.5 0.9 0 +0.6 0.9 0 +0.6 0.8 0 +0.7 0.8 0 +0.6 0.9 0 +0.7 0.9 0 +0.7 0.8 0 +0.8 0.8 0 +0.7 0.9 0 +0.8 0.9 0 +0.8 0.8 0 +0.9 0.8 0 +0.8 0.9 0 +0.9 0.9 0 +0.9 0.8 0 +1 0.8 0 +0.9 0.9 0 +1 0.9 0 +0 0.9 0 +0.1 0.9 0 +0 1 0 +0.1 1 0 +0.1 0.9 0 +0.2 0.9 0 +0.1 1 0 +0.2 1 0 +0.2 0.9 0 +0.3 0.9 0 +0.2 1 0 +0.3 1 0 +0.3 0.9 0 +0.4 0.9 0 +0.3 1 0 +0.4 1 0 +0.4 0.9 0 +0.5 0.9 0 +0.4 1 0 +0.5 1 0 +0.5 0.9 0 +0.6 0.9 0 +0.5 1 0 +0.6 1 0 +0.6 0.9 0 +0.7 0.9 0 +0.6 1 0 +0.7 1 0 +0.7 0.9 0 +0.8 0.9 0 +0.7 1 0 +0.8 1 0 +0.8 0.9 0 +0.9 0.9 0 +0.8 1 0 +0.9 1 0 +0.9 0.9 0 +1 0.9 0 +0.9 1 0 +1 1 0 + + + + +0 1 3 2 +4 5 7 6 +8 9 11 10 +12 13 15 14 +16 17 19 18 +20 21 23 22 +24 25 27 26 +28 29 31 30 +32 33 35 34 +36 37 39 38 +40 41 43 42 +44 45 47 46 +48 49 51 50 +52 53 55 54 +56 57 59 58 +60 61 63 62 +64 65 67 66 +68 69 71 70 +72 73 75 74 +76 77 79 78 +80 81 83 82 +84 85 87 86 +88 89 91 90 +92 93 95 94 +96 97 99 98 +100 101 103 102 +104 105 107 106 +108 109 111 110 +112 113 115 114 +116 117 119 118 +120 121 123 122 +124 125 127 126 +128 129 131 130 +132 133 135 134 +136 137 139 138 +140 141 143 142 +144 145 147 146 +148 149 151 150 +152 153 155 154 +156 157 159 158 +160 161 163 162 +164 165 167 166 +168 169 171 170 +172 173 175 174 +176 177 179 178 +180 181 183 182 +184 185 187 186 +188 189 191 190 +192 193 195 194 +196 197 199 198 +200 201 203 202 +204 205 207 206 +208 209 211 210 +212 213 215 214 +216 217 219 218 +220 221 223 222 +224 225 227 226 +228 229 231 230 +232 233 235 234 +236 237 239 238 +240 241 243 242 +244 245 247 246 +248 249 251 250 +252 253 255 254 +256 257 259 258 +260 261 263 262 +264 265 267 266 +268 269 271 270 +272 273 275 274 +276 277 279 278 +280 281 283 282 +284 285 287 286 +288 289 291 290 +292 293 295 294 +296 297 299 298 +300 301 303 302 +304 305 307 306 +308 309 311 310 +312 313 315 314 +316 317 319 318 +320 321 323 322 +324 325 327 326 +328 329 331 330 +332 333 335 334 +336 337 339 338 +340 341 343 342 +344 345 347 346 +348 349 351 350 +352 353 355 354 +356 357 359 358 +360 361 363 362 +364 365 367 366 +368 369 371 370 +372 373 375 374 +376 377 379 378 +380 381 383 382 +384 385 387 386 +388 389 391 390 +392 393 395 394 +396 397 399 398 + + +4 +8 +12 +16 +20 +24 +28 +32 +36 +40 +44 +48 +52 +56 +60 +64 +68 +72 +76 +80 +84 +88 +92 +96 +100 +104 +108 +112 +116 +120 +124 +128 +132 +136 +140 +144 +148 +152 +156 +160 +164 +168 +172 +176 +180 +184 +188 +192 +196 +200 +204 +208 +212 +216 +220 +224 +228 +232 +236 +240 +244 +248 +252 +256 +260 +264 +268 +272 +276 +280 +284 +288 +292 +296 +300 +304 +308 +312 +316 +320 +324 +328 +332 +336 +340 +344 +348 +352 +356 +360 +364 +368 +372 +376 +380 +384 +388 +392 +396 +400 + + +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 +9 + + + + +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 + + + + +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 +-1 + + +2.004 +2.304 +2.061 +2.361 +2.304 +2.644 +2.361 +2.701 +2.644 +3.024 +2.701 +3.081 +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +2.061 +2.361 +2.172 +2.472 +2.361 +2.701 +2.472 +2.812 +2.701 +3.081 +2.812 +3.192 +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +2.172 +2.472 +2.355 +2.655 +2.472 +2.812 +2.655 +2.995 +2.812 +3.192 +2.995 +3.375 +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +2.355 +2.655 +2.628 +2.928 +2.655 +2.995 +2.928 +3.268 +2.995 +3.375 +3.268 +3.648 +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +2.628 +2.928 +3.009 +3.309 +2.928 +3.268 +3.309 +3.649 +3.268 +3.648 +3.649 +4.029 +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +3.009 +3.309 +3.516 +3.816 +3.309 +3.649 +3.816 +4.156 +3.649 +4.029 +4.156 +4.536 +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +3.516 +3.816 +4.167 +4.467 +3.816 +4.156 +4.467 +4.807 +4.156 +4.536 +4.807 +5.187 +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +4.167 +4.467 +4.98 +5.28 +4.467 +4.807 +5.28 +5.62 +4.807 +5.187 +5.62 +6 +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan +-nan + + +2.005375 +2.005375 +2.005375 +2.005375 +2.045375 +2.045375 +2.045375 +2.045375 +2.125375 +2.125375 +2.125375 +2.125375 +2.245375 +2.245375 +2.245375 +2.245375 +2.405375 +2.405375 +2.405375 +2.405375 +2.605375 +2.605375 +2.605375 +2.605375 +2.845375 +2.845375 +2.845375 +2.845375 +3.125375 +3.125375 +3.125375 +3.125375 +3.445375 +3.445375 +3.445375 +3.445375 +3.805375 +3.805375 +3.805375 +3.805375 +2.015125 +2.015125 +2.015125 +2.015125 +2.055125 +2.055125 +2.055125 +2.055125 +2.135125 +2.135125 +2.135125 +2.135125 +2.255125 +2.255125 +2.255125 +2.255125 +2.415125 +2.415125 +2.415125 +2.415125 +2.615125 +2.615125 +2.615125 +2.615125 +2.855125 +2.855125 +2.855125 +2.855125 +3.135125 +3.135125 +3.135125 +3.135125 +3.455125 +3.455125 +3.455125 +3.455125 +3.815125 +3.815125 +3.815125 +3.815125 +2.051875 +2.051875 +2.051875 +2.051875 +2.091875 +2.091875 +2.091875 +2.091875 +2.171875 +2.171875 +2.171875 +2.171875 +2.291875 +2.291875 +2.291875 +2.291875 +2.451875 +2.451875 +2.451875 +2.451875 +2.651875 +2.651875 +2.651875 +2.651875 +2.891875 +2.891875 +2.891875 +2.891875 +3.171875 +3.171875 +3.171875 +3.171875 +3.491875 +3.491875 +3.491875 +3.491875 +3.851875 +3.851875 +3.851875 +3.851875 +2.133625 +2.133625 +2.133625 +2.133625 +2.173625 +2.173625 +2.173625 +2.173625 +2.253625 +2.253625 +2.253625 +2.253625 +2.373625 +2.373625 +2.373625 +2.373625 +2.533625 +2.533625 +2.533625 +2.533625 +2.733625 +2.733625 +2.733625 +2.733625 +2.973625 +2.973625 +2.973625 +2.973625 +3.253625 +3.253625 +3.253625 +3.253625 +3.573625 +3.573625 +3.573625 +3.573625 +3.933625 +3.933625 +3.933625 +3.933625 +2.278375 +2.278375 +2.278375 +2.278375 +2.318375 +2.318375 +2.318375 +2.318375 +2.398375 +2.398375 +2.398375 +2.398375 +2.518375 +2.518375 +2.518375 +2.518375 +2.678375 +2.678375 +2.678375 +2.678375 +2.878375 +2.878375 +2.878375 +2.878375 +3.118375 +3.118375 +3.118375 +3.118375 +3.398375 +3.398375 +3.398375 +3.398375 +3.718375 +3.718375 +3.718375 +3.718375 +4.078375 +4.078375 +4.078375 +4.078375 +2.504125 +2.504125 +2.504125 +2.504125 +2.544125 +2.544125 +2.544125 +2.544125 +2.624125 +2.624125 +2.624125 +2.624125 +2.744125 +2.744125 +2.744125 +2.744125 +2.904125 +2.904125 +2.904125 +2.904125 +3.104125 +3.104125 +3.104125 +3.104125 +3.344125 +3.344125 +3.344125 +3.344125 +3.624125 +3.624125 +3.624125 +3.624125 +3.944125 +3.944125 +3.944125 +3.944125 +4.304125 +4.304125 +4.304125 +4.304125 +2.828875 +2.828875 +2.828875 +2.828875 +2.868875 +2.868875 +2.868875 +2.868875 +2.948875 +2.948875 +2.948875 +2.948875 +3.068875 +3.068875 +3.068875 +3.068875 +3.228875 +3.228875 +3.228875 +3.228875 +3.428875 +3.428875 +3.428875 +3.428875 +3.668875 +3.668875 +3.668875 +3.668875 +3.948875 +3.948875 +3.948875 +3.948875 +4.268875 +4.268875 +4.268875 +4.268875 +4.628875 +4.628875 +4.628875 +4.628875 +3.270625 +3.270625 +3.270625 +3.270625 +3.310625 +3.310625 +3.310625 +3.310625 +3.390625 +3.390625 +3.390625 +3.390625 +3.510625 +3.510625 +3.510625 +3.510625 +3.670625 +3.670625 +3.670625 +3.670625 +3.870625 +3.870625 +3.870625 +3.870625 +4.110625 +4.110625 +4.110625 +4.110625 +4.390625 +4.390625 +4.390625 +4.390625 +4.710625 +4.710625 +4.710625 +4.710625 +5.070625 +5.070625 +5.070625 +5.070625 +3.847375 +3.847375 +3.847375 +3.847375 +3.887375 +3.887375 +3.887375 +3.887375 +3.967375 +3.967375 +3.967375 +3.967375 +4.087375 +4.087375 +4.087375 +4.087375 +4.247375 +4.247375 +4.247375 +4.247375 +4.447375 +4.447375 +4.447375 +4.447375 +4.687375 +4.687375 +4.687375 +4.687375 +4.967375 +4.967375 +4.967375 +4.967375 +5.287375 +5.287375 +5.287375 +5.287375 +5.647375 +5.647375 +5.647375 +5.647375 +4.577125 +4.577125 +4.577125 +4.577125 +4.617125 +4.617125 +4.617125 +4.617125 +4.697125 +4.697125 +4.697125 +4.697125 +4.817125 +4.817125 +4.817125 +4.817125 +4.977125 +4.977125 +4.977125 +4.977125 +5.177125 +5.177125 +5.177125 +5.177125 +5.417125 +5.417125 +5.417125 +5.417125 +5.697125 +5.697125 +5.697125 +5.697125 +6.017125 +6.017125 +6.017125 +6.017125 +6.377125 +6.377125 +6.377125 +6.377125 + + +1 +1.02 +1.003 +1.023 +1.02 +1.08 +1.023 +1.083 +1.08 +1.18 +1.083 +1.183 +1.18 +1.32 +1.183 +1.323 +1.32 +1.5 +1.323 +1.503 +1.5 +1.72 +1.503 +1.723 +1.72 +1.98 +1.723 +1.983 +1.98 +2.28 +1.983 +2.283 +2.28 +2.62 +2.283 +2.623 +2.62 +3 +2.623 +3.003 +1.003 +1.023 +1.024 +1.044 +1.023 +1.083 +1.044 +1.104 +1.083 +1.183 +1.104 +1.204 +1.183 +1.323 +1.204 +1.344 +1.323 +1.503 +1.344 +1.524 +1.503 +1.723 +1.524 +1.744 +1.723 +1.983 +1.744 +2.004 +1.983 +2.283 +2.004 +2.304 +2.283 +2.623 +2.304 +2.644 +2.623 +3.003 +2.644 +3.024 +1.024 +1.044 +1.081 +1.101 +1.044 +1.104 +1.101 +1.161 +1.104 +1.204 +1.161 +1.261 +1.204 +1.344 +1.261 +1.401 +1.344 +1.524 +1.401 +1.581 +1.524 +1.744 +1.581 +1.801 +1.744 +2.004 +1.801 +2.061 +2.004 +2.304 +2.061 +2.361 +2.304 +2.644 +2.361 +2.701 +2.644 +3.024 +2.701 +3.081 +1.081 +1.101 +1.192 +1.212 +1.101 +1.161 +1.212 +1.272 +1.161 +1.261 +1.272 +1.372 +1.261 +1.401 +1.372 +1.512 +1.401 +1.581 +1.512 +1.692 +1.581 +1.801 +1.692 +1.912 +1.801 +2.061 +1.912 +2.172 +2.061 +2.361 +2.172 +2.472 +2.361 +2.701 +2.472 +2.812 +2.701 +3.081 +2.812 +3.192 +1.192 +1.212 +1.375 +1.395 +1.212 +1.272 +1.395 +1.455 +1.272 +1.372 +1.455 +1.555 +1.372 +1.512 +1.555 +1.695 +1.512 +1.692 +1.695 +1.875 +1.692 +1.912 +1.875 +2.095 +1.912 +2.172 +2.095 +2.355 +2.172 +2.472 +2.355 +2.655 +2.472 +2.812 +2.655 +2.995 +2.812 +3.192 +2.995 +3.375 +1.375 +1.395 +1.648 +1.668 +1.395 +1.455 +1.668 +1.728 +1.455 +1.555 +1.728 +1.828 +1.555 +1.695 +1.828 +1.968 +1.695 +1.875 +1.968 +2.148 +1.875 +2.095 +2.148 +2.368 +2.095 +2.355 +2.368 +2.628 +2.355 +2.655 +2.628 +2.928 +2.655 +2.995 +2.928 +3.268 +2.995 +3.375 +3.268 +3.648 +1.648 +1.668 +2.029 +2.049 +1.668 +1.728 +2.049 +2.109 +1.728 +1.828 +2.109 +2.209 +1.828 +1.968 +2.209 +2.349 +1.968 +2.148 +2.349 +2.529 +2.148 +2.368 +2.529 +2.749 +2.368 +2.628 +2.749 +3.009 +2.628 +2.928 +3.009 +3.309 +2.928 +3.268 +3.309 +3.649 +3.268 +3.648 +3.649 +4.029 +2.029 +2.049 +2.536 +2.556 +2.049 +2.109 +2.556 +2.616 +2.109 +2.209 +2.616 +2.716 +2.209 +2.349 +2.716 +2.856 +2.349 +2.529 +2.856 +3.036 +2.529 +2.749 +3.036 +3.256 +2.749 +3.009 +3.256 +3.516 +3.009 +3.309 +3.516 +3.816 +3.309 +3.649 +3.816 +4.156 +3.649 +4.029 +4.156 +4.536 +2.536 +2.556 +3.187 +3.207 +2.556 +2.616 +3.207 +3.267 +2.616 +2.716 +3.267 +3.367 +2.716 +2.856 +3.367 +3.507 +2.856 +3.036 +3.507 +3.687 +3.036 +3.256 +3.687 +3.907 +3.256 +3.516 +3.907 +4.167 +3.516 +3.816 +4.167 +4.467 +3.816 +4.156 +4.467 +4.807 +4.156 +4.536 +4.807 +5.187 +3.187 +3.207 +4 +4.02 +3.207 +3.267 +4.02 +4.08 +3.267 +3.367 +4.08 +4.18 +3.367 +3.507 +4.18 +4.32 +3.507 +3.687 +4.32 +4.5 +3.687 +3.907 +4.5 +4.72 +3.907 +4.167 +4.72 +4.98 +4.167 +4.467 +4.98 +5.28 +4.467 +4.807 +5.28 +5.62 +4.807 +5.187 +5.62 +6 + + + + + diff --git a/test/tests/mfem/transfers/sibling_transfers/gold/OutputData/MFEMtoMFEMSiblingTransfer_mfem_recv2_ParaViewDataCollection/Run0/Run0.pvd b/test/tests/mfem/transfers/sibling_transfers/gold/OutputData/MFEMtoMFEMSiblingTransfer_mfem_recv2_ParaViewDataCollection/Run0/Run0.pvd new file mode 100644 index 000000000000..72ed1b22e1dd --- /dev/null +++ b/test/tests/mfem/transfers/sibling_transfers/gold/OutputData/MFEMtoMFEMSiblingTransfer_mfem_recv2_ParaViewDataCollection/Run0/Run0.pvd @@ -0,0 +1,7 @@ + + + + + + + diff --git a/test/tests/mfem/transfers/sibling_transfers/gold/OutputData/elem_elem_libmesh_sub0.e b/test/tests/mfem/transfers/sibling_transfers/gold/OutputData/elem_elem_libmesh_sub0.e new file mode 100644 index 000000000000..d13b0a549773 Binary files /dev/null and b/test/tests/mfem/transfers/sibling_transfers/gold/OutputData/elem_elem_libmesh_sub0.e differ diff --git a/test/tests/mfem/transfers/sibling_transfers/gold/OutputData/elem_elem_mfem_sub0_elem_sample_0001.csv b/test/tests/mfem/transfers/sibling_transfers/gold/OutputData/elem_elem_mfem_sub0_elem_sample_0001.csv new file mode 100644 index 000000000000..955eb91c7714 --- /dev/null +++ b/test/tests/mfem/transfers/sibling_transfers/gold/OutputData/elem_elem_mfem_sub0_elem_sample_0001.csv @@ -0,0 +1,15 @@ +received_elem_0,x_0,x_1 +4.005375,0,0 +4.005375,0.076923076923077,0.076923076923077 +4.055125,0.15384615384615,0.15384615384615 +4.171875,0.23076923076923,0.23076923076923 +4.373625,0.30769230769231,0.30769230769231 +4.373625,0.38461538461538,0.38461538461538 +4.678375,0.46153846153846,0.46153846153846 +5.104125,0.53846153846154,0.53846153846154 +5.668875,0.61538461538462,0.61538461538462 +5.668875,0.69230769230769,0.69230769230769 +6.390625,0.76923076923077,0.76923076923077 +7.287375,0.84615384615385,0.84615384615385 +8.377125,0.92307692307692,0.92307692307692 +8.377125,1,1 diff --git a/test/tests/mfem/transfers/sibling_transfers/gold/OutputData/elem_nodal_libmesh_sub0.e b/test/tests/mfem/transfers/sibling_transfers/gold/OutputData/elem_nodal_libmesh_sub0.e new file mode 100644 index 000000000000..0c1df722bd56 Binary files /dev/null and b/test/tests/mfem/transfers/sibling_transfers/gold/OutputData/elem_nodal_libmesh_sub0.e differ diff --git a/test/tests/mfem/transfers/sibling_transfers/gold/OutputData/mfem_to_libmesh_nodal_1toN_libmesh_sub0.e b/test/tests/mfem/transfers/sibling_transfers/gold/OutputData/mfem_to_libmesh_nodal_1toN_libmesh_sub0.e new file mode 100644 index 000000000000..7a4daa426f49 Binary files /dev/null and b/test/tests/mfem/transfers/sibling_transfers/gold/OutputData/mfem_to_libmesh_nodal_1toN_libmesh_sub0.e differ diff --git a/test/tests/mfem/transfers/sibling_transfers/gold/OutputData/mfem_to_libmesh_nodal_1toN_libmesh_sub1.e b/test/tests/mfem/transfers/sibling_transfers/gold/OutputData/mfem_to_libmesh_nodal_1toN_libmesh_sub1.e new file mode 100644 index 000000000000..56b8c7350fab Binary files /dev/null and b/test/tests/mfem/transfers/sibling_transfers/gold/OutputData/mfem_to_libmesh_nodal_1toN_libmesh_sub1.e differ diff --git a/test/tests/mfem/transfers/sibling_transfers/gold/OutputData/mfem_to_libmesh_nodal_1toN_libmesh_sub2.e b/test/tests/mfem/transfers/sibling_transfers/gold/OutputData/mfem_to_libmesh_nodal_1toN_libmesh_sub2.e new file mode 100644 index 000000000000..a074cf4a7a6c Binary files /dev/null and b/test/tests/mfem/transfers/sibling_transfers/gold/OutputData/mfem_to_libmesh_nodal_1toN_libmesh_sub2.e differ diff --git a/test/tests/mfem/transfers/sibling_transfers/gold/OutputData/nodal_elem_libmesh_sub0.e b/test/tests/mfem/transfers/sibling_transfers/gold/OutputData/nodal_elem_libmesh_sub0.e new file mode 100644 index 000000000000..5f8f8455573c Binary files /dev/null and b/test/tests/mfem/transfers/sibling_transfers/gold/OutputData/nodal_elem_libmesh_sub0.e differ diff --git a/test/tests/mfem/transfers/sibling_transfers/gold/OutputData/nodal_elem_mfem_sub0_elem_sample_0001.csv b/test/tests/mfem/transfers/sibling_transfers/gold/OutputData/nodal_elem_mfem_sub0_elem_sample_0001.csv new file mode 100644 index 000000000000..64a5b2343cc3 --- /dev/null +++ b/test/tests/mfem/transfers/sibling_transfers/gold/OutputData/nodal_elem_mfem_sub0_elem_sample_0001.csv @@ -0,0 +1,15 @@ +received_elem_0,x_0,x_1 +3.0115,0,0 +3.0115,0.076923076923077,0.076923076923077 +3.0635,0.15384615384615,0.15384615384615 +3.1825,0.23076923076923,0.23076923076923 +3.3865,0.30769230769231,0.30769230769231 +3.3865,0.38461538461538,0.38461538461538 +3.6935,0.46153846153846,0.46153846153846 +4.1215,0.53846153846154,0.53846153846154 +4.6885,0.61538461538462,0.61538461538462 +4.6885,0.69230769230769,0.69230769230769 +5.4125,0.76923076923077,0.76923076923077 +6.3115,0.84615384615385,0.84615384615385 +7.4035,0.92307692307692,0.92307692307692 +7.4035,1,1 diff --git a/test/tests/mfem/transfers/sibling_transfers/gold/OutputData/nodal_nodal_libmesh_sub0.e b/test/tests/mfem/transfers/sibling_transfers/gold/OutputData/nodal_nodal_libmesh_sub0.e new file mode 100644 index 000000000000..08de4a3dfe06 Binary files /dev/null and b/test/tests/mfem/transfers/sibling_transfers/gold/OutputData/nodal_nodal_libmesh_sub0.e differ diff --git a/test/tests/mfem/transfers/sibling_transfers/gold/OutputData/nodal_nodal_mfem_recv0_nodal_sample_0002.csv b/test/tests/mfem/transfers/sibling_transfers/gold/OutputData/nodal_nodal_mfem_recv0_nodal_sample_0002.csv new file mode 100644 index 000000000000..b00d9ff9987b --- /dev/null +++ b/test/tests/mfem/transfers/sibling_transfers/gold/OutputData/nodal_nodal_mfem_recv0_nodal_sample_0002.csv @@ -0,0 +1,15 @@ +received_nodal_0,x_0,x_1 +1,0,0 +1.0176923076923,0.076923076923077,0.076923076923077 +1.0666153846154,0.15384615384615,0.15384615384615 +1.1523076923077,0.23076923076923,0.23076923076923 +1.2803076923077,0.30769230769231,0.30769230769231 +1.4733846153846,0.38461538461538,0.38461538461538 +1.7353846153846,0.46153846153846,0.46153846153846 +2.0646153846154,0.53846153846154,0.53846153846154 +2.4666153846154,0.61538461538462,0.61538461538462 +2.9596923076923,0.69230769230769,0.69230769230769 +3.5676923076923,0.76923076923077,0.76923076923077 +4.2733846153846,0.84615384615385,0.84615384615385 +5.0823076923077,0.92307692307692,0.92307692307692 +6,1,1 diff --git a/test/tests/mfem/transfers/sibling_transfers/gold/OutputData/nodal_nodal_mfem_sub0_nodal_sample_0001.csv b/test/tests/mfem/transfers/sibling_transfers/gold/OutputData/nodal_nodal_mfem_sub0_nodal_sample_0001.csv new file mode 100644 index 000000000000..6bd8326e1e68 --- /dev/null +++ b/test/tests/mfem/transfers/sibling_transfers/gold/OutputData/nodal_nodal_mfem_sub0_nodal_sample_0001.csv @@ -0,0 +1,15 @@ +received_nodal_0,x_0,x_1 +3,0,0 +3.0176923076923,0.076923076923077,0.076923076923077 +3.0666153846154,0.15384615384615,0.15384615384615 +3.1523076923077,0.23076923076923,0.23076923076923 +3.2803076923077,0.30769230769231,0.30769230769231 +3.4733846153846,0.38461538461538,0.38461538461538 +3.7353846153846,0.46153846153846,0.46153846153846 +4.0646153846154,0.53846153846154,0.53846153846154 +4.4666153846154,0.61538461538462,0.61538461538462 +4.9596923076923,0.69230769230769,0.69230769230769 +5.5676923076923,0.76923076923077,0.76923076923077 +6.2733846153846,0.84615384615385,0.84615384615385 +7.0823076923077,0.92307692307692,0.92307692307692 +8,1,1 diff --git a/test/tests/mfem/transfers/sibling_transfers/gold/OutputData/nodal_nodal_mixed_mfem_recv0_nodal_sample_0002.csv b/test/tests/mfem/transfers/sibling_transfers/gold/OutputData/nodal_nodal_mixed_mfem_recv0_nodal_sample_0002.csv new file mode 100644 index 000000000000..4492ae64ddf8 --- /dev/null +++ b/test/tests/mfem/transfers/sibling_transfers/gold/OutputData/nodal_nodal_mixed_mfem_recv0_nodal_sample_0002.csv @@ -0,0 +1,15 @@ +received_nodal_0,x_0,x_1 +1,0,0 +1.0144050235479,0.076923076923077,0.076923076923077 +1.0609733124019,0.15384615384615,0.15384615384615 +1.1474997383569,0.23076923076923,0.23076923076923 +1.2817791732077,0.30769230769231,0.30769230769231 +1.4716064887493,0.38461538461538,0.38461538461538 +1.7247765567766,0.46153846153846,0.46153846153846 +2.0531917037757,0.53846153846154,0.53846153846154 +2.4610173164763,0.61538461538462,0.61538461538462 +2.9576024062065,0.69230769230769,0.69230769230769 +3.5567316841966,0.76923076923077,0.76923076923077 +4.2547384874099,0.84615384615385,0.84615384615385 +5.0689546410721,0.92307692307692,0.92307692307692 +6,1,1 diff --git a/test/tests/mfem/transfers/sibling_transfers/gold/OutputData/nodal_nodal_mixed_mfem_sub0_nodal_sample_0001.csv b/test/tests/mfem/transfers/sibling_transfers/gold/OutputData/nodal_nodal_mixed_mfem_sub0_nodal_sample_0001.csv new file mode 100644 index 000000000000..6e7551118379 --- /dev/null +++ b/test/tests/mfem/transfers/sibling_transfers/gold/OutputData/nodal_nodal_mixed_mfem_sub0_nodal_sample_0001.csv @@ -0,0 +1,15 @@ +received_nodal_0,x_0,x_1 +3,0,0 +3.0144050235479,0.076923076923077,0.076923076923077 +3.0609733124019,0.15384615384615,0.15384615384615 +3.1474997383569,0.23076923076923,0.23076923076923 +3.2817791732077,0.30769230769231,0.30769230769231 +3.4716064887493,0.38461538461538,0.38461538461538 +3.7247765567766,0.46153846153846,0.46153846153846 +4.0531917037757,0.53846153846154,0.53846153846154 +4.4610173164763,0.61538461538462,0.61538461538462 +4.9576024062065,0.69230769230769,0.69230769230769 +5.5567316841966,0.76923076923077,0.76923076923077 +6.2547384874099,0.84615384615385,0.84615384615385 +7.0689546410721,0.92307692307692,0.92307692307692 +8,1,1 diff --git a/test/tests/mfem/transfers/sibling_transfers/libmesh_sub_between_diffusion.i b/test/tests/mfem/transfers/sibling_transfers/libmesh_sub_between_diffusion.i new file mode 100644 index 000000000000..b9a35ed04eb1 --- /dev/null +++ b/test/tests/mfem/transfers/sibling_transfers/libmesh_sub_between_diffusion.i @@ -0,0 +1,43 @@ +[Mesh] + file = ../../mesh/square_quad9.e +[] + +[AuxVariables] + [sent_nodal] + [InitialCondition] + type = FunctionIC + function = '3 + 2*x*x + 3*y*y*y' + [] + [] + [received_nodal] + initial_condition = -1 + [] + [sent_elem] + family = MONOMIAL + order = CONSTANT + [InitialCondition] + type = FunctionIC + function = '4 + 2*x*x + 3*y*y*y' + [] + [] + [received_elem] + family = MONOMIAL + order = CONSTANT + initial_condition = -1 + [] +[] + +[Executioner] + type = Transient + num_steps = 1 +[] + +[Problem] + solve = false +[] + +[Outputs] + exodus = true + hide = 'sent_nodal sent_elem' + execute_on = 'TIMESTEP_END' +[] diff --git a/test/tests/mfem/transfers/sibling_transfers/main_between_multiapp.i b/test/tests/mfem/transfers/sibling_transfers/main_between_multiapp.i new file mode 100644 index 000000000000..3b0366cdddf4 --- /dev/null +++ b/test/tests/mfem/transfers/sibling_transfers/main_between_multiapp.i @@ -0,0 +1,111 @@ +# Base input for testing between-multiapp transfers. It has the following complexities: +# - multiapps may not be run with the same number of ranks +# - both nodal and elemental variables +# - transfers between mixes of nodal and elemental variables +# Tests derived from this input may add or remove complexities through command line arguments + +[Problem] + solve = false +[] + +[Mesh] + type = GeneratedMesh + dim = 2 +[] + +[MultiApps] + [mfem_sub] + type = TransientMultiApp + input_files = mfem_sub_between_diffusion.i + [] + [libmesh_sub] + type = TransientMultiApp + input_files = libmesh_sub_between_diffusion.i + [] +[] + +[Transfers] + # Nodal to nodal variables + [mfem_to_libmesh_nodal_nodal] + type = MultiAppMFEMTolibMeshShapeEvaluationTransfer + from_multi_app = mfem_sub + to_multi_app = libmesh_sub + source_variables = sent_nodal + variables = received_nodal + [] + [libmesh_to_mfem_nodal_nodal] + type = MultiApplibMeshToMFEMShapeEvaluationTransfer + from_multi_app = libmesh_sub + to_multi_app = mfem_sub + source_variables = sent_nodal + variables = received_nodal + [] + + # Elemental to elemental variables + [mfem_to_libmesh_elem_elem] + type = MultiAppMFEMTolibMeshShapeEvaluationTransfer + from_multi_app = mfem_sub + to_multi_app = libmesh_sub + source_variables = sent_elem + variables = received_elem + [] + [libmesh_to_mfem_elem_elem] + type = MultiApplibMeshToMFEMShapeEvaluationTransfer + from_multi_app = libmesh_sub + to_multi_app = mfem_sub + source_variables = sent_elem + variables = received_elem + [] + + # Elemental to nodal variables + [mfem_to_libmesh_elem_nodal] + type = MultiAppMFEMTolibMeshShapeEvaluationTransfer + from_multi_app = mfem_sub + to_multi_app = libmesh_sub + source_variables = sent_elem + variables = received_nodal + [] + [libmesh_to_mfem_elem_nodal] + type = MultiApplibMeshToMFEMShapeEvaluationTransfer + from_multi_app = libmesh_sub + to_multi_app = mfem_sub + source_variables = sent_elem + variables = received_nodal + [] + + # Nodal to elemental variables + [mfem_to_libmesh_nodal_elem] + type = MultiAppMFEMTolibMeshShapeEvaluationTransfer + from_multi_app = mfem_sub + to_multi_app = libmesh_sub + source_variables = sent_nodal + variables = received_elem + [] + [libmesh_to_mfem_nodal_elem] + type = MultiApplibMeshToMFEMShapeEvaluationTransfer + from_multi_app = libmesh_sub + to_multi_app = mfem_sub + source_variables = sent_nodal + variables = received_elem + [] +[] + +[Executioner] + type = Transient + num_steps = 1 +[] + +# Positions used to create multiple subapps for the 1 to N and N to 1 tests +[Positions] + [mfem_locs] + type = InputPositions + positions = '0 0 0 + 0.2 0.5 0' + [] + [libmesh_locs] + type = InputPositions + positions = '0 0 0 + 0.1 0.4 0 + 0.7 0.2 0' + [] +[] diff --git a/test/tests/mfem/transfers/sibling_transfers/mfem_main_between_multiapp.i b/test/tests/mfem/transfers/sibling_transfers/mfem_main_between_multiapp.i new file mode 100644 index 000000000000..7f60b8e20c44 --- /dev/null +++ b/test/tests/mfem/transfers/sibling_transfers/mfem_main_between_multiapp.i @@ -0,0 +1,61 @@ +# Base input for testing between-multiapp transfers. It has the following complexities: +# - multiapps may not be run with the same number of ranks +# - both nodal and elemental variables +# - transfers between mixes of nodal and elemental variables +# Tests derived from this input may add or remove complexities through command line arguments + +[Problem] + type = MFEMProblem + solve = false +[] + +[Mesh] + type = MFEMMesh + file = ../../mesh/square_quad9.e +[] + +[MultiApps] + [mfem_send] + type = TransientMultiApp + input_files = mfem_sub_between_diffusion.i + [] + [mfem_recv] + type = TransientMultiApp + input_files = mfem_sub_between_diffusion.i + cli_args = Outputs/inactive='' + [] +[] + +[Transfers] + # Nodal to nodal variables + [mfem_to_mfem_nodal_nodal] + type = MultiAppMFEMShapeEvaluationTransfer + from_multi_app = mfem_send + to_multi_app = mfem_recv + source_variables = sent_nodal + variables = received_nodal + [] +[] + +[Executioner] + type = MFEMTransient + num_steps = 2 +[] + +# Positions used to create multiple subapps for the 1 to N tests +[Positions] + [mfem_send_locs] + type = InputPositions + positions = '0 0 0' + [] + [mfem_recv_locs] + type = InputPositions + positions = '0 0 0 + 0.1 0.4 0 + 0.7 0.2 0' + [] +[] + +[Outputs] + file_base = OutputData/MFEMtoMFEMSiblingTransfer +[] diff --git a/test/tests/mfem/transfers/sibling_transfers/mfem_sub_between_diffusion.i b/test/tests/mfem/transfers/sibling_transfers/mfem_sub_between_diffusion.i new file mode 100644 index 000000000000..009ffb8e87f0 --- /dev/null +++ b/test/tests/mfem/transfers/sibling_transfers/mfem_sub_between_diffusion.i @@ -0,0 +1,118 @@ +[Problem] + type = MFEMProblem + solve = false +[] + +[Mesh] + type = MFEMMesh + file = ../../mesh/square_quad9.e +[] + +[FESpaces] + [H1FESpace] + type = MFEMScalarFESpace + fec_type = H1 + fec_order = FIRST + [] + [L2FESpace] + type = MFEMScalarFESpace + fec_type = L2 + fec_order = CONSTANT + [] +[] + +[AuxVariables] + [sent_nodal] + type = MFEMVariable + fespace = H1FESpace + [] + [received_nodal] + type = MFEMVariable + fespace = H1FESpace + [] + [sent_elem] + type = MFEMVariable + fespace = L2FESpace + [] + [received_elem] + type = MFEMVariable + fespace = L2FESpace + [] +[] + +[Functions] + [sent_nodal_var_func] + type = ParsedFunction + expression = '1 + 2*x*x + 3*y*y*y' + [] + [sent_elem_var_func] + type = ParsedFunction + expression = '2 + 2*x*x + 3*y*y*y' + [] + [received_nodal_var_func] + type = ParsedFunction + expression = '3 + 2*x*x + 3*y*y*y' + [] + [received_elem_var_func] + type = ParsedFunction + expression = '4 + 2*x*x + 3*y*y*y' + [] +[] + +[ICs] + [sent_nodal_var_ic] + type = MFEMScalarIC + variable = 'sent_nodal' + coefficient = sent_nodal_var_func + [] + [sent_elem_var_ic] + type = MFEMScalarIC + variable = 'sent_elem' + coefficient = sent_elem_var_func + [] + [received_nodal_var_ic] + type = MFEMScalarIC + variable = 'received_nodal' + coefficient = -1 + [] + [received_elem_var_ic] + type = MFEMScalarIC + variable = 'received_elem' + coefficient = -1 + [] + +[] + +[Executioner] + type = MFEMTransient + num_steps = 1 + device = cpu +[] + +[VectorPostprocessors] + [nodal_sample] + type = MFEMLineValueSampler + variable = 'received_nodal' + start_point = '0.0 0.0 0.0' + end_point = '1.0 1.0 0.0' + num_points = 14 + execute_on = TIMESTEP_END + [] + [elem_sample] + type = MFEMLineValueSampler + variable = 'received_elem' + start_point = '0.0 0.0 0.0' + end_point = '1.0 1.0 0.0' + num_points = 14 + execute_on = TIMESTEP_END + [] +[] + +[Outputs] + csv = true + inactive = ParaViewDataCollection + [ParaViewDataCollection] + type = MFEMParaViewDataCollection + vtk_format = ASCII + [] +[] diff --git a/test/tests/mfem/transfers/sibling_transfers/tests b/test/tests/mfem/transfers/sibling_transfers/tests new file mode 100644 index 000000000000..3187087032fe --- /dev/null +++ b/test/tests/mfem/transfers/sibling_transfers/tests @@ -0,0 +1,174 @@ +[Tests] + design = MultiAppMFEMShapeEvaluationTransfer.md + issues = '#31982' + [MFEM_to_libMesh_sibling_transfers] + requirement = "The system shall support multiapp sibling transfers from MFEM to libMesh sub-apps via shape function evaluations" + [nodal_nodal] + type = Exodiff + input = main_between_multiapp.i + exodiff = 'OutputData/nodal_nodal_libmesh_sub0.e' + cli_args = "Outputs/file_base=OutputData/nodal_nodal Transfers/active='mfem_to_libmesh_nodal_nodal'" + capabilities = 'mfem' + compute_devices = 'cpu' + recover = false + restep = false + detail = 'between nodal variables,' + [] + [elem_elem] + type = Exodiff + input = main_between_multiapp.i + exodiff = 'OutputData/elem_elem_libmesh_sub0.e' + cli_args = "Outputs/file_base=OutputData/elem_elem Transfers/active='mfem_to_libmesh_elem_elem'" + capabilities = 'mfem' + compute_devices = 'cpu' + recover = false + restep = false + detail = 'between elemental variables,' + [] + [nodal_elem] + type = Exodiff + input = main_between_multiapp.i + exodiff = 'OutputData/nodal_elem_libmesh_sub0.e' + cli_args = "Outputs/file_base=OutputData/nodal_elem Transfers/active='mfem_to_libmesh_nodal_elem'" + capabilities = 'mfem' + compute_devices = 'cpu' + recover = false + restep = false + detail = 'from nodal to elemental variables,' + [] + [1_to_N_nodal] + type = Exodiff + input = main_between_multiapp.i + exodiff = 'OutputData/mfem_to_libmesh_nodal_1toN_libmesh_sub0.e OutputData/mfem_to_libmesh_nodal_1toN_libmesh_sub1.e' + cli_args = "Outputs/file_base=OutputData/mfem_to_libmesh_nodal_1toN + MultiApps/libmesh_sub/positions_objects=libmesh_locs + Transfers/active='mfem_to_libmesh_nodal_nodal'" + capabilities = 'mfem' + compute_devices = 'cpu' + recover = false + restep = false + detail = 'and from nodal variables sent from one sub-app to multiple sub-apps.' + [] + [] + [libMesh_to_MFEM_sibling_transfers] + requirement = "The system shall support multiapp sibling transfers from libMesh to MFEM sub-apps via shape function evaluations" + [nodal_nodal] + type = CSVDiff + input = main_between_multiapp.i + csvdiff = 'OutputData/nodal_nodal_mfem_sub0_nodal_sample_0001.csv' + cli_args = "Outputs/file_base=OutputData/nodal_nodal Transfers/active='libmesh_to_mfem_nodal_nodal' + MultiApps/mfem_sub/cli_args='Outputs/file_base=OutputData/nodal_nodal_mfem_sub0;VectorPostprocessors/active=nodal_sample'" + capabilities = 'mfem' + compute_devices = 'cpu' + recover = false + restep = false + detail = 'between nodal variables,' + [] + [elem_elem] + type = CSVDiff + input = main_between_multiapp.i + csvdiff = 'OutputData/elem_elem_mfem_sub0_elem_sample_0001.csv' + cli_args = "Outputs/file_base=OutputData/elem_elem Transfers/active='libmesh_to_mfem_elem_elem' + MultiApps/mfem_sub/cli_args='Outputs/file_base=OutputData/elem_elem_mfem_sub0'" + capabilities = 'mfem' + compute_devices = 'cpu' + recover = false + restep = false + detail = 'between elemental variables,' + [] + [nodal_elem] + type = CSVDiff + input = main_between_multiapp.i + csvdiff = 'OutputData/nodal_elem_mfem_sub0_elem_sample_0001.csv' + cli_args = "Outputs/file_base=OutputData/nodal_elem Transfers/active='libmesh_to_mfem_nodal_elem' + MultiApps/mfem_sub/cli_args='Outputs/file_base=OutputData/nodal_elem_mfem_sub0'" + capabilities = 'mfem' + compute_devices = 'cpu' + recover = false + restep = false + detail = 'from nodal to elemental variables,' + [] + [nodal_mixed_mesh] + type = CSVDiff + input = main_between_multiapp.i + csvdiff = 'OutputData/nodal_nodal_mixed_mfem_sub0_nodal_sample_0001.csv' + cli_args = "Outputs/file_base=OutputData/nodal_nodal_mixed Transfers/active='libmesh_to_mfem_nodal_nodal' + MultiApps/mfem_sub/cli_args='Mesh/file=../../mesh/square_mixed.e';Outputs/file_base=OutputData/nodal_nodal_mixed_mfem_sub0 + MultiApps/libmesh_sub/cli_args='Mesh/file=../../mesh/square_mixed.e'" + capabilities = 'mfem' + compute_devices = 'cpu' + recover = false + restep = false + detail = 'between nodal variables sent from libMesh to MFEM sub-apps defined on meshes comprised of mixed element types,' + [] + [1_to_N_nodal_parallel] + type = CSVDiff + input = main_between_multiapp.i + csvdiff = 'OutputData/1toN_nodal_nodal_mfem_sub0_nodal_sample_0001.csv' + cli_args = "Outputs/file_base=OutputData/1toN_nodal_nodal Transfers/active='libmesh_to_mfem_nodal_nodal' + MultiApps/mfem_sub/positions_objects=mfem_locs + MultiApps/mfem_sub/cli_args=VectorPostprocessors/active=nodal_sample" + capabilities = 'mfem' + compute_devices = 'cpu' + recover = false + restep = false + detail = 'and between nodal variables from nodal variables sent from one sub-app to multiple sub-apps run in parallel,' + [] + [] + [MFEM_to_MFEM_sibling_transfers] + requirement = "The system shall support multiapp sibling transfers from MFEM to MFEM sub-apps via shape function evaluations" + [nodal_nodal] + type = CSVDiff + input = mfem_main_between_multiapp.i + csvdiff = 'OutputData/nodal_nodal_mfem_recv0_nodal_sample_0002.csv' + cli_args = "Outputs/file_base=OutputData/nodal_nodal" + capabilities = 'mfem' + compute_devices = 'cpu' + recover = false + restep = false + detail = 'between nodal variables sent between MFEM sub-apps defined on meshes comprised of a single element type,' + [] + [1_to_N_nodal] + type = XMLDiff # XMLDiff used to check out-of-mesh values are correctly located + input = mfem_main_between_multiapp.i + cli_args = "MultiApps/mfem_recv/positions_objects='mfem_recv_locs'" + xmldiff = 'OutputData/MFEMtoMFEMSiblingTransfer_mfem_recv0_ParaViewDataCollection/Run0/Run0.pvd + OutputData/MFEMtoMFEMSiblingTransfer_mfem_recv0_ParaViewDataCollection/Run0/Cycle000001/proc000000.vtu + OutputData/MFEMtoMFEMSiblingTransfer_mfem_recv1_ParaViewDataCollection/Run0/Run0.pvd + OutputData/MFEMtoMFEMSiblingTransfer_mfem_recv1_ParaViewDataCollection/Run0/Cycle000001/proc000000.vtu + OutputData/MFEMtoMFEMSiblingTransfer_mfem_recv2_ParaViewDataCollection/Run0/Run0.pvd + OutputData/MFEMtoMFEMSiblingTransfer_mfem_recv2_ParaViewDataCollection/Run0/Cycle000001/proc000000.vtu' + capabilities = 'mfem' + compute_devices = 'cpu' + max_parallel = 1 # XML schemadiff with multiple ranks + recover = false + max_threads = 1 + restep = false + detail = 'between nodal variables from nodal variables sent from one sub-app to multiple sub-apps,' + [] + [1_to_N_nodal_parallel] + type = CSVDiff + input = mfem_main_between_multiapp.i + csvdiff = 'OutputData/MFEMtoMFEMSiblingTransfer_mfem_recv0_nodal_sample_0002.csv' + cli_args = "MultiApps/mfem_recv/positions_objects='mfem_recv_locs'" + capabilities = 'mfem' + compute_devices = 'cpu' + recover = false + restep = false + detail = 'between nodal variables from nodal variables sent from one sub-app to multiple sub-apps run in parallel,' + [] + [nodal_mixed_mesh] + type = CSVDiff + input = mfem_main_between_multiapp.i + csvdiff = 'OutputData/nodal_nodal_mixed_mfem_recv0_nodal_sample_0002.csv' + cli_args = "Outputs/file_base=OutputData/nodal_nodal_mixed + MultiApps/mfem_recv/cli_args='Mesh/file=../../mesh/square_mixed.e' + MultiApps/mfem_send/cli_args='Mesh/file=../../mesh/square_mixed.e'" + capabilities = 'mfem' + compute_devices = 'cpu' + recover = false + restep = false + detail = 'and between nodal variables sent between MFEM sub-apps defined on meshes comprised of mixed element types.' + [] + [] +[]