Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
MoReFEM
CoreLibrary
MoReFEM
Commits
1c18b201
Commit
1c18b201
authored
Dec 22, 2015
by
GILLES Sebastien
Browse files
#772
VertexMatching: rename the private class and add comments.
parent
a7d8cdf7
Changes
21
Hide whitespace changes
Inline
Side-by-side
Data/Lua/demo_input_fsi_ei_two_meshes.lua
View file @
1c18b201
...
...
@@ -719,7 +719,7 @@ FiniteElementSpace7 = {
-- Solid
InitVertexMatching
1
=
{
DofProgramWiseIndexListPerVertexCoordIndex
1
=
{
-- 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
}
--
InitVertexMatching
1
}
--
DofProgramWiseIndexListPerVertexCoordIndex
1
-- Fluid
InitVertexMatching
2
=
{
DofProgramWiseIndexListPerVertexCoordIndex
2
=
{
-- 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
}
--
InitVertexMatching
2
}
--
DofProgramWiseIndexListPerVertexCoordIndex
2
Petsc1
=
{
...
...
HappyHeart.xcodeproj/project.pbxproj
View file @
1c18b201
...
...
@@ -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 */,
BE
E8CAB81C2465E00006C9C8 /* InitVertexMatching
.cpp */,
BEE8CAB91C2465E00006C9C8 /*
InitVertexMatching
.hpp */,
BEE8CABA1C2465E00006C9C8 /*
InitVertexMatching
.hxx */,
BE
E8CAB21C2464A10006C9C8 /* InitVertexMatching
Manager.cpp */,
BEE8CAB31C2464A10006C9C8 /*
InitVertexMatching
Manager.hpp */,
BEE8CAB41C2464A10006C9C8 /*
InitVertexMatching
Manager.hxx */,
BE
397EC91C29947800F9600D /* DofProgramWiseIndexListPerVertexCoordIndex
.cpp */,
BEE8CAB91C2465E00006C9C8 /*
DofProgramWiseIndexListPerVertexCoordIndex
.hpp */,
BEE8CABA1C2465E00006C9C8 /*
DofProgramWiseIndexListPerVertexCoordIndex
.hxx */,
BE
60991D1C299EBE00277918 /* DofProgramWiseIndexListPerVertexCoordIndex
Manager.cpp */,
BEE8CAB31C2464A10006C9C8 /*
DofProgramWiseIndexListPerVertexCoordIndex
Manager.hpp */,
BEE8CAB41C2464A10006C9C8 /*
DofProgramWiseIndexListPerVertexCoordIndex
Manager.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 /*
InitVertexMatching
Manager.hxx in Headers */,
BEE8CABD1C2465E00006C9C8 /*
InitVertexMatching
.hxx in Headers */,
BEE8CAB71C2464A10006C9C8 /*
DofProgramWiseIndexListPerVertexCoordIndex
Manager.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 /*
InitVertexMatching
Manager.hpp in Headers */,
BEE8CAB61C2464A10006C9C8 /*
DofProgramWiseIndexListPerVertexCoordIndex
Manager.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 */,
...
...
Sources/Core/InputParameter/Interpolator/InitVertexMatching.hpp
View file @
1c18b201
//
// InitVertexMatching.hpp
// InitVertexMatching
Interpolator
.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::InitVertexMatching
Interpolator
should inherit.
*
* This brief class is used to tag domains within the input parameter data (through std::is_base_of<>).
*/
struct
InitVertexMatching
struct
InitVertexMatching
Interpolator
{
};
...
...
@@ -47,19 +47,19 @@ namespace HappyHeart
/*!
* \brief Holds information related to the input parameter InitVertexMatching.
* \brief Holds information related to the input parameter InitVertexMatching
Interpolator
.
*
* \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
* InitVertexMatching
Interpolator
1 = { # 1 is the index here
* felt_space = 1,
* numbering_subset = 3
* ...
* }
*
* InitVertexMatching2 = { # 2 is the index here
* InitVertexMatching
Interpolator
2 = { # 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
InitVertexMatching
Interpolator
:
public
Crtp
::
Section
<
InitVertexMatching
Interpolator
<
IndexT
>
,
NoEnclosingSection
>
,
public
BaseNS
::
InitVertexMatching
Interpolator
{
/*!
* \brief Return the name of the section in the input parameter.
*
* e.g. 'InitVertexMatching1' for IndexT = 1.
* e.g. 'InitVertexMatching
Interpolator
1' for IndexT = 1.
*/
static
const
std
::
string
&
GetName
();
...
...
@@ -87,7 +87,7 @@ namespace HappyHeart
//! Convenient alias.
using
self
=
InitVertexMatching
<
IndexT
>
;
using
self
=
InitVertexMatching
Interpolator
<
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
::
InitVertexMatching
Interpolator
NS
::
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
::
InitVertexMatching
Interpolator
NS
::
NumberingSubsetIndexImpl
{
};
...
...
Sources/Core/InputParameter/Interpolator/InitVertexMatching.hxx
View file @
1c18b201
//
// InitVertexMatching.hxx
// InitVertexMatching
Interpolator
.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
&
InitVertexMatching
Interpolator
<
IndexT
>::
GetName
()
{
static
std
::
string
ret
=
Private
::
GenerateSectionName
(
"InitVertexMatching"
,
IndexT
);
static
std
::
string
ret
=
Private
::
GenerateSectionName
(
"InitVertexMatching
Interpolator
"
,
IndexT
);
return
ret
;
};
template
<
unsigned
int
IndexT
>
constexpr
unsigned
int
InitVertexMatching
<
IndexT
>::
GetUniqueId
()
noexcept
constexpr
unsigned
int
InitVertexMatching
Interpolator
<
IndexT
>::
GetUniqueId
()
noexcept
{
return
IndexT
;
}
...
...
Sources/Core/InputParameter/Interpolator/Private/InitVertexMatching.cpp
View file @
1c18b201
...
...
@@ -25,7 +25,7 @@ namespace HappyHeart
{
namespace
InitVertexMatchingNS
namespace
InitVertexMatching
Interpolator
NS
{
...
...
@@ -84,7 +84,7 @@ namespace HappyHeart
}
// namespace InitVertexMatchingNS
}
// namespace InitVertexMatching
Interpolator
NS
}
// namespace Private
...
...
Sources/Core/InputParameter/Interpolator/Private/InitVertexMatching.hpp
View file @
1c18b201
...
...
@@ -25,7 +25,7 @@ namespace HappyHeart
{
namespace
InitVertexMatchingNS
namespace
InitVertexMatching
Interpolator
NS
{
...
...
@@ -118,7 +118,7 @@ namespace HappyHeart
}
// namespace InitVertexMatchingNS
}
// namespace InitVertexMatching
Interpolator
NS
}
// namespace Private
...
...
Sources/FiniteElement/FiniteElementSpace/GodOfDof.hpp
View file @
1c18b201
...
...
@@ -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/
InitVertexMatching
Manager.hpp"
# include "FiniteElement/FiniteElementSpace/Private/
DofProgramWiseIndexListPerVertexCoordIndex
Manager.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 Set
InitVertexMatching
(const InputParameterDataT& input_parameter_data,
// void Set
DofProgramWiseIndexListPerVertexCoordIndex
(const InputParameterDataT& input_parameter_data,
// const GodOfDof& god_of_dof)
...
...
Sources/FiniteElement/FiniteElementSpace/GodOfDof.hxx
View file @
1c18b201
...
...
@@ -34,7 +34,7 @@ namespace HappyHeart
template
<
class
InputParameterDataT
>
void
GodOfDof
::
Init2
(
const
InputParameterDataT
&
input_parameter_data
)
{
Private
::
SetFromInputParameterData
<
Private
::
InitVertexMatching
Manager
>
(
input_parameter_data
,
*
this
);
Private
::
SetFromInputParameterData
<
Private
::
DofProgramWiseIndexListPerVertexCoordIndex
Manager
>
(
input_parameter_data
,
*
this
);
}
...
...
Sources/FiniteElement/FiniteElementSpace/Private/
InitVertexMatching
.cpp
→
Sources/FiniteElement/FiniteElementSpace/Private/
DofProgramWiseIndexListPerVertexCoordIndex
.cpp
View file @
1c18b201
//
//
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
();
...
...
Sources/FiniteElement/FiniteElementSpace/Private/
InitVertexMatching
.hpp
→
Sources/FiniteElement/FiniteElementSpace/Private/
DofProgramWiseIndexListPerVertexCoordIndex
.hpp
View file @
1c18b201
//
//
InitVertexMatching
.hpp
//
ComputeDofProgramWiseIndexListPerVertexCoordIndex
.hpp
// HappyHeart
//
// Created by Sebastien Gilles on 18/12/15.
...
...
@@ -46,7 +46,7 @@ namespace HappyHeart
// ============================
class
InitVertexMatching
Manager
;
class
DofProgramWiseIndexListPerVertexCoordIndex
Manager
;
// ============================
...
...
@@ -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
InitVertexMatching
Manager
;
friend
DofProgramWiseIndexListPerVertexCoordIndex
Manager
;
//! 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_
Sources/FiniteElement/FiniteElementSpace/Private/
InitVertexMatching
.hxx
→
Sources/FiniteElement/FiniteElementSpace/Private/
DofProgramWiseIndexListPerVertexCoordIndex
.hxx
View file @
1c18b201
//
//
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_
;
...
...
Sources/FiniteElement/FiniteElementSpace/Private/
InitVertexMatching
Manager.cpp
→
Sources/FiniteElement/FiniteElementSpace/Private/
DofProgramWiseIndexListPerVertexCoordIndex
Manager.cpp
View file @
1c18b201
...
...
@@ -7,7 +7,7 @@
//
#include "FiniteElement/FiniteElementSpace/GodOfDof.hpp"
#include "FiniteElement/FiniteElementSpace/Private/
InitVertexMatching
Manager.hpp"
#include "FiniteElement/FiniteElementSpace/Private/
DofProgramWiseIndexListPerVertexCoordIndex
Manager.hpp"
namespace
HappyHeart
...
...
@@ -18,14 +18,14 @@ namespace HappyHeart
{
const
std
::
string
&
InitVertexMatching
Manager
::
ClassName
()
const
std
::
string
&
DofProgramWiseIndexListPerVertexCoordIndex
Manager
::
ClassName
()
{
static
std
::
string
ret
(
"
InitVertexMatching
Manager"
);
static
std
::
string
ret
(
"
DofProgramWiseIndexListPerVertexCoordIndex
Manager"
);
return
ret
;
}
void
InitVertexMatching
Manager
::
Create
(
const
unsigned
int
unique_id
,
void
DofProgramWiseIndexListPerVertexCoordIndex
Manager
::
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
);