MAJ terminée. Nous sommes passés en version 14.6.2 . Pour consulter les "releases notes" associées c'est ici :

https://about.gitlab.com/releases/2022/01/11/security-release-gitlab-14-6-2-released/
https://about.gitlab.com/releases/2022/01/04/gitlab-14-6-1-released/

Commit 8f3f5565 authored by GILLES Sebastien's avatar GILLES Sebastien
Browse files

#900 QuadratureRule are now handled at the FEltSpace or operator level, and no...

#900 QuadratureRule are now handled at the FEltSpace or operator level, and no longer in the VariationalFormulation.
parent 286c9c94
......@@ -320,8 +320,6 @@
BE168EA51CC96DA00090AC88 /* Tetrahedron10.hxx in Headers */ = {isa = PBXBuildFile; fileRef = BE168EA31CC96DA00090AC88 /* Tetrahedron10.hxx */; };
BE168EA81CC96E020090AC88 /* Hexahedron8.hxx in Headers */ = {isa = PBXBuildFile; fileRef = BE168EA61CC96E020090AC88 /* Hexahedron8.hxx */; };
BE168EA91CC96E020090AC88 /* Hexahedron27.hxx in Headers */ = {isa = PBXBuildFile; fileRef = BE168EA71CC96E020090AC88 /* Hexahedron27.hxx */; };
BE168EAC1CC96E610090AC88 /* Quadrangle4.hxx in Headers */ = {isa = PBXBuildFile; fileRef = BE168EAA1CC96E610090AC88 /* Quadrangle4.hxx */; };
BE168EAD1CC96E610090AC88 /* Quadrangle9.hxx in Headers */ = {isa = PBXBuildFile; fileRef = BE168EAB1CC96E610090AC88 /* Quadrangle9.hxx */; };
BE168EAF1CC96ECB0090AC88 /* Segment2.hxx in Headers */ = {isa = PBXBuildFile; fileRef = BE168EAE1CC96ECB0090AC88 /* Segment2.hxx */; };
BE168EB11CC96F120090AC88 /* Triangle6.hxx in Headers */ = {isa = PBXBuildFile; fileRef = BE168EB01CC96F120090AC88 /* Triangle6.hxx */; };
BE168F091CC97F120090AC88 /* Hexahedron20.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BE168EEA1CC97F120090AC88 /* Hexahedron20.cpp */; };
......@@ -456,9 +454,6 @@
BE2E0CD81ABB094200B543E8 /* Mesh.hpp in Headers */ = {isa = PBXBuildFile; fileRef = BE2E0CD51ABB094200B543E8 /* Mesh.hpp */; };
BE2E47161C7B47D400AC3DDD /* LameLambda.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BE2E47151C7B47D400AC3DDD /* LameLambda.cpp */; };
BE2E47181C7B480100AC3DDD /* LameMu.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BE2E47171C7B480100AC3DDD /* LameMu.cpp */; };
BE2E47231C7B715E00AC3DDD /* DetermineDefaultQuadratureRule.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BE2E47201C7B715E00AC3DDD /* DetermineDefaultQuadratureRule.cpp */; };
BE2E47241C7B715E00AC3DDD /* DetermineDefaultQuadratureRule.hpp in Headers */ = {isa = PBXBuildFile; fileRef = BE2E47211C7B715E00AC3DDD /* DetermineDefaultQuadratureRule.hpp */; };
BE2E47251C7B715E00AC3DDD /* DetermineDefaultQuadratureRule.hxx in Headers */ = {isa = PBXBuildFile; fileRef = BE2E47221C7B715E00AC3DDD /* DetermineDefaultQuadratureRule.hxx */; };
BE2ED6A91CB3DD7C00D00CBF /* Comp1.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BE510D721CB3D44900E953FE /* Comp1.cpp */; };
BE2ED6AA1CB3DD7C00D00CBF /* Comp12.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BE510D741CB3D44900E953FE /* Comp12.cpp */; };
BE2ED6AB1CB3DD7C00D00CBF /* Comp123.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BE510D761CB3D44900E953FE /* Comp123.cpp */; };
......@@ -795,9 +790,6 @@
BE6462391AEE1AEF00D5162A /* GlobalVector.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BE6462361AEE1AEF00D5162A /* GlobalVector.cpp */; };
BE64623A1AEE1AEF00D5162A /* GlobalVector.hpp in Headers */ = {isa = PBXBuildFile; fileRef = BE6462371AEE1AEF00D5162A /* GlobalVector.hpp */; };
BE64623B1AEE1AEF00D5162A /* GlobalVector.hxx in Headers */ = {isa = PBXBuildFile; fileRef = BE6462381AEE1AEF00D5162A /* GlobalVector.hxx */; };
BE646CD11B32987C008BD37C /* QuadratureRuleTracker.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BE646CCE1B32987C008BD37C /* QuadratureRuleTracker.cpp */; };
BE646CD21B32987C008BD37C /* QuadratureRuleTracker.hpp in Headers */ = {isa = PBXBuildFile; fileRef = BE646CCF1B32987C008BD37C /* QuadratureRuleTracker.hpp */; };
BE646CD31B32987C008BD37C /* QuadratureRuleTracker.hxx in Headers */ = {isa = PBXBuildFile; fileRef = BE646CD01B32987C008BD37C /* QuadratureRuleTracker.hxx */; };
BE646CD91B1C4AEF001267F4 /* TransientSource.hpp in Headers */ = {isa = PBXBuildFile; fileRef = BE646CD71B1C4AEF001267F4 /* TransientSource.hpp */; };
BE646CD91B32FD77008BD37C /* AtQuadraturePoint.hpp in Headers */ = {isa = PBXBuildFile; fileRef = BE646CD61B32FD77008BD37C /* AtQuadraturePoint.hpp */; };
BE646CDA1B1C4AEF001267F4 /* TransientSource.hxx in Headers */ = {isa = PBXBuildFile; fileRef = BE646CD81B1C4AEF001267F4 /* TransientSource.hxx */; };
......@@ -1201,9 +1193,9 @@
BE97E3E21CC90FF600AB5FF8 /* Hexahedron27.hpp in Headers */ = {isa = PBXBuildFile; fileRef = BE97E3DC1CC90FF600AB5FF8 /* Hexahedron27.hpp */; };
BE97E3E31CC90FF600AB5FF8 /* Hexahedron8.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BE97E3DD1CC90FF600AB5FF8 /* Hexahedron8.cpp */; };
BE97E3E41CC90FF600AB5FF8 /* Hexahedron8.hpp in Headers */ = {isa = PBXBuildFile; fileRef = BE97E3DE1CC90FF600AB5FF8 /* Hexahedron8.hpp */; };
BE9BB77D1CCF67550056B1B8 /* QuadratureRuleList.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BE9BB77A1CCF67550056B1B8 /* QuadratureRuleList.cpp */; };
BE9BB77E1CCF67550056B1B8 /* QuadratureRuleList.hpp in Headers */ = {isa = PBXBuildFile; fileRef = BE9BB77B1CCF67550056B1B8 /* QuadratureRuleList.hpp */; };
BE9BB77F1CCF67550056B1B8 /* QuadratureRuleList.hxx in Headers */ = {isa = PBXBuildFile; fileRef = BE9BB77C1CCF67550056B1B8 /* QuadratureRuleList.hxx */; };
BE9BB77D1CCF67550056B1B8 /* QuadratureRulePerTopology.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BE9BB77A1CCF67550056B1B8 /* QuadratureRulePerTopology.cpp */; };
BE9BB77E1CCF67550056B1B8 /* QuadratureRulePerTopology.hpp in Headers */ = {isa = PBXBuildFile; fileRef = BE9BB77B1CCF67550056B1B8 /* QuadratureRulePerTopology.hpp */; };
BE9BB77F1CCF67550056B1B8 /* QuadratureRulePerTopology.hxx in Headers */ = {isa = PBXBuildFile; fileRef = BE9BB77C1CCF67550056B1B8 /* QuadratureRulePerTopology.hxx */; };
BE9BE1B51C96D02B0065BEFE /* SolidOnFluidMesh.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BE9BE1B21C96D02B0065BEFE /* SolidOnFluidMesh.cpp */; };
BE9C4D171807F682005B94BC /* libFiniteElement.a in Frameworks */ = {isa = PBXBuildFile; fileRef = BE9C4D121807F5DC005B94BC /* libFiniteElement.a */; };
BE9EA02D1B8F15C300B60AC2 /* VectorsAndMatrices.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BEBB31FF196D4DFC004D6C7E /* VectorsAndMatrices.cpp */; };
......@@ -4644,9 +4636,6 @@
BE2E0CD51ABB094200B543E8 /* Mesh.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = Mesh.hpp; sourceTree = "<group>"; };
BE2E47151C7B47D400AC3DDD /* LameLambda.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = LameLambda.cpp; path = Parameter/Solid/LameLambda.cpp; sourceTree = "<group>"; };
BE2E47171C7B480100AC3DDD /* LameMu.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = LameMu.cpp; path = Parameter/Solid/LameMu.cpp; sourceTree = "<group>"; };
BE2E47201C7B715E00AC3DDD /* DetermineDefaultQuadratureRule.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DetermineDefaultQuadratureRule.cpp; sourceTree = "<group>"; };
BE2E47211C7B715E00AC3DDD /* DetermineDefaultQuadratureRule.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = DetermineDefaultQuadratureRule.hpp; sourceTree = "<group>"; };
BE2E47221C7B715E00AC3DDD /* DetermineDefaultQuadratureRule.hxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = DetermineDefaultQuadratureRule.hxx; sourceTree = "<group>"; };
BE2ED6B91CB3E15600D00CBF /* DofStorage.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = DofStorage.cpp; path = Internal/DofStorage.cpp; sourceTree = "<group>"; };
BE2ED6BA1CB3E15600D00CBF /* DofStorage.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = DofStorage.hpp; path = Internal/DofStorage.hpp; sourceTree = "<group>"; };
BE2ED6BB1CB3E15600D00CBF /* DofStorage.hxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = DofStorage.hxx; path = Internal/DofStorage.hxx; sourceTree = "<group>"; };
......@@ -5033,9 +5022,6 @@
BE6462361AEE1AEF00D5162A /* GlobalVector.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; lineEnding = 0; path = GlobalVector.cpp; sourceTree = "<group>"; xcLanguageSpecificationIdentifier = xcode.lang.cpp; };
BE6462371AEE1AEF00D5162A /* GlobalVector.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = GlobalVector.hpp; sourceTree = "<group>"; };
BE6462381AEE1AEF00D5162A /* GlobalVector.hxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = GlobalVector.hxx; sourceTree = "<group>"; };
BE646CCE1B32987C008BD37C /* QuadratureRuleTracker.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = QuadratureRuleTracker.cpp; sourceTree = "<group>"; };
BE646CCF1B32987C008BD37C /* QuadratureRuleTracker.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = QuadratureRuleTracker.hpp; sourceTree = "<group>"; };
BE646CD01B32987C008BD37C /* QuadratureRuleTracker.hxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = QuadratureRuleTracker.hxx; sourceTree = "<group>"; };
BE646CD61B32FD77008BD37C /* AtQuadraturePoint.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = AtQuadraturePoint.hpp; path = Private/AtQuadraturePoint.hpp; sourceTree = "<group>"; };
BE646CD71B1C4AEF001267F4 /* TransientSource.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = TransientSource.hpp; path = Parameter/Source/TransientSource.hpp; sourceTree = "<group>"; };
BE646CD71B32FD77008BD37C /* AtQuadraturePoint.hxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = AtQuadraturePoint.hxx; path = Private/AtQuadraturePoint.hxx; sourceTree = "<group>"; };
......@@ -5278,9 +5264,9 @@
BE97E3DC1CC90FF600AB5FF8 /* Hexahedron27.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = Hexahedron27.hpp; sourceTree = "<group>"; };
BE97E3DD1CC90FF600AB5FF8 /* Hexahedron8.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Hexahedron8.cpp; sourceTree = "<group>"; };
BE97E3DE1CC90FF600AB5FF8 /* Hexahedron8.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = Hexahedron8.hpp; sourceTree = "<group>"; };
BE9BB77A1CCF67550056B1B8 /* QuadratureRuleList.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = QuadratureRuleList.cpp; sourceTree = "<group>"; };
BE9BB77B1CCF67550056B1B8 /* QuadratureRuleList.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = QuadratureRuleList.hpp; sourceTree = "<group>"; };
BE9BB77C1CCF67550056B1B8 /* QuadratureRuleList.hxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = QuadratureRuleList.hxx; sourceTree = "<group>"; };
BE9BB77A1CCF67550056B1B8 /* QuadratureRulePerTopology.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = QuadratureRulePerTopology.cpp; sourceTree = "<group>"; };
BE9BB77B1CCF67550056B1B8 /* QuadratureRulePerTopology.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = QuadratureRulePerTopology.hpp; sourceTree = "<group>"; };
BE9BB77C1CCF67550056B1B8 /* QuadratureRulePerTopology.hxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = QuadratureRulePerTopology.hxx; sourceTree = "<group>"; };
BE9BDE2F1CA2A18000D2F654 /* ShapeFunction.doxygen */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 4; path = ShapeFunction.doxygen; sourceTree = "<group>"; };
BE9BE1B21C96D02B0065BEFE /* SolidOnFluidMesh.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = SolidOnFluidMesh.cpp; path = Private/SolidOnFluidMesh.cpp; sourceTree = "<group>"; };
BE9BE1B31C96D02B0065BEFE /* SolidOnFluidMesh.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = SolidOnFluidMesh.hpp; path = Private/SolidOnFluidMesh.hpp; sourceTree = "<group>"; };
......@@ -9586,9 +9572,9 @@
isa = PBXGroup;
children = (
BE5100581CCE45DC0034FE28 /* QuadratureRules.doxygen */,
BE9BB77A1CCF67550056B1B8 /* QuadratureRuleList.cpp */,
BE9BB77B1CCF67550056B1B8 /* QuadratureRuleList.hpp */,
BE9BB77C1CCF67550056B1B8 /* QuadratureRuleList.hxx */,
BE9BB77A1CCF67550056B1B8 /* QuadratureRulePerTopology.cpp */,
BE9BB77B1CCF67550056B1B8 /* QuadratureRulePerTopology.hpp */,
BE9BB77C1CCF67550056B1B8 /* QuadratureRulePerTopology.hxx */,
BECCE67818EAE16A0043D5DB /* QuadraturePoint.cpp */,
BECCE67918EAE16A0043D5DB /* QuadraturePoint.hpp */,
BECCE67A18EAE16A0043D5DB /* QuadraturePoint.hxx */,
......@@ -9598,9 +9584,6 @@
BEBA258B19D9507900639C85 /* EnumGaussQuadratureFormula.hpp */,
BECB556219D5AF5B00CC4828 /* GaussQuadratureFormula.hpp */,
BECB556319D5AF5B00CC4828 /* GaussQuadratureFormula.hxx */,
BE2E47201C7B715E00AC3DDD /* DetermineDefaultQuadratureRule.cpp */,
BE2E47211C7B715E00AC3DDD /* DetermineDefaultQuadratureRule.hpp */,
BE2E47221C7B715E00AC3DDD /* DetermineDefaultQuadratureRule.hxx */,
BEB6B67518DAF70700B9D6C5 /* Instantiation */,
BE5100021CCE3EB80034FE28 /* Advanced */,
BE4FC35918F2AE87007B6DED /* Exceptions */,
......@@ -9865,9 +9848,6 @@
BE5CA7BF1ADBC5BD00758CD2 /* MatrixPattern.hxx */,
BEBEB22119C849C200E4EA1D /* ComputeMatrixPattern.cpp */,
BEBEB22219C849C200E4EA1D /* ComputeMatrixPattern.hpp */,
BE646CCE1B32987C008BD37C /* QuadratureRuleTracker.cpp */,
BE646CCF1B32987C008BD37C /* QuadratureRuleTracker.hpp */,
BE646CD01B32987C008BD37C /* QuadratureRuleTracker.hxx */,
BEDEB9451C3C0A4700B1C71B /* DofProgramWiseIndexListPerVertexCoordIndex.cpp */,
BEDEB9461C3C0A4700B1C71B /* DofProgramWiseIndexListPerVertexCoordIndex.hpp */,
BEDEB9471C3C0A4700B1C71B /* DofProgramWiseIndexListPerVertexCoordIndex.hxx */,
......@@ -11172,7 +11152,6 @@
BE90E1061A2491AE00CCAFDE /* GaussQuadratureFormula.hxx in Headers */,
BE2B665B1A2778C700E80864 /* BasicRefFEltHolder.hxx in Headers */,
BEDEB9551C3C0A4F00B1C71B /* DofProgramWiseIndexListPerVertexCoordIndexManager.hpp in Headers */,
BE2E47241C7B715E00AC3DDD /* DetermineDefaultQuadratureRule.hpp in Headers */,
BE2ED6B51CB3DE0400D00CBF /* ComponentManager.hpp in Headers */,
BE90E07A1A2491AE00CCAFDE /* InterfaceSpecialization.hxx in Headers */,
BE90E10A1A2491AE00CCAFDE /* Segment.hpp in Headers */,
......@@ -11181,9 +11160,8 @@
BE0170851B2098BB0058FAB1 /* ShapeFunctionOrder0.hpp in Headers */,
BE90E1281A2491AE00CCAFDE /* Node.hpp in Headers */,
BE90E1171A2491AE00CCAFDE /* GaussQuadratureFormula.hxx in Headers */,
BE9BB77F1CCF67550056B1B8 /* QuadratureRuleList.hxx in Headers */,
BE9BB77F1CCF67550056B1B8 /* QuadratureRulePerTopology.hxx in Headers */,
BE90E0681A2491AE00CCAFDE /* FEltSpace.hxx in Headers */,
BE646CD21B32987C008BD37C /* QuadratureRuleTracker.hpp in Headers */,
BE8F0E681A81260600D81C9F /* ___FILEBASENAME___.hxx in Headers */,
BE90E11F1A2491AE00CCAFDE /* UnknownManager.hpp in Headers */,
BE90E0651A2491AE00CCAFDE /* GodOfDof.hxx in Headers */,
......@@ -11218,7 +11196,6 @@
BE90E1251A2491AE00CCAFDE /* NodeBearer.hpp in Headers */,
BE44ECC41AC9463D00561634 /* GodOfDofManager.hpp in Headers */,
BE90E07C1A2491AE00CCAFDE /* ComputeDofIndexes.hxx in Headers */,
BE2E47251C7B715E00AC3DDD /* DetermineDefaultQuadratureRule.hxx in Headers */,
13EDDEC91AB03E1B00A1E8F9 /* PointP1.hpp in Headers */,
BE90E1101A2491AE00CCAFDE /* Quadrangle.hpp in Headers */,
BE90E12C1A2491AE00CCAFDE /* Dof.hxx in Headers */,
......@@ -11250,7 +11227,6 @@
BE41E9791AC452C10072C8E6 /* EnumUnknown.hpp in Headers */,
BE90E12E1A2491AE00CCAFDE /* LocalNode.hpp in Headers */,
BE90E1391A2491AE00CCAFDE /* DirichletBoundaryCondition.hpp in Headers */,
BE646CD31B32987C008BD37C /* QuadratureRuleTracker.hxx in Headers */,
BE2ED6BD1CB3E15600D00CBF /* DofStorage.hpp in Headers */,
BE4053FE1AC193FF0024D5F9 /* BreakCircularDependancy.hpp in Headers */,
BE2B66511A2778C700E80864 /* BasicRefFEltFactory.hxx in Headers */,
......@@ -11279,7 +11255,7 @@
BE90E06B1A2491AE00CCAFDE /* FEltSpaceStorage.hxx in Headers */,
BE5B6F9D1C3C1771004A0284 /* ShapeFunctionTriangleP1Bubble.hpp in Headers */,
BE4A09BE1C6B46E6002799C0 /* MovemeshHelper.hpp in Headers */,
BE9BB77E1CCF67550056B1B8 /* QuadratureRuleList.hpp in Headers */,
BE9BB77E1CCF67550056B1B8 /* QuadratureRulePerTopology.hpp in Headers */,
BEDEB9531C3C0A4F00B1C71B /* DofProgramWiseIndexListPerVertexCoordIndex.hxx in Headers */,
);
runOnlyForDeploymentPostprocessing = 0;
......@@ -11428,7 +11404,6 @@
BE90E1B31A24929A00CCAFDE /* AccessVectorContent.hpp in Headers */,
BEFE4F101CBD23200087DD1F /* PetscMatPrivate.h in Headers */,
BE90E1CA1A2492AA00CCAFDE /* Parmetis.hpp in Headers */,
BE168EAD1CC96E610090AC88 /* Quadrangle9.hxx in Headers */,
BE6E4EE21B2ABE8B0049BB2D /* AccessGhostContent.hpp in Headers */,
BE1E87631B8DFB710002EE64 /* PrepareDefaultEntry.hpp in Headers */,
BE90E1621A24926E00CCAFDE /* Exception.hpp in Headers */,
......@@ -11466,7 +11441,6 @@
BE2592141C9ABA6900DF404B /* Utilities.doxygen in Headers */,
BE90E1C31A2492AA00CCAFDE /* SubVector.hpp in Headers */,
BEDEB92F1C3C073100B1C71B /* Snes.hpp in Headers */,
BE168EAC1CC96E610090AC88 /* Quadrangle4.hxx in Headers */,
BE90E1781A24926E00CCAFDE /* Singleton.hpp in Headers */,
BEA9649F1C47DA7F00ADDD5C /* Helper.hxx in Headers */,
BE768EC01B836022009B24CB /* Section.hpp in Headers */,
......@@ -13393,7 +13367,7 @@
BE2ED6AE1CB3DD7C00D00CBF /* Comp23.cpp in Sources */,
BE4A09BD1C6B46E6002799C0 /* MovemeshHelper.cpp in Sources */,
BE90E1301A2491AE00CCAFDE /* Dof.cpp in Sources */,
BE9BB77D1CCF67550056B1B8 /* QuadratureRuleList.cpp in Sources */,
BE9BB77D1CCF67550056B1B8 /* QuadratureRulePerTopology.cpp in Sources */,
BE63C14C1B2186ED00978D05 /* PointP0.cpp in Sources */,
BE90E0F91A2491AE00CCAFDE /* LocalFEltSpace.cpp in Sources */,
BE2B665C1A2778C700E80864 /* RefFEltInFEltSpace.cpp in Sources */,
......@@ -13445,7 +13419,6 @@
BE2B663F1A2778C700E80864 /* SpectralHelper.cpp in Sources */,
BE44ECC31AC9463D00561634 /* GodOfDofManager.cpp in Sources */,
BE90E0FC1A2491AE00CCAFDE /* QuadraturePoint.cpp in Sources */,
BE2E47231C7B715E00AC3DDD /* DetermineDefaultQuadratureRule.cpp in Sources */,
BE5B6F9B1C3C1771004A0284 /* ShapeFunctionTriangleP1Bubble.cpp in Sources */,
BE2ED6A91CB3DD7C00D00CBF /* Comp1.cpp in Sources */,
BE4054031AC196480024D5F9 /* FEltSpace.cpp in Sources */,
......@@ -13458,7 +13431,6 @@
BE90E1131A2491AE00CCAFDE /* QuadratureRuleList.cpp in Sources */,
BE43DC9C1BCCFF980093EB01 /* AllocateGlobalLinearAlgebra.cpp in Sources */,
BE32218F1B4686C100F27D6C /* FElt.cpp in Sources */,
BE646CD11B32987C008BD37C /* QuadratureRuleTracker.cpp in Sources */,
BE90E0751A2491AE00CCAFDE /* AttributeProcessorHelper.cpp in Sources */,
BE2ED6AF1CB3DD7C00D00CBF /* Comp3.cpp in Sources */,
BEDEB9541C3C0A4F00B1C71B /* DofProgramWiseIndexListPerVertexCoordIndexManager.cpp in Sources */,
......@@ -16383,12 +16355,7 @@
buildSettings = {
CLANG_CXX_LANGUAGE_STANDARD = "c++14";
GCC_VERSION = "";
OTHER_LDFLAGS = (
"-llua",
"-lyuni-static-core",
"-lpetsc",
"-lmpi",
);
OTHER_LDFLAGS = "$(inherited)";
PRODUCT_NAME = "$(TARGET_NAME)";
};
name = Debug;
......@@ -16398,12 +16365,7 @@
buildSettings = {
CLANG_CXX_LANGUAGE_STANDARD = "c++14";
GCC_VERSION = "";
OTHER_LDFLAGS = (
"-llua",
"-lyuni-static-core",
"-lpetsc",
"-lmpi",
);
OTHER_LDFLAGS = "$(inherited)";
PRODUCT_NAME = "$(TARGET_NAME)";
};
name = Release;
......@@ -82,7 +82,7 @@ namespace HappyHeart
// Beware: some operations are not possible at this stage as the FEltSpace is actually initialized completely
// along with full initialization of its GodOfDof, which is not complete when current constructor is called.
// That's the reason for instance default_quadrature_rule_list_ is defined in subsequent InitLocal2Global()
// That's the reason for instance default_quadrature_rule_per_topology_ is defined in subsequent InitLocal2Global()
// rather than here.
}
......@@ -109,7 +109,7 @@ namespace HappyHeart
}
default_quadrature_rule_list_ = std::make_unique<QuadratureRuleList>(DEFAULT_DEGREE_OF_EXACTNESS,
default_quadrature_rule_per_topology_ = std::make_unique<QuadratureRulePerTopology>(DEFAULT_DEGREE_OF_EXACTNESS,
ComputeMaxOrderFElt());
}
......
......@@ -33,7 +33,7 @@
# include "FiniteElement/FiniteElement/LocalFEltSpace.hpp"
# include "FiniteElement/QuadratureRules/QuadratureRuleList.hpp"
# include "FiniteElement/QuadratureRules/QuadratureRulePerTopology.hpp"
namespace HappyHeart
......@@ -446,7 +446,7 @@ namespace HappyHeart
* \brief Constant accessor to the list of default quadrature rules to use in operators for which no
* rule has been specified.
*/
const QuadratureRuleList& GetDefaultQuadratureRuleList() const noexcept;
const QuadratureRulePerTopology& GetQuadratureRulePerTopology() const noexcept;
private:
......@@ -566,7 +566,7 @@ namespace HappyHeart
Dof::vector_shared_ptr ghost_dof_list_;
//! List of default quadrature rules to use in operators for which no rule has been specified.
QuadratureRuleList::const_unique_ptr default_quadrature_rule_list_ = nullptr;
QuadratureRulePerTopology::const_unique_ptr default_quadrature_rule_per_topology_ = nullptr;
};
......
......@@ -142,10 +142,10 @@ namespace HappyHeart
}
inline const QuadratureRuleList& FEltSpace::GetDefaultQuadratureRuleList() const noexcept
inline const QuadratureRulePerTopology& FEltSpace::GetQuadratureRulePerTopology() const noexcept
{
assert(!(!default_quadrature_rule_list_));
return *default_quadrature_rule_list_;
assert(!(!default_quadrature_rule_per_topology_));
return *default_quadrature_rule_per_topology_;
}
......
......@@ -55,18 +55,14 @@ namespace HappyHeart
} // namespace anonymous
GodOfDof::GodOfDof(const Wrappers::Mpi& mpi,
GeometricMeshRegion& mesh)
: Crtp::HappyHeartMpi<GodOfDof>(mpi),
unique_id_parent(mesh.GetUniqueId()),
mesh_(mesh),
quadrature_rule_tracker_(std::make_unique<Internal::FEltSpaceNS::QuadratureRuleTracker>())
mesh_(mesh)
{ }
const std::string& GodOfDof::ClassName()
{
static std::string ret("GodOfDof");
......@@ -897,18 +893,6 @@ namespace HappyHeart
}
void GodOfDof::RegisterQuadratureRule(const QuadratureRule::const_shared_ptr& quadrature_rule) const
{
GetNonCstQuadratureRuleTracker().Register(quadrature_rule);
}
void GodOfDof::PrintQuadratureRules(std::ostream& out) const noexcept
{
GetQuadratureRuleTracker().Print(out);
}
bool GodOfDof::IsGhosted(const Dof& dof) const
{
const auto& ghosted_dof_list = GetGhostedDofList();
......
......@@ -27,7 +27,6 @@
# include "FiniteElement/FiniteElementSpace/Internal/NdofHolder.hpp"
# include "FiniteElement/FiniteElementSpace/Internal/MatrixPattern.hpp"
# include "FiniteElement/FiniteElementSpace/Internal/ComputeMatrixPattern.hpp"
# include "FiniteElement/FiniteElementSpace/Internal/QuadratureRuleTracker.hpp"
# include "FiniteElement/FiniteElementSpace/Internal/DofProgramWiseIndexListPerVertexCoordIndexManager.hpp"
# include "FiniteElement/BoundaryConditions/DirichletBoundaryCondition.hpp"
......@@ -298,34 +297,7 @@ namespace HappyHeart
//! Get the path of the time iteration file.
const std::string& GetTimeIterationFile() const;
/*!
* \brief Register a \a quadrature_rule, and do nothing if it is already known.
*
* \param[in] quadrature_rule Quadrature rule to register.
*
* \internal <b><tt>[internal]</tt></b> The method is const because the registration is mutable: said
* registration is the only non-read action some objects such as operators should be able to perform upon
* finite element space (and hence upon god of dof).
*/
void RegisterQuadratureRule(const QuadratureRule::const_shared_ptr& quadrature_rule) const;
/*!
* \brief Print the list of quadrature rules used in the GodOfDof.
*
* This method is mostly there for dev purposes.
*
* \param[in,out] out Stream upon which \a QuadratureRule is to be printed.
*/
void PrintQuadratureRules(std::ostream& out) const noexcept;
//! Return the list of quadrature rules defined by at least one operator.
const std::map<RefGeomEltNS::TopologyNS::Type, QuadratureRule::vector_const_shared_ptr>&
GetQuadratureRuleListPerTopology() const noexcept;
//! Clear the temporary data used to build properly the Private::Local2GlobalStorage objects.
void ClearTemporaryData() const noexcept;
......@@ -462,13 +434,6 @@ namespace HappyHeart
//! Accessor to NdofHolder.
const Internal::FEltSpaceNS::NdofHolder& GetNdofHolder() const;
//! Accessor to the object that stores all the quadrature rules related to the GodOfDof.
Internal::FEltSpaceNS::QuadratureRuleTracker& GetNonCstQuadratureRuleTracker() const noexcept;
//! Accessor to the object that stores all the quadrature rules related to the GodOfDof.
const Internal::FEltSpaceNS::QuadratureRuleTracker& GetQuadratureRuleTracker() const noexcept;
/*!
* \class doxygen_hide_dof_list_per_felt_space_arg
*
......@@ -583,16 +548,7 @@ namespace HappyHeart
//! Path of the file listing the time iterations and the related files.
std::string time_iteration_file_;
/*!
* \brief Keep track of which quadrature rules have been used for the related mesh.
*
* \internal <b><tt>[internal]</tt></b> The data is mutable because the registration occurs in operators, which otherwise should only
* be allowed to read data from both finite element space and god of dof.
*/
mutable Internal::FEltSpaceNS::QuadratureRuleTracker::unique_ptr quadrature_rule_tracker_ = nullptr;
# ifndef NDEBUG
/*!
* \brief Whether Init() has already been called or not.
......
......@@ -194,28 +194,9 @@ namespace HappyHeart
{
return *(GetNumberingSubsetPtr(unique_id));
}
inline const Internal::FEltSpaceNS::QuadratureRuleTracker& GodOfDof::GetQuadratureRuleTracker() const noexcept
{
assert(!(!quadrature_rule_tracker_));
return *quadrature_rule_tracker_;
}
inline Internal::FEltSpaceNS::QuadratureRuleTracker& GodOfDof::GetNonCstQuadratureRuleTracker() const noexcept
{
return const_cast<Internal::FEltSpaceNS::QuadratureRuleTracker&>(GetQuadratureRuleTracker());
}
inline const std::map<RefGeomEltNS::TopologyNS::Type, QuadratureRule::vector_const_shared_ptr>&
GodOfDof::GetQuadratureRuleListPerTopology() const noexcept
{
return GetQuadratureRuleTracker().GetQuadratureRuleListPerTopology();
}
# ifndef NDEBUG
inline DoConsiderProcessorWiseLocal2Global GodOfDof::GetDoConsiderProcessorWiseLocal2Global() const
{
......
//! \file
//
//
// QuadratureRuleTracker.cpp
// HappyHeart
//
// Created by Sebastien Gilles on 18/06/15.
// Copyright (c) 2015 Inria. All rights reserved.
//
#include <algorithm>
#include "FiniteElement/FiniteElementSpace/Internal/QuadratureRuleTracker.hpp"
namespace HappyHeart
{
namespace Internal
{
namespace FEltSpaceNS
{
void QuadratureRuleTracker::Register(const QuadratureRule::const_shared_ptr& quadrature_rule_ptr)
{
auto& quadrature_rule_list_per_topology = GetNonCstQuadratureRuleListPerTopology();
assert(!(!quadrature_rule_ptr));
const auto& quadrature_rule = *quadrature_rule_ptr;
auto topology_id = quadrature_rule.GetTopologyIdentifier();
auto it = quadrature_rule_list_per_topology.find(topology_id);
if (it == quadrature_rule_list_per_topology.end())
{
// First time a quadrature rule is added for the topology.
quadrature_rule_list_per_topology.insert({topology_id, {quadrature_rule_ptr}});
}
else
{
// There are already quadrature rules for this topology; make sure not to duplicate!
auto& quadrature_rule_list_for_current_topology = it->second;
auto end2 = quadrature_rule_list_for_current_topology.cend();
const auto& quadrature_rule_name = quadrature_rule.GetName();
auto it2 = std::find_if(quadrature_rule_list_for_current_topology.cbegin(),
end2,
[&quadrature_rule_name](const QuadratureRule::const_shared_ptr& current_rule_ptr)
{
assert(!(!current_rule_ptr));
return (current_rule_ptr->GetName() == quadrature_rule_name);
});
if (it2 == end2)
quadrature_rule_list_for_current_topology.push_back(quadrature_rule_ptr);
// If the quadrature rule already exist, do nothing. \todo #900 See if this is the more reasonable behaviour.
}
}
void QuadratureRuleTracker::Print(std::ostream& out) const noexcept
{
const auto& quadrature_rule_list_per_topology = GetQuadratureRuleListPerTopology();
out << "List of registered quadrature rules:" << std::endl;
for (const auto& topology_content : quadrature_rule_list_per_topology)
{
const auto& quadrature_rule_list_for_current_topology = topology_content.second;
for (const auto& quadrature_rule_ptr : quadrature_rule_list_for_current_topology)
out << "\t - " << quadrature_rule_ptr->GetName() << std::endl;
}
}
} // namespace FEltSpaceNS
} // namespace Internal
} // namespace HappyHeart
//! \file
//
//
// QuadratureRuleTracker.hpp
// HappyHeart
//
// Created by Sebastien Gilles on 18/06/15.
// Copyright (c) 2015 Inria. All rights reserved.
//
#ifndef HAPPY_HEART_x_FINITE_ELEMENT_x_FINITE_ELEMENT_SPACE_x_INTERNAL_x_QUADRATURE_RULE_TRACKER_HPP_
# define HAPPY_HEART_x_FINITE_ELEMENT_x_FINITE_ELEMENT_SPACE_x_INTERNAL_x_QUADRATURE_RULE_TRACKER_HPP_
# include <memory>
# include <map>
# include "Geometry/RefGeometricElt/Internal/Topology/EnumTopology.hpp"
# include "FiniteElement/QuadratureRules/QuadratureRule.hpp"
namespace HappyHeart
{
namespace Internal
{
namespace FEltSpaceNS
{
/*!
* \brief This class keep tracks on all the quadrature rules that have been used.
*
* \internal <b><tt>[internal]</tt></b> It is intended to be a private member of GodOfDof which can tell which
* quadrature rules have been used by at least one operator.
*/
class QuadratureRuleTracker
{
public:
//! Alias to self.
using self = QuadratureRuleTracker;
//! Alias to unique pointer.
using unique_ptr = std::unique_ptr<self>;
public:
/// \name Special members.
///@{
//! Constructor.
explicit QuadratureRuleTracker() = default;
//! Destructor.
~QuadratureRuleTracker() = default;
//! Copy constructor.
QuadratureRuleTracker(const QuadratureRuleTracker&) = delete;
//! Move constructor.
QuadratureRuleTracker(QuadratureRuleTracker&&) = delete;
//! Copy affectation.
QuadratureRuleTracker& operator=(const QuadratureRuleTracker&) = delete;
//! Move affectation.
QuadratureRuleTracker& operator=(QuadratureRuleTracker&&) = delete;
///@}
/*!
* \brief Register a new quadrature rule.
*
* \param[in] quadrature_rule New quadrature rule to register.
*/
void Register(const QuadratureRule::const_shared_ptr& quadrature_rule);
/*!
* \brief Print the list of quadrature rules in storage.
*
* This method is mostly there for dev purposes.
*
* \param[in,out] out Stream to which object must be written.
*/
void Print(std::ostream& out) const noexcept;