Commit 1c18b201 authored by GILLES Sebastien's avatar GILLES Sebastien
Browse files

#772 VertexMatching: rename the private class and add comments.

parent a7d8cdf7
......@@ -719,7 +719,7 @@ FiniteElementSpace7 = {
-- Solid
InitVertexMatching1 = {
DofProgramWiseIndexListPerVertexCoordIndex1 = {
-- Finite element space for which the dofs index will be associated to each vertex.
-- Expected format: VALUE
......@@ -729,11 +729,11 @@ InitVertexMatching1 = {
-- Expected format: "VALUE"
numbering_subset = 7
} -- InitVertexMatching1
} -- DofProgramWiseIndexListPerVertexCoordIndex1
-- Fluid
InitVertexMatching2 = {
DofProgramWiseIndexListPerVertexCoordIndex2 = {
-- Finite element space for which the dofs index will be associated to each vertex.
-- Expected format: VALUE
......@@ -743,7 +743,7 @@ InitVertexMatching2 = {
-- Expected format: "VALUE"
numbering_subset = 6
} -- InitVertexMatching2
} -- DofProgramWiseIndexListPerVertexCoordIndex2
Petsc1 = {
......
......@@ -250,6 +250,7 @@
BE3221911B4686C100F27D6C /* FElt.hxx in Headers */ = {isa = PBXBuildFile; fileRef = BE32218E1B4686C100F27D6C /* FElt.hxx */; };
BE32927D1A44702C009F0BE2 /* Exception.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BE32927A1A44702C009F0BE2 /* Exception.cpp */; };
BE32927E1A44702C009F0BE2 /* Exception.hpp in Headers */ = {isa = PBXBuildFile; fileRef = BE32927B1A44702C009F0BE2 /* Exception.hpp */; };
BE397ECA1C29947800F9600D /* DofProgramWiseIndexListPerVertexCoordIndex.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BE397EC91C29947800F9600D /* DofProgramWiseIndexListPerVertexCoordIndex.cpp */; };
BE3AB281183503C7009E1B76 /* libCore.a in Frameworks */ = {isa = PBXBuildFile; fileRef = BE05B52916D238FE000E248D /* libCore.a */; };
BE3AB283183503C7009E1B76 /* libFiniteElement.a in Frameworks */ = {isa = PBXBuildFile; fileRef = BE9C4D121807F5DC005B94BC /* libFiniteElement.a */; };
BE3AB284183503C7009E1B76 /* libGeometry.a in Frameworks */ = {isa = PBXBuildFile; fileRef = BE05B4DD16D23573000E248D /* libGeometry.a */; };
......@@ -431,6 +432,7 @@
BE607D031B1DE2E6008017B9 /* SpatialFunction.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BE607D001B1DE2E6008017B9 /* SpatialFunction.cpp */; };
BE607D051B1DE2E6008017B9 /* SpatialFunction.hxx in Headers */ = {isa = PBXBuildFile; fileRef = BE607D021B1DE2E6008017B9 /* SpatialFunction.hxx */; };
BE608BEE1B303C8C00D34774 /* EnumTopology.hpp in Headers */ = {isa = PBXBuildFile; fileRef = BE608BEB1B303C8C00D34774 /* EnumTopology.hpp */; };
BE60991E1C299EBE00277918 /* DofProgramWiseIndexListPerVertexCoordIndexManager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BE60991D1C299EBE00277918 /* DofProgramWiseIndexListPerVertexCoordIndexManager.cpp */; };
BE616F4B1B8747CA007FFC00 /* libSeldon.a in Frameworks */ = {isa = PBXBuildFile; fileRef = BE781C051B0B582500DBE49F /* libSeldon.a */; };
BE616F4E1B8775D4007FFC00 /* InputParameter.hpp in Headers */ = {isa = PBXBuildFile; fileRef = BE616F4C1B8775D4007FFC00 /* InputParameter.hpp */; };
BE616F4F1B8775D4007FFC00 /* InputParameter.hxx in Headers */ = {isa = PBXBuildFile; fileRef = BE616F4D1B8775D4007FFC00 /* InputParameter.hxx */; };
......@@ -1263,12 +1265,10 @@
BEE8CAA91C2452D20006C9C8 /* InitVertexMatching.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BEE8CAA61C2452D20006C9C8 /* InitVertexMatching.cpp */; };
BEE8CAAA1C2452D20006C9C8 /* InitVertexMatching.hpp in Headers */ = {isa = PBXBuildFile; fileRef = BEE8CAA71C2452D20006C9C8 /* InitVertexMatching.hpp */; };
BEE8CAAD1C24530B0006C9C8 /* InitVertexMatching.hxx in Headers */ = {isa = PBXBuildFile; fileRef = BEE8CAAC1C24530B0006C9C8 /* InitVertexMatching.hxx */; };
BEE8CAB51C2464A10006C9C8 /* InitVertexMatchingManager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BEE8CAB21C2464A10006C9C8 /* InitVertexMatchingManager.cpp */; };
BEE8CAB61C2464A10006C9C8 /* InitVertexMatchingManager.hpp in Headers */ = {isa = PBXBuildFile; fileRef = BEE8CAB31C2464A10006C9C8 /* InitVertexMatchingManager.hpp */; };
BEE8CAB71C2464A10006C9C8 /* InitVertexMatchingManager.hxx in Headers */ = {isa = PBXBuildFile; fileRef = BEE8CAB41C2464A10006C9C8 /* InitVertexMatchingManager.hxx */; };
BEE8CABB1C2465E00006C9C8 /* InitVertexMatching.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BEE8CAB81C2465E00006C9C8 /* InitVertexMatching.cpp */; };
BEE8CABC1C2465E00006C9C8 /* InitVertexMatching.hpp in Headers */ = {isa = PBXBuildFile; fileRef = BEE8CAB91C2465E00006C9C8 /* InitVertexMatching.hpp */; };
BEE8CABD1C2465E00006C9C8 /* InitVertexMatching.hxx in Headers */ = {isa = PBXBuildFile; fileRef = BEE8CABA1C2465E00006C9C8 /* InitVertexMatching.hxx */; };
BEE8CAB61C2464A10006C9C8 /* DofProgramWiseIndexListPerVertexCoordIndexManager.hpp in Headers */ = {isa = PBXBuildFile; fileRef = BEE8CAB31C2464A10006C9C8 /* DofProgramWiseIndexListPerVertexCoordIndexManager.hpp */; };
BEE8CAB71C2464A10006C9C8 /* DofProgramWiseIndexListPerVertexCoordIndexManager.hxx in Headers */ = {isa = PBXBuildFile; fileRef = BEE8CAB41C2464A10006C9C8 /* DofProgramWiseIndexListPerVertexCoordIndexManager.hxx */; };
BEE8CABC1C2465E00006C9C8 /* DofProgramWiseIndexListPerVertexCoordIndex.hpp in Headers */ = {isa = PBXBuildFile; fileRef = BEE8CAB91C2465E00006C9C8 /* DofProgramWiseIndexListPerVertexCoordIndex.hpp */; };
BEE8CABD1C2465E00006C9C8 /* DofProgramWiseIndexListPerVertexCoordIndex.hxx in Headers */ = {isa = PBXBuildFile; fileRef = BEE8CABA1C2465E00006C9C8 /* DofProgramWiseIndexListPerVertexCoordIndex.hxx */; };
BEEABA4E1A49BC8700A875C6 /* Ensight6.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BEEABA4B1A49BC8700A875C6 /* Ensight6.cpp */; };
BEEABA4F1A49BC8700A875C6 /* Ensight6.hpp in Headers */ = {isa = PBXBuildFile; fileRef = BEEABA4C1A49BC8700A875C6 /* Ensight6.hpp */; };
BEEABA501A49BC8700A875C6 /* Ensight6.hxx in Headers */ = {isa = PBXBuildFile; fileRef = BEEABA4D1A49BC8700A875C6 /* Ensight6.hxx */; };
......@@ -3731,6 +3731,7 @@
BE32927B1A44702C009F0BE2 /* Exception.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = Exception.hpp; sourceTree = "<group>"; };
BE372DCF18C47F3B00127212 /* main_test_geometry.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = main_test_geometry.cpp; sourceTree = "<group>"; };
BE372DDB18C4802900127212 /* main_test.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = main_test.cpp; sourceTree = "<group>"; };
BE397EC91C29947800F9600D /* DofProgramWiseIndexListPerVertexCoordIndex.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DofProgramWiseIndexListPerVertexCoordIndex.cpp; sourceTree = "<group>"; };
BE3A54E419DA9CF800A52D92 /* EnumInterface.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = EnumInterface.hpp; sourceTree = "<group>"; };
BE3A54E919DAA49200A52D92 /* EnumInterface.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = EnumInterface.cpp; sourceTree = "<group>"; };
BE3AB275183503A5009E1B76 /* Elasticity */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = Elasticity; sourceTree = BUILT_PRODUCTS_DIR; };
......@@ -3947,6 +3948,7 @@
BE607D001B1DE2E6008017B9 /* SpatialFunction.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = SpatialFunction.cpp; path = Parameter/SpatialFunction.cpp; sourceTree = "<group>"; };
BE607D021B1DE2E6008017B9 /* SpatialFunction.hxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = SpatialFunction.hxx; path = Parameter/SpatialFunction.hxx; sourceTree = "<group>"; };
BE608BEB1B303C8C00D34774 /* EnumTopology.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = EnumTopology.hpp; sourceTree = "<group>"; };
BE60991D1C299EBE00277918 /* DofProgramWiseIndexListPerVertexCoordIndexManager.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DofProgramWiseIndexListPerVertexCoordIndexManager.cpp; sourceTree = "<group>"; };
BE616F4C1B8775D4007FFC00 /* InputParameter.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = InputParameter.hpp; path = Crtp/InputParameter.hpp; sourceTree = "<group>"; };
BE616F4D1B8775D4007FFC00 /* InputParameter.hxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = InputParameter.hxx; path = Crtp/InputParameter.hxx; sourceTree = "<group>"; };
BE617B51196C2ED70060B609 /* Hyperelasticity.hpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 4; path = Hyperelasticity.hpp; sourceTree = "<group>"; };
......@@ -4675,12 +4677,10 @@
BEE8CAA61C2452D20006C9C8 /* InitVertexMatching.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = InitVertexMatching.cpp; path = Interpolator/Private/InitVertexMatching.cpp; sourceTree = "<group>"; };
BEE8CAA71C2452D20006C9C8 /* InitVertexMatching.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = InitVertexMatching.hpp; path = Interpolator/Private/InitVertexMatching.hpp; sourceTree = "<group>"; };
BEE8CAAC1C24530B0006C9C8 /* InitVertexMatching.hxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = InitVertexMatching.hxx; path = Interpolator/InitVertexMatching.hxx; sourceTree = "<group>"; };
BEE8CAB21C2464A10006C9C8 /* InitVertexMatchingManager.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = InitVertexMatchingManager.cpp; sourceTree = "<group>"; };
BEE8CAB31C2464A10006C9C8 /* InitVertexMatchingManager.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = InitVertexMatchingManager.hpp; sourceTree = "<group>"; };
BEE8CAB41C2464A10006C9C8 /* InitVertexMatchingManager.hxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = InitVertexMatchingManager.hxx; sourceTree = "<group>"; };
BEE8CAB81C2465E00006C9C8 /* InitVertexMatching.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = InitVertexMatching.cpp; sourceTree = "<group>"; };
BEE8CAB91C2465E00006C9C8 /* InitVertexMatching.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = InitVertexMatching.hpp; sourceTree = "<group>"; };
BEE8CABA1C2465E00006C9C8 /* InitVertexMatching.hxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = InitVertexMatching.hxx; sourceTree = "<group>"; };
BEE8CAB31C2464A10006C9C8 /* DofProgramWiseIndexListPerVertexCoordIndexManager.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = DofProgramWiseIndexListPerVertexCoordIndexManager.hpp; sourceTree = "<group>"; };
BEE8CAB41C2464A10006C9C8 /* DofProgramWiseIndexListPerVertexCoordIndexManager.hxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = DofProgramWiseIndexListPerVertexCoordIndexManager.hxx; sourceTree = "<group>"; };
BEE8CAB91C2465E00006C9C8 /* DofProgramWiseIndexListPerVertexCoordIndex.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = DofProgramWiseIndexListPerVertexCoordIndex.hpp; sourceTree = "<group>"; };
BEE8CABA1C2465E00006C9C8 /* DofProgramWiseIndexListPerVertexCoordIndex.hxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = DofProgramWiseIndexListPerVertexCoordIndex.hxx; sourceTree = "<group>"; };
BEEABA4B1A49BC8700A875C6 /* Ensight6.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Ensight6.cpp; sourceTree = "<group>"; };
BEEABA4C1A49BC8700A875C6 /* Ensight6.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = Ensight6.hpp; sourceTree = "<group>"; };
BEEABA4D1A49BC8700A875C6 /* Ensight6.hxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = Ensight6.hxx; sourceTree = "<group>"; };
......@@ -7661,12 +7661,12 @@
BE646CCE1B32987C008BD37C /* QuadratureRuleTracker.cpp */,
BE646CCF1B32987C008BD37C /* QuadratureRuleTracker.hpp */,
BE646CD01B32987C008BD37C /* QuadratureRuleTracker.hxx */,
BEE8CAB81C2465E00006C9C8 /* InitVertexMatching.cpp */,
BEE8CAB91C2465E00006C9C8 /* InitVertexMatching.hpp */,
BEE8CABA1C2465E00006C9C8 /* InitVertexMatching.hxx */,
BEE8CAB21C2464A10006C9C8 /* InitVertexMatchingManager.cpp */,
BEE8CAB31C2464A10006C9C8 /* InitVertexMatchingManager.hpp */,
BEE8CAB41C2464A10006C9C8 /* InitVertexMatchingManager.hxx */,
BE397EC91C29947800F9600D /* DofProgramWiseIndexListPerVertexCoordIndex.cpp */,
BEE8CAB91C2465E00006C9C8 /* DofProgramWiseIndexListPerVertexCoordIndex.hpp */,
BEE8CABA1C2465E00006C9C8 /* DofProgramWiseIndexListPerVertexCoordIndex.hxx */,
BE60991D1C299EBE00277918 /* DofProgramWiseIndexListPerVertexCoordIndexManager.cpp */,
BEE8CAB31C2464A10006C9C8 /* DofProgramWiseIndexListPerVertexCoordIndexManager.hpp */,
BEE8CAB41C2464A10006C9C8 /* DofProgramWiseIndexListPerVertexCoordIndexManager.hxx */,
BEBEB21D19C849C200E4EA1D /* Impl */,
);
path = Private;
......@@ -8802,7 +8802,7 @@
BEB7B1051BB4168F005E5D18 /* DirichletBoundaryConditionManager.hxx in Headers */,
BE2B663D1A2778C700E80864 /* GeometryBasedBasicRefFElt.hpp in Headers */,
BE5CA7C11ADBC5BD00758CD2 /* MatrixPattern.hpp in Headers */,
BEE8CABC1C2465E00006C9C8 /* InitVertexMatching.hpp in Headers */,
BEE8CABC1C2465E00006C9C8 /* DofProgramWiseIndexListPerVertexCoordIndex.hpp in Headers */,
BE90E0771A2491AE00CCAFDE /* AttributeProcessorHelper.hxx in Headers */,
BE90E1511A2491AE00CCAFDE /* Comp23.hpp in Headers */,
BE90E0FD1A2491AE00CCAFDE /* QuadraturePoint.hpp in Headers */,
......@@ -8858,13 +8858,13 @@
BE63C14D1B2186ED00978D05 /* PointP0.hpp in Headers */,
BE90E10C1A2491AE00CCAFDE /* Triangle.hpp in Headers */,
BE86A9EF1A385C9B003B211D /* SegmentP2.hpp in Headers */,
BEE8CAB71C2464A10006C9C8 /* InitVertexMatchingManager.hxx in Headers */,
BEE8CABD1C2465E00006C9C8 /* InitVertexMatching.hxx in Headers */,
BEE8CAB71C2464A10006C9C8 /* DofProgramWiseIndexListPerVertexCoordIndexManager.hxx in Headers */,
BEE8CABD1C2465E00006C9C8 /* DofProgramWiseIndexListPerVertexCoordIndex.hxx in Headers */,
BE2B66641A2778C700E80864 /* RefFEltSpace.hxx in Headers */,
BE90E1251A2491AE00CCAFDE /* NodeBearer.hpp in Headers */,
BE44ECC41AC9463D00561634 /* GodOfDofManager.hpp in Headers */,
BE90E1361A2491AE00CCAFDE /* ComponentManager.hpp in Headers */,
BEE8CAB61C2464A10006C9C8 /* InitVertexMatchingManager.hpp in Headers */,
BEE8CAB61C2464A10006C9C8 /* DofProgramWiseIndexListPerVertexCoordIndexManager.hpp in Headers */,
BE90E07C1A2491AE00CCAFDE /* ComputeDofIndexes.hxx in Headers */,
13EDDEC91AB03E1B00A1E8F9 /* PointP1.hpp in Headers */,
BE90E14D1A2491AE00CCAFDE /* Comp13.hpp in Headers */,
......@@ -10710,7 +10710,6 @@
BE90E10F1A2491AE00CCAFDE /* Quadrangle.cpp in Sources */,
BE19AB531A37354100EAF725 /* SegmentP1.cpp in Sources */,
BE90E0781A2491AE00CCAFDE /* InterfaceSpecialization.cpp in Sources */,
BEE8CABB1C2465E00006C9C8 /* InitVertexMatching.cpp in Sources */,
BE90E1241A2491AE00CCAFDE /* NodeBearer.cpp in Sources */,
BE5CA7C01ADBC5BD00758CD2 /* MatrixPattern.cpp in Sources */,
BE90E0691A2491AE00CCAFDE /* FEltSpaceStorage.cpp in Sources */,
......@@ -10742,7 +10741,6 @@
BE3221891B4686B100F27D6C /* Local2GlobalStorage.cpp in Sources */,
BE90E0FF1A2491AE00CCAFDE /* QuadratureRule.cpp in Sources */,
BE90E10D1A2491AE00CCAFDE /* Tetrahedron.cpp in Sources */,
BEE8CAB51C2464A10006C9C8 /* InitVertexMatchingManager.cpp in Sources */,
BE90E1131A2491AE00CCAFDE /* QuadratureRuleList.cpp in Sources */,
BE90E14A1A2491AE00CCAFDE /* Comp123.cpp in Sources */,
BE43DC9C1BCCFF980093EB01 /* AllocateGlobalLinearAlgebra.cpp in Sources */,
......@@ -10816,9 +10814,11 @@
BE4B8B911BEA53290060BBC4 /* ShellMatrix.cpp in Sources */,
BE41A8D11A24AA7F004E4312 /* Petsc.cpp in Sources */,
BE90E1AF1A24929A00CCAFDE /* Vector.cpp in Sources */,
BE397ECA1C29947800F9600D /* DofProgramWiseIndexListPerVertexCoordIndex.cpp in Sources */,
BE90E1711A24926E00CCAFDE /* String.cpp in Sources */,
BEEABA631A49CB5A00A875C6 /* CommandLineOptions.cpp in Sources */,
BEE77CEC1C19BFFD00D7203C /* ShapeFunctionTriangleP1Bubble.cpp in Sources */,
BE60991E1C299EBE00277918 /* DofProgramWiseIndexListPerVertexCoordIndexManager.cpp in Sources */,
BE863E3B1BE7AB6700EE3338 /* Snes.cpp in Sources */,
BE90E1961A24929A00CCAFDE /* libmesh5.c in Sources */,
BE90E1941A24929A00CCAFDE /* TimeKeep.cpp in Sources */,
......
//
// InitVertexMatching.hpp
// InitVertexMatchingInterpolator.hpp
// HappyHeart
//
// Created by Sebastien Gilles on 18/12/15.
......@@ -32,11 +32,11 @@ namespace HappyHeart
{
/*!
* \brief Common base class from which all InputParameter::InitVertexMatching should inherit.
* \brief Common base class from which all InputParameter::InitVertexMatchingInterpolator should inherit.
*
* This brief class is used to tag domains within the input parameter data (through std::is_base_of<>).
*/
struct InitVertexMatching
struct InitVertexMatchingInterpolator
{ };
......@@ -47,19 +47,19 @@ namespace HappyHeart
/*!
* \brief Holds information related to the input parameter InitVertexMatching.
* \brief Holds information related to the input parameter InitVertexMatchingInterpolator.
*
* \tparam IndexT An interpolator requires at least two such objects (one for source and another for target).
* Index is used to tag each of them.
*
* \code
* InitVertexMatching1 = { # 1 is the index here
* InitVertexMatchingInterpolator1 = { # 1 is the index here
* felt_space = 1,
* numbering_subset = 3
* ...
* }
*
* InitVertexMatching2 = { # 2 is the index here
* InitVertexMatchingInterpolator2 = { # 2 is the index here
* felt_space = 2,
* numbering_subset = 1
* ...
......@@ -69,16 +69,16 @@ namespace HappyHeart
*/
template<unsigned int IndexT>
struct InitVertexMatching
: public Crtp::Section<InitVertexMatching<IndexT>, NoEnclosingSection>,
public BaseNS::InitVertexMatching
struct InitVertexMatchingInterpolator
: public Crtp::Section<InitVertexMatchingInterpolator<IndexT>, NoEnclosingSection>,
public BaseNS::InitVertexMatchingInterpolator
{
/*!
* \brief Return the name of the section in the input parameter.
*
* e.g. 'InitVertexMatching1' for IndexT = 1.
* e.g. 'InitVertexMatchingInterpolator1' for IndexT = 1.
*/
static const std::string& GetName();
......@@ -87,7 +87,7 @@ namespace HappyHeart
//! Convenient alias.
using self = InitVertexMatching<IndexT>;
using self = InitVertexMatchingInterpolator<IndexT>;
......@@ -100,7 +100,7 @@ namespace HappyHeart
* \brief Finite element space.
*/
struct FEltSpaceIndex : public Crtp::InputParameter<FEltSpaceIndex, self, unsigned int>,
public Private::InitVertexMatchingNS::FEltSpaceIndexImpl
public Private::InitVertexMatchingInterpolatorNS::FEltSpaceIndexImpl
{ };
......@@ -108,7 +108,7 @@ namespace HappyHeart
* \brief Format of the mesh file.
*/
struct NumberingSubsetIndex : public Crtp::InputParameter<NumberingSubsetIndex, self, unsigned int>,
public Private::InitVertexMatchingNS::NumberingSubsetIndexImpl
public Private::InitVertexMatchingInterpolatorNS::NumberingSubsetIndexImpl
{ };
......
//
// InitVertexMatching.hxx
// InitVertexMatchingInterpolator.hxx
// HappyHeart
//
// Created by Sebastien Gilles on 18/12/15.
......@@ -19,15 +19,15 @@ namespace HappyHeart
template<unsigned int IndexT>
const std::string& InitVertexMatching<IndexT>::GetName()
const std::string& InitVertexMatchingInterpolator<IndexT>::GetName()
{
static std::string ret = Private::GenerateSectionName("InitVertexMatching", IndexT);
static std::string ret = Private::GenerateSectionName("InitVertexMatchingInterpolator", IndexT);
return ret;
};
template<unsigned int IndexT>
constexpr unsigned int InitVertexMatching<IndexT>::GetUniqueId() noexcept
constexpr unsigned int InitVertexMatchingInterpolator<IndexT>::GetUniqueId() noexcept
{
return IndexT;
}
......
......@@ -25,7 +25,7 @@ namespace HappyHeart
{
namespace InitVertexMatchingNS
namespace InitVertexMatchingInterpolatorNS
{
......@@ -84,7 +84,7 @@ namespace HappyHeart
} // namespace InitVertexMatchingNS
} // namespace InitVertexMatchingInterpolatorNS
} // namespace Private
......
......@@ -25,7 +25,7 @@ namespace HappyHeart
{
namespace InitVertexMatchingNS
namespace InitVertexMatchingInterpolatorNS
{
......@@ -118,7 +118,7 @@ namespace HappyHeart
} // namespace InitVertexMatchingNS
} // namespace InitVertexMatchingInterpolatorNS
} // namespace Private
......
......@@ -25,7 +25,7 @@
# include "FiniteElement/FiniteElementSpace/Private/MatrixPattern.hpp"
# include "FiniteElement/FiniteElementSpace/Private/ComputeMatrixPattern.hpp"
# include "FiniteElement/FiniteElementSpace/Private/QuadratureRuleTracker.hpp"
# include "FiniteElement/FiniteElementSpace/Private/InitVertexMatchingManager.hpp"
# include "FiniteElement/FiniteElementSpace/Private/DofProgramWiseIndexListPerVertexCoordIndexManager.hpp"
# include "FiniteElement/BoundaryConditions/DirichletBoundaryCondition.hpp"
......@@ -546,13 +546,13 @@ namespace HappyHeart
/*!
* \brief Init the InitVertexMatching objects related to a given GodOfDof.
* \brief Init the DofProgramWiseIndexListPerVertexCoordIndex objects related to a given GodOfDof.
*
* Such an object is strongly related to a GodOfDof; upon reading the input parameter data file
* each of them can only be created by the GodOfDof to which it is related.
*/
// template<class InputParameterDataT>
// void SetInitVertexMatching(const InputParameterDataT& input_parameter_data,
// void SetDofProgramWiseIndexListPerVertexCoordIndex(const InputParameterDataT& input_parameter_data,
// const GodOfDof& god_of_dof)
......
......@@ -34,7 +34,7 @@ namespace HappyHeart
template<class InputParameterDataT>
void GodOfDof::Init2(const InputParameterDataT& input_parameter_data)
{
Private::SetFromInputParameterData<Private::InitVertexMatchingManager>(input_parameter_data, *this);
Private::SetFromInputParameterData<Private::DofProgramWiseIndexListPerVertexCoordIndexManager>(input_parameter_data, *this);
}
......
//
// InitVertexMatching.cpp
// DofProgramWiseIndexListPerVertexCoordIndex.cpp
// HappyHeart
//
// Created by Sebastien Gilles on 18/12/15.
......@@ -8,7 +8,7 @@
#include "Core/NumberingSubset.hpp"
#include "FiniteElement/FiniteElementSpace/Private/InitVertexMatching.hpp"
#include "FiniteElement/FiniteElementSpace/Private/DofProgramWiseIndexListPerVertexCoordIndex.hpp"
#include "FiniteElement/FiniteElementSpace/FEltSpace.hpp"
#include "FiniteElement/FiniteElementSpace/GodOfDof.hpp"
......@@ -21,7 +21,7 @@ namespace HappyHeart
{
InitVertexMatching::InitVertexMatching(const unsigned int unique_id,
DofProgramWiseIndexListPerVertexCoordIndex::DofProgramWiseIndexListPerVertexCoordIndex(const unsigned int unique_id,
const FEltSpace& felt_space,
const NumberingSubset& numbering_subset)
: unique_id_parent(unique_id),
......@@ -111,14 +111,14 @@ namespace HappyHeart
}
const std::string& InitVertexMatching::ClassName()
const std::string& DofProgramWiseIndexListPerVertexCoordIndex::ClassName()
{
static std::string ret("InitVertexMatching");
static std::string ret("DofProgramWiseIndexListPerVertexCoordIndex");
return ret;
}
void InitVertexMatching::ReduceToProcessorWise()
void DofProgramWiseIndexListPerVertexCoordIndex::ReduceToProcessorWise()
{
#ifndef NDEBUG
assert(!is_reduced_to_processor_wise_);
......@@ -168,7 +168,7 @@ namespace HappyHeart
}
unsigned int InitVertexMatching::ComputeNprocessorWisedof()
unsigned int DofProgramWiseIndexListPerVertexCoordIndex::ComputeNprocessorWisedof()
{
const auto& felt_space = GetFEltSpace();
decltype(auto) complete_dof_list = felt_space.GetProcessorWiseDofList();
......
//
// InitVertexMatching.hpp
// ComputeDofProgramWiseIndexListPerVertexCoordIndex.hpp
// HappyHeart
//
// Created by Sebastien Gilles on 18/12/15.
......@@ -46,7 +46,7 @@ namespace HappyHeart
// ============================
class InitVertexMatchingManager;
class DofProgramWiseIndexListPerVertexCoordIndexManager;
// ============================
......@@ -55,22 +55,37 @@ namespace HappyHeart
class InitVertexMatching : public ::HappyHeart::Crtp::UniqueId<InitVertexMatching, UniqueIdNS::AssignationMode::manual>
/*!
* \brief An internal class used to init correctly a VertexMatching interpolator.
*
* Non conform interpolators require in their implementation data that are available BEFORE the dataset is
* reduced to processor-wise data. Obtaining them by processor communication is both tricky to implement and
* expensive, so the idea here is to store the data before reduction in a form that does not interfere with
* the data reduction process.
*
* That's the reason current class - intended to be used solely at low level - does something I usually despise:
* it relies upon integer indexes rather than objects. The reason for this is the reduction process rely on
* the fact a shared_pointer is no longer useful, so I can't use it at this moment.
*
* A VertexMatching interpolator actually requires two such class: one for source and the other for target.
*/
class DofProgramWiseIndexListPerVertexCoordIndex
: public ::HappyHeart::Crtp::UniqueId<DofProgramWiseIndexListPerVertexCoordIndex, UniqueIdNS::AssignationMode::manual>
{
public:
//! Alias to self.
using self = InitVertexMatching;
using self = DofProgramWiseIndexListPerVertexCoordIndex;
//! Alias to unique pointer.
using unique_ptr = std::unique_ptr<self>;
//! Friendship to manager.
friend InitVertexMatchingManager;
friend DofProgramWiseIndexListPerVertexCoordIndexManager;
//! Convenient alias to parent.
using unique_id_parent = ::HappyHeart::Crtp::UniqueId<InitVertexMatching, UniqueIdNS::AssignationMode::manual>;
using unique_id_parent = ::HappyHeart::Crtp::UniqueId<DofProgramWiseIndexListPerVertexCoordIndex, UniqueIdNS::AssignationMode::manual>;
//! Returns the name of the class.
static const std::string& ClassName();
......@@ -85,29 +100,30 @@ namespace HappyHeart
///@{
//! Constructor.
explicit InitVertexMatching(unsigned int unique_id,
explicit DofProgramWiseIndexListPerVertexCoordIndex(unsigned int unique_id,
const FEltSpace& felt_space,
const NumberingSubset& numbering_subset);
//! Destructor.
~InitVertexMatching() = default;
~DofProgramWiseIndexListPerVertexCoordIndex() = default;
//! Copy constructor.
InitVertexMatching(const InitVertexMatching&) = delete;
DofProgramWiseIndexListPerVertexCoordIndex(const DofProgramWiseIndexListPerVertexCoordIndex&) = delete;
//! Move constructor.
InitVertexMatching(InitVertexMatching&&) = delete;
DofProgramWiseIndexListPerVertexCoordIndex(DofProgramWiseIndexListPerVertexCoordIndex&&) = delete;
//! Copy affectation.
InitVertexMatching& operator=(const InitVertexMatching&) = delete;
DofProgramWiseIndexListPerVertexCoordIndex& operator=(const DofProgramWiseIndexListPerVertexCoordIndex&) = delete;
//! Move affectation.
InitVertexMatching& operator=(InitVertexMatching&&) = delete;
DofProgramWiseIndexListPerVertexCoordIndex& operator=(DofProgramWiseIndexListPerVertexCoordIndex&&) = delete;
///@}
public:
//!
const FEltSpace& GetFEltSpace() const noexcept;
const NumberingSubset& GetNumberingSubset() const noexcept;
......@@ -151,7 +167,7 @@ namespace HappyHeart
} // namespace HappyHeart
# include "FiniteElement/FiniteElementSpace/Private/InitVertexMatching.hxx"
# include "FiniteElement/FiniteElementSpace/Private/DofProgramWiseIndexListPerVertexCoordIndex.hxx"
#endif // HAPPY_HEART_x_FINITE_ELEMENT_x_FINITE_ELEMENT_SPACE_x_PRIVATE_x_INIT_VERTEX_MATCHING_HPP_
//
// InitVertexMatching.hxx
// DofProgramWiseIndexListPerVertexCoordIndex.hxx
// HappyHeart
//
// Created by Sebastien Gilles on 18/12/15.
......@@ -18,40 +18,32 @@ namespace HappyHeart
{
inline InitVertexMatching::storage_type& InitVertexMatching
inline DofProgramWiseIndexListPerVertexCoordIndex::storage_type& DofProgramWiseIndexListPerVertexCoordIndex
::GetNonCstDofProgramWiseIndexPerCoordIndex() noexcept
{
return const_cast<InitVertexMatching::storage_type&>(GetDofProgramWiseIndexPerCoordIndex());
return const_cast<DofProgramWiseIndexListPerVertexCoordIndex::storage_type&>(GetDofProgramWiseIndexPerCoordIndex());
}
inline const FEltSpace& InitVertexMatching::GetFEltSpace() const noexcept
inline const FEltSpace& DofProgramWiseIndexListPerVertexCoordIndex::GetFEltSpace() const noexcept
{
return felt_space_;
}
inline const NumberingSubset& InitVertexMatching::GetNumberingSubset() const noexcept
inline const NumberingSubset& DofProgramWiseIndexListPerVertexCoordIndex::GetNumberingSubset() const noexcept
{
return numbering_subset_;
}
inline unsigned int InitVertexMatching::NprogramWisedof() const noexcept
inline unsigned int DofProgramWiseIndexListPerVertexCoordIndex::NprogramWisedof() const noexcept
{
return Nprogram_wise_dof_;
}
// inline unsigned int InitVertexMatching::NprocessorWisedof() const noexcept
// {
// assert(is_reduced_to_processor_wise_ && "ReduceToProcessorWise() must be called first!");
// return Nprocessor_wise_dof_;
// }
inline const InitVertexMatching::storage_type& InitVertexMatching
inline const DofProgramWiseIndexListPerVertexCoordIndex::storage_type& DofProgramWiseIndexListPerVertexCoordIndex
::GetDofProgramWiseIndexPerCoordIndex() const noexcept
{
return dof_program_wise_index_per_coord_index_;
......
......@@ -7,7 +7,7 @@
//
#include "FiniteElement/FiniteElementSpace/GodOfDof.hpp"
#include "FiniteElement/FiniteElementSpace/Private/InitVertexMatchingManager.hpp"
#include "FiniteElement/FiniteElementSpace/Private/DofProgramWiseIndexListPerVertexCoordIndexManager.hpp"
namespace HappyHeart
......@@ -18,14 +18,14 @@ namespace HappyHeart
{
const std::string& InitVertexMatchingManager::ClassName()
const std::string& DofProgramWiseIndexListPerVertexCoordIndexManager::ClassName()
{
static std::string ret("InitVertexMatchingManager");
static std::string ret("DofProgramWiseIndexListPerVertexCoordIndexManager");
return ret;
}
void InitVertexMatchingManager::Create(const unsigned int unique_id,
void DofProgramWiseIndexListPerVertexCoordIndexManager::Create(const unsigned int unique_id,
const GodOfDof& god_of_dof,
const unsigned int felt_space_index,
const unsigned int numbering_subset_index)
......@@ -50,9 +50,10 @@ namespace HappyHeart
// make_unique is not accepted here: it makes the code yell about private status of the constructor
// with both clang and gcc.
InitVertexMatching* buf = new InitVertexMatching(unique_id, felt_space, numbering_subset);
DofProgramWiseIndexListPerVertexCoordIndex* buf
= new DofProgramWiseIndexListPerVertexCoordIndex(unique_id, felt_space, numbering_subset);
auto&& ptr = InitVertexMatching::unique_ptr(buf);
auto&& ptr = DofProgramWiseIndexListPerVertexCoordIndex::unique_ptr(buf);