Attention une mise à jour du service Gitlab va être effectuée le mardi 30 novembre entre 17h30 et 18h00. Cette mise à jour va générer une interruption du service dont nous ne maîtrisons pas complètement la durée mais qui ne devrait pas excéder quelques minutes. Cette mise à jour intermédiaire en version 14.0.12 nous permettra de rapidement pouvoir mettre à votre disposition une version plus récente.

Commit 9340fae9 authored by GILLES Sebastien's avatar GILLES Sebastien
Browse files

#882 - #9 FiniteElement/RefFiniteElement: move RefFEltInLocalOperator into Advanced namespace.

parent 201deb06
......@@ -277,9 +277,6 @@
BE2B665C1A2778C700E80864 /* RefFEltInFEltSpace.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BE2B662C1A2778C700E80864 /* RefFEltInFEltSpace.cpp */; };
BE2B665D1A2778C700E80864 /* RefFEltInFEltSpace.hpp in Headers */ = {isa = PBXBuildFile; fileRef = BE2B662D1A2778C700E80864 /* RefFEltInFEltSpace.hpp */; };
BE2B665E1A2778C700E80864 /* RefFEltInFEltSpace.hxx in Headers */ = {isa = PBXBuildFile; fileRef = BE2B662E1A2778C700E80864 /* RefFEltInFEltSpace.hxx */; };
BE2B665F1A2778C700E80864 /* RefFEltInLocalOperator.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BE2B662F1A2778C700E80864 /* RefFEltInLocalOperator.cpp */; };
BE2B66601A2778C700E80864 /* RefFEltInLocalOperator.hpp in Headers */ = {isa = PBXBuildFile; fileRef = BE2B66301A2778C700E80864 /* RefFEltInLocalOperator.hpp */; };
BE2B66611A2778C700E80864 /* RefFEltInLocalOperator.hxx in Headers */ = {isa = PBXBuildFile; fileRef = BE2B66311A2778C700E80864 /* RefFEltInLocalOperator.hxx */; };
BE2B66621A2778C700E80864 /* RefFEltSpace.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BE2B66321A2778C700E80864 /* RefFEltSpace.cpp */; };
BE2B66631A2778C700E80864 /* RefFEltSpace.hpp in Headers */ = {isa = PBXBuildFile; fileRef = BE2B66331A2778C700E80864 /* RefFEltSpace.hpp */; };
BE2B66641A2778C700E80864 /* RefFEltSpace.hxx in Headers */ = {isa = PBXBuildFile; fileRef = BE2B66341A2778C700E80864 /* RefFEltSpace.hxx */; };
......@@ -1473,6 +1470,9 @@
BEF6BB531BCE6EB50065F11D /* InformationsAtQuadraturePoint.hpp in Headers */ = {isa = PBXBuildFile; fileRef = BEF6BB501BCE6EB50065F11D /* InformationsAtQuadraturePoint.hpp */; };
BEF6BB541BCE6EB50065F11D /* InformationsAtQuadraturePoint.hxx in Headers */ = {isa = PBXBuildFile; fileRef = BEF6BB511BCE6EB50065F11D /* InformationsAtQuadraturePoint.hxx */; };
BEFADE981B90958D004DBBE9 /* libOps.a in Frameworks */ = {isa = PBXBuildFile; fileRef = BE43AD351AFB9ADB0082AF43 /* libOps.a */; };
BEFC32DF1CB53C3B00C8903C /* RefFEltInLocalOperator.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BEFC32DC1CB53C3B00C8903C /* RefFEltInLocalOperator.cpp */; };
BEFC32E01CB53C3B00C8903C /* RefFEltInLocalOperator.hpp in Headers */ = {isa = PBXBuildFile; fileRef = BEFC32DD1CB53C3B00C8903C /* RefFEltInLocalOperator.hpp */; };
BEFC32E11CB53C3B00C8903C /* RefFEltInLocalOperator.hxx in Headers */ = {isa = PBXBuildFile; fileRef = BEFC32DE1CB53C3B00C8903C /* RefFEltInLocalOperator.hxx */; };
BEFEEB6F1AFBA1F000C6341E /* libOps.a in Frameworks */ = {isa = PBXBuildFile; fileRef = BE43AD351AFB9ADB0082AF43 /* libOps.a */; };
BEFEEB7F1AFBA21500C6341E /* libOps.a in Frameworks */ = {isa = PBXBuildFile; fileRef = BE43AD351AFB9ADB0082AF43 /* libOps.a */; };
BEFEEB821AFBA21E00C6341E /* libOps.a in Frameworks */ = {isa = PBXBuildFile; fileRef = BE43AD351AFB9ADB0082AF43 /* libOps.a */; };
......@@ -4305,7 +4305,7 @@
BE2801E91C7F17C300FD01BC /* InvariantManager.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = InvariantManager.hpp; sourceTree = "<group>"; };
BE2801EA1C7F17C300FD01BC /* InvariantManager.hxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = InvariantManager.hxx; sourceTree = "<group>"; };
BE2B65FE1A2778C700E80864 /* BasicRefFElt.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = BasicRefFElt.cpp; sourceTree = "<group>"; };
BE2B65FF1A2778C700E80864 /* BasicRefFElt.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = BasicRefFElt.hpp; sourceTree = "<group>"; };
BE2B65FF1A2778C700E80864 /* BasicRefFElt.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; lineEnding = 0; path = BasicRefFElt.hpp; sourceTree = "<group>"; xcLanguageSpecificationIdentifier = xcode.lang.cpp; };
BE2B66001A2778C700E80864 /* BasicRefFElt.hxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = BasicRefFElt.hxx; sourceTree = "<group>"; };
BE2B66061A2778C700E80864 /* HexahedronQ2c.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = HexahedronQ2c.cpp; sourceTree = "<group>"; };
BE2B66071A2778C700E80864 /* HexahedronQ2c.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = HexahedronQ2c.hpp; sourceTree = "<group>"; };
......@@ -4338,9 +4338,6 @@
BE2B662C1A2778C700E80864 /* RefFEltInFEltSpace.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = RefFEltInFEltSpace.cpp; sourceTree = "<group>"; };
BE2B662D1A2778C700E80864 /* RefFEltInFEltSpace.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = RefFEltInFEltSpace.hpp; sourceTree = "<group>"; };
BE2B662E1A2778C700E80864 /* RefFEltInFEltSpace.hxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = RefFEltInFEltSpace.hxx; sourceTree = "<group>"; };
BE2B662F1A2778C700E80864 /* RefFEltInLocalOperator.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = RefFEltInLocalOperator.cpp; sourceTree = "<group>"; };
BE2B66301A2778C700E80864 /* RefFEltInLocalOperator.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = RefFEltInLocalOperator.hpp; sourceTree = "<group>"; };
BE2B66311A2778C700E80864 /* RefFEltInLocalOperator.hxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = RefFEltInLocalOperator.hxx; sourceTree = "<group>"; };
BE2B66321A2778C700E80864 /* RefFEltSpace.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = RefFEltSpace.cpp; sourceTree = "<group>"; };
BE2B66331A2778C700E80864 /* RefFEltSpace.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = RefFEltSpace.hpp; sourceTree = "<group>"; };
BE2B66341A2778C700E80864 /* RefFEltSpace.hxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = RefFEltSpace.hxx; sourceTree = "<group>"; };
......@@ -5331,7 +5328,7 @@
BECA4CC61B1758B700DC7265 /* ExtendedUnknownList.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = ExtendedUnknownList.hpp; sourceTree = "<group>"; };
BECA4CC71B1758B700DC7265 /* ExtendedUnknownList.hxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = ExtendedUnknownList.hxx; sourceTree = "<group>"; };
BECA4CC81B1758B700DC7265 /* Enum.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = Enum.hpp; path = Sources/Operators/Enum.hpp; sourceTree = "<group>"; };
BECA4CCA1B1758B700DC7265 /* GlobalVariationalOperator.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = GlobalVariationalOperator.hpp; sourceTree = "<group>"; };
BECA4CCA1B1758B700DC7265 /* GlobalVariationalOperator.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; lineEnding = 0; path = GlobalVariationalOperator.hpp; sourceTree = "<group>"; xcLanguageSpecificationIdentifier = xcode.lang.cpp; };
BECA4CCB1B1758B700DC7265 /* GlobalVariationalOperator.hxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = GlobalVariationalOperator.hxx; sourceTree = "<group>"; };
BECA4CCD1B1758B700DC7265 /* GlobalVariationalOperator.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = GlobalVariationalOperator.cpp; sourceTree = "<group>"; };
BECA4CCE1B1758B700DC7265 /* GlobalVariationalOperator.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = GlobalVariationalOperator.hpp; sourceTree = "<group>"; };
......@@ -5368,7 +5365,7 @@
BECA4CFA1B1758B800DC7265 /* SubMatrixForNumberingSubsetPair.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = SubMatrixForNumberingSubsetPair.hpp; sourceTree = "<group>"; };
BECA4CFB1B1758B800DC7265 /* SubMatrixForNumberingSubsetPair.hxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = SubMatrixForNumberingSubsetPair.hxx; sourceTree = "<group>"; };
BECA4CFC1B1758B800DC7265 /* ElementaryData.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ElementaryData.cpp; sourceTree = "<group>"; };
BECA4CFD1B1758B800DC7265 /* ElementaryData.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = ElementaryData.hpp; sourceTree = "<group>"; };
BECA4CFD1B1758B800DC7265 /* ElementaryData.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; lineEnding = 0; path = ElementaryData.hpp; sourceTree = "<group>"; xcLanguageSpecificationIdentifier = xcode.lang.cpp; };
BECA4CFE1B1758B800DC7265 /* ElementaryData.hxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = ElementaryData.hxx; sourceTree = "<group>"; };
BECA4CFF1B1758B800DC7265 /* LinearLocalVariationalOperator.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = LinearLocalVariationalOperator.hpp; sourceTree = "<group>"; };
BECA4D001B1758B800DC7265 /* LinearLocalVariationalOperator.hxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = LinearLocalVariationalOperator.hxx; sourceTree = "<group>"; };
......@@ -5376,9 +5373,9 @@
BECA4D021B1758B800DC7265 /* NonlinearLocalVariationalOperator.hxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = NonlinearLocalVariationalOperator.hxx; sourceTree = "<group>"; };
BECA4D051B1758B800DC7265 /* ElementaryDataStorage.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = ElementaryDataStorage.hpp; sourceTree = "<group>"; };
BECA4D061B1758B800DC7265 /* ElementaryDataStorage.hxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = ElementaryDataStorage.hxx; sourceTree = "<group>"; };
BECA4D071B1758B800DC7265 /* ElementaryDataImpl.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ElementaryDataImpl.cpp; sourceTree = "<group>"; };
BECA4D081B1758B800DC7265 /* ElementaryDataImpl.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = ElementaryDataImpl.hpp; sourceTree = "<group>"; };
BECA4D091B1758B800DC7265 /* ElementaryDataImpl.hxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = ElementaryDataImpl.hxx; sourceTree = "<group>"; };
BECA4D071B1758B800DC7265 /* ElementaryDataImpl.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; lineEnding = 0; path = ElementaryDataImpl.cpp; sourceTree = "<group>"; xcLanguageSpecificationIdentifier = xcode.lang.cpp; };
BECA4D081B1758B800DC7265 /* ElementaryDataImpl.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; lineEnding = 0; path = ElementaryDataImpl.hpp; sourceTree = "<group>"; xcLanguageSpecificationIdentifier = xcode.lang.cpp; };
BECA4D091B1758B800DC7265 /* ElementaryDataImpl.hxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; lineEnding = 0; path = ElementaryDataImpl.hxx; sourceTree = "<group>"; xcLanguageSpecificationIdentifier = xcode.lang.cpp; };
BECA4D0B1B1758B800DC7265 /* LocalVariationalOperator.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = LocalVariationalOperator.hpp; sourceTree = "<group>"; };
BECA4D0C1B1758B800DC7265 /* LocalVariationalOperator.hxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = LocalVariationalOperator.hxx; sourceTree = "<group>"; };
BECA4D0F1B1758B800DC7265 /* GradOnGradientBasedElasticityTensor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = GradOnGradientBasedElasticityTensor.cpp; sourceTree = "<group>"; };
......@@ -5536,13 +5533,16 @@
BEF567C71B1735B000AAA2AA /* ThreeDimensionalParameter.hxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = ThreeDimensionalParameter.hxx; sourceTree = "<group>"; };
BEF567D41B1741B000AAA2AA /* InitParameter.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = InitParameter.hpp; path = Private/InitParameter.hpp; sourceTree = "<group>"; };
BEF567D51B1741B000AAA2AA /* InitParameter.hxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = InitParameter.hxx; path = Private/InitParameter.hxx; sourceTree = "<group>"; };
BEF6BB4F1BCE6EB50065F11D /* InformationsAtQuadraturePoint.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = InformationsAtQuadraturePoint.cpp; sourceTree = "<group>"; };
BEF6BB4F1BCE6EB50065F11D /* InformationsAtQuadraturePoint.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; lineEnding = 0; path = InformationsAtQuadraturePoint.cpp; sourceTree = "<group>"; xcLanguageSpecificationIdentifier = xcode.lang.cpp; };
BEF6BB501BCE6EB50065F11D /* InformationsAtQuadraturePoint.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = InformationsAtQuadraturePoint.hpp; sourceTree = "<group>"; };
BEF6BB511BCE6EB50065F11D /* InformationsAtQuadraturePoint.hxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = InformationsAtQuadraturePoint.hxx; sourceTree = "<group>"; };
BEF9835B180451CF00E7905D /* Factory.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Factory.cpp; sourceTree = "<group>"; };
BEF9835C180451CF00E7905D /* Factory.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = Factory.hpp; sourceTree = "<group>"; };
BEFA212A17297DE800FA1E67 /* main_header_guards.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = main_header_guards.cpp; path = Sources/Utilities/main_header_guards.cpp; sourceTree = SOURCE_ROOT; };
BEFA213017297E0000FA1E67 /* HeaderGuards */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = HeaderGuards; sourceTree = BUILT_PRODUCTS_DIR; };
BEFC32DC1CB53C3B00C8903C /* RefFEltInLocalOperator.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = RefFEltInLocalOperator.cpp; sourceTree = "<group>"; };
BEFC32DD1CB53C3B00C8903C /* RefFEltInLocalOperator.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = RefFEltInLocalOperator.hpp; sourceTree = "<group>"; };
BEFC32DE1CB53C3B00C8903C /* RefFEltInLocalOperator.hxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = RefFEltInLocalOperator.hxx; sourceTree = "<group>"; };
BEFF48FC1859C519005BB48A /* TestInputOutputMesh */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = TestInputOutputMesh; sourceTree = BUILT_PRODUCTS_DIR; };
/* End PBXFileReference section */
 
......@@ -6677,9 +6677,7 @@
isa = PBXGroup;
children = (
BE9BDE2F1CA2A18000D2F654 /* ShapeFunction.doxygen */,
BE2B662F1A2778C700E80864 /* RefFEltInLocalOperator.cpp */,
BE2B66301A2778C700E80864 /* RefFEltInLocalOperator.hpp */,
BE2B66311A2778C700E80864 /* RefFEltInLocalOperator.hxx */,
BEFC32DB1CB53C3B00C8903C /* Advanced */,
BE2B66041A2778C700E80864 /* Instantiation */,
BE2B661B1A2778C700E80864 /* Private */,
);
......@@ -10056,6 +10054,16 @@
path = src/Utilities/src/Utilities/HeaderGuards;
sourceTree = SOURCE_ROOT;
};
BEFC32DB1CB53C3B00C8903C /* Advanced */ = {
isa = PBXGroup;
children = (
BEFC32DC1CB53C3B00C8903C /* RefFEltInLocalOperator.cpp */,
BEFC32DD1CB53C3B00C8903C /* RefFEltInLocalOperator.hpp */,
BEFC32DE1CB53C3B00C8903C /* RefFEltInLocalOperator.hxx */,
);
path = Advanced;
sourceTree = "<group>";
};
/* End PBXGroup section */
 
/* Begin PBXHeadersBuildPhase section */
......@@ -10378,7 +10386,6 @@
BE9A01D81CB511D100B637EB /* QuadratureRuleList.hpp in Headers */,
BE90E12B1A2491AE00CCAFDE /* Dof.hpp in Headers */,
BE2B66461A2778C700E80864 /* Spectral.hxx in Headers */,
BE2B66611A2778C700E80864 /* RefFEltInLocalOperator.hxx in Headers */,
BE4054041AC196480024D5F9 /* FEltSpace.hpp in Headers */,
BE90E1191A2491AE00CCAFDE /* Unknown.hpp in Headers */,
BEB7B1051BB4168F005E5D18 /* DirichletBoundaryConditionManager.hxx in Headers */,
......@@ -10471,6 +10478,7 @@
BE510D901CB3D44900E953FE /* Comp3.hpp in Headers */,
BE90E0FA1A2491AE00CCAFDE /* LocalFEltSpace.hpp in Headers */,
BE90E1161A2491AE00CCAFDE /* GaussQuadratureFormula.hpp in Headers */,
BEFC32E01CB53C3B00C8903C /* RefFEltInLocalOperator.hpp in Headers */,
BE90E06D1A2491AE00CCAFDE /* ComputeMatrixPattern.hpp in Headers */,
BEDEB9561C3C0A4F00B1C71B /* DofProgramWiseIndexListPerVertexCoordIndexManager.hxx in Headers */,
BE2B66371A2778C700E80864 /* BasicRefFElt.hxx in Headers */,
......@@ -10501,13 +10509,13 @@
BE90E1001A2491AE00CCAFDE /* QuadratureRule.hpp in Headers */,
BE32218B1B4686B100F27D6C /* Local2GlobalStorage.hxx in Headers */,
BE2B663C1A2778C700E80864 /* HexahedronQ2c.hpp in Headers */,
BEFC32E11CB53C3B00C8903C /* RefFEltInLocalOperator.hxx in Headers */,
BE90E0711A2491AE00CCAFDE /* CreateNodeListHelper.hpp in Headers */,
BE2B665A1A2778C700E80864 /* BasicRefFEltHolder.hpp in Headers */,
BE44ECC51AC9463D00561634 /* GodOfDofManager.hxx in Headers */,
BE0170801B208C7C0058FAB1 /* TriangleP0.hpp in Headers */,
BE90E06B1A2491AE00CCAFDE /* FEltSpaceStorage.hxx in Headers */,
BE5B6F9D1C3C1771004A0284 /* ShapeFunctionTriangleP1Bubble.hpp in Headers */,
BE2B66601A2778C700E80864 /* RefFEltInLocalOperator.hpp in Headers */,
BE4A09BE1C6B46E6002799C0 /* MovemeshHelper.hpp in Headers */,
BEDEB9531C3C0A4F00B1C71B /* DofProgramWiseIndexListPerVertexCoordIndex.hxx in Headers */,
);
......@@ -12564,7 +12572,6 @@
BE90E0691A2491AE00CCAFDE /* FEltSpaceStorage.cpp in Sources */,
BE4053FD1AC193FF0024D5F9 /* BreakCircularDependancy.cpp in Sources */,
BEB7B1031BB4168F005E5D18 /* DirichletBoundaryConditionManager.cpp in Sources */,
BE2B665F1A2778C700E80864 /* RefFEltInLocalOperator.cpp in Sources */,
BE2B663B1A2778C700E80864 /* HexahedronQ2c.cpp in Sources */,
BE3E664D1ACEB94E00A3F7E2 /* Connectivity.cpp in Sources */,
BE90E1111A2491AE00CCAFDE /* Hexahedron.cpp in Sources */,
......@@ -12605,6 +12612,7 @@
BE41E97C1AC460380072C8E6 /* EnumUnknown.cpp in Sources */,
BE2B66571A2778C700E80864 /* BasicRefFEltFactory.cpp in Sources */,
BE90E1271A2491AE00CCAFDE /* Node.cpp in Sources */,
BEFC32DF1CB53C3B00C8903C /* RefFEltInLocalOperator.cpp in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
//! \file
//
//
// RefFEltInLocalOperator.cpp
// HappyHeart
//
// Created by Sebastien Gilles on 22/09/14.
// Copyright (c) 2014 Inria. All rights reserved.
//
#include "ThirdParty/Wrappers/Seldon/SeldonFunctions.hpp"
#ifndef NDEBUG
# include "ThirdParty/Wrappers/Seldon/MatrixOperations.hpp"
#endif // NDEBUG
#include "FiniteElement/RefFiniteElement/Advanced/RefFEltInLocalOperator.hpp"
namespace HappyHeart
{
namespace Advanced
{
RefFEltInLocalOperator::RefFEltInLocalOperator(const RefFEltNS::Private::RefFEltInFEltSpace& ref_felt,
const unsigned int index_first_node_in_elementary_data,
const unsigned int index_first_dof_in_elementary_data)
: ref_felt_(ref_felt),
index_first_dof_(index_first_dof_in_elementary_data),
Ndof_per_component_(ref_felt.Ndof() / ref_felt.Ncomponent())
{
const unsigned int Ndof = ref_felt.Ndof();
const unsigned int Ncomponent = ref_felt.Ncomponent();
assert(Ndof % Ncomponent == 0u);
const auto Ndof_per_component = NdofPerComponent();
const auto Nnode = ref_felt.Nnode();
local_node_indexes_ = Wrappers::Seldon::ContiguousSequence(index_first_node_in_elementary_data,
Nnode);
local_dof_indexes_ = Wrappers::Seldon::ContiguousSequence(index_first_dof_in_elementary_data,
Ndof);
for (unsigned int i = 0; i < Ncomponent; ++i)
local_dof_indexes_per_component_.push_back(Wrappers::Seldon
::ContiguousSequence(index_first_dof_in_elementary_data + i * Ndof_per_component,
Ndof_per_component));
const auto& ref_felt_space_dim = ref_felt.GetFEltSpaceDimension();
InitLocalMatrixStorage(
{
{
{ Nnode, ref_felt_space_dim }
}
});
InitLocalVectorStorage(
{
{
Nnode
}
});
}
const LocalMatrix& ExtractSubMatrix(const LocalMatrix& full_matrix,
const RefFEltInLocalOperator& ref_felt)
{
auto& ret = ref_felt.GetLocalMatrix<0>(); // mutable...
assert(full_matrix.GetM() >= ret.GetM());
assert(full_matrix.GetN() >= ret.GetN());
const auto& row_range = ref_felt.GetLocalNodeIndexList();
const auto ref_felt_space_dim = static_cast<int>(ref_felt.GetFEltSpaceDimension());
#ifndef NDEBUG
Wrappers::Seldon::AssertBlockRowValidity(full_matrix, row_range);
#endif // NDEBUG
assert(static_cast<int>(ref_felt.Nnode()) == row_range.GetM());
assert(ref_felt_space_dim == ret.GetN());
const auto Nrow = row_range.GetM();
for (int i = 0; i < Nrow; ++i)
{
auto row_index = row_range(i);
for (int component = 0; component < ref_felt_space_dim; ++component)
ret(i, component) = full_matrix(row_index, component);
}
return ret;
}
const LocalVector& ExtractSubVector(const LocalVector& full_vector,
const RefFEltInLocalOperator& ref_felt)
{
auto& ret = ref_felt.GetLocalVector<0>(); // mutable...
assert(full_vector.GetM() >= ret.GetM());
const auto& row_range = ref_felt.GetLocalNodeIndexList();
#ifndef NDEBUG
Wrappers::Seldon::AssertBlockValidity(full_vector, row_range);
#endif // NDEBUG
const auto Nrow = row_range.GetM();
for (int i = 0; i < Nrow; ++i)
{
auto row_index = row_range(i);
ret(i) = full_vector(row_index);
}
return ret;
}
} // namespace Advanced
} // namespace HappyHeart
//! \file
//
//
// RefFEltInLocalNumberingList.hpp
// HappyHeart
//
// Created by Sebastien Gilles on 22/09/14.
// Copyright (c) 2014 Inria. All rights reserved.
//
#ifndef HAPPY_HEART_x_FINITE_ELEMENT_x_REF_FINITE_ELEMENT_x_REF_F_ELT_IN_LOCAL_OPERATOR_HPP_
# define HAPPY_HEART_x_FINITE_ELEMENT_x_REF_FINITE_ELEMENT_x_REF_F_ELT_IN_LOCAL_OPERATOR_HPP_
# include <memory>
# include <vector>
# include "ThirdParty/IncludeWithoutWarning/Seldon/Seldon.hpp"
# include "Utilities/LocalLinearAlgebraStorage/LocalMatrixStorage.hpp"
# include "Utilities/LocalLinearAlgebraStorage/LocalVectorStorage.hpp"
# include "FiniteElement/RefFiniteElement/Private/RefFEltInFEltSpace.hpp"
namespace HappyHeart
{
// ============================
//! \cond IGNORE_BLOCK_IN_DOXYGEN
// Forward declarations.
// ============================
namespace Private
{
class ElementaryDataImpl;
} // namespace Private
// ============================
// End of forward declarations.
//! \endcond IGNORE_BLOCK_IN_DOXYGEN
// ============================0
namespace Advanced
{
/// \addtogroup FElt
///@{
/*!
* \brief Reference finite element a standard developer should use.
*
* \internal <b><tt>[internal]</tt></b> There are lower-level classes in RefFEltNS::Private namespace that should not be used directly;
* current class is circumscribed to one operator and should provide all relevant informations a developer might
* need when implementing a new operator. The only exception is if a new type of reference finite element must be
* defined; in this case a child class of Private::BasicRefFElt should be created (see this class for much more
* details about how to do it).
*
*/
class RefFEltInLocalOperator final
: public ::HappyHeart::Crtp::LocalMatrixStorage<RefFEltInLocalOperator, 1u>,
public ::HappyHeart::Crtp::LocalVectorStorage<RefFEltInLocalOperator, 1u>
{
public:
//! Alias to unique pointer.
using const_unique_ptr = std::unique_ptr<const RefFEltInLocalOperator>;
//! Alias to vector of unique pointers.
using vector_const_unique_ptr = std::vector<const_unique_ptr>;
//! Friendship to ElementaryDataImpl, which should be the only class able to instantiate RefFEltInLocalOperator.
friend class Private::ElementaryDataImpl;
private:
/// \name Special members.
///@{
/*!
* \brief Constructor.
*
* \param[in] ref_felt The RefFEltInFEltSpace object issued by the FEltSpace which will be embedded
* in current class.
* \param[in] index_first_node_in_elementary_data Index of the first node related to the finite
* element type in the elementary matrices.
* \param[in] index_first_dof_in_elementary_data Same as \a index_first_node_in_elementary_data for the dof
* indexes.
*
* \internal <b><tt>[internal]</tt></b> Usually I am weary of such low-level constructor arguments, but in this case it is fine:
* the user should never have to call this constructor... All the required instances of present class
* are built in Private::ElementaryDataImpl constructor, which is itself in Private namespace.
*/
explicit RefFEltInLocalOperator(const RefFEltNS::Private::RefFEltInFEltSpace& ref_felt,
unsigned int index_first_node_in_elementary_data,
unsigned int index_first_dof_in_elementary_data);
public:
//! Destructor.
~RefFEltInLocalOperator() = default;
//! Copy constructor.
RefFEltInLocalOperator(const RefFEltInLocalOperator&) = delete;
//! Move constructor.
RefFEltInLocalOperator(RefFEltInLocalOperator&&) = delete;
//! Copy affectation.
RefFEltInLocalOperator& operator=(const RefFEltInLocalOperator&) = delete;
//! Move affectation.
RefFEltInLocalOperator& operator=(RefFEltInLocalOperator&&) = delete;
///@}
//! Number of nodes.
unsigned int Nnode() const noexcept;
//! Number of dofs.
unsigned int Ndof() const noexcept;
//! Return the related reference finite element.
const RefFEltNS::Private::BasicRefFElt& GetBasicRefFElt() const noexcept;
//! Return the related unknown/numbering subset.
const ExtendedUnknown& GetExtendedUnknown() const noexcept;
public:
/*!
* \brief Return the (contiguous) list of node indexes related to RefFEltInFEltSpace in ElementaryData matrices
* or vectors.
*
* Please treat this method as private and not use it: no class should required this save ElementaryDataImpl
* and the few free-functions that are used to build it.
*
* \return Reference to the list of local node indexes.
*/
const Seldon::Vector<int>& GetLocalNodeIndexList() const noexcept;
/*!
* \brief Return the (contiguous) list of dof indexes related to RefFEltInFEltSpace in ElementaryData matrices
* or vectors; this method returns only a subset related to a given component of the unknown.
*
* Please treat this method as private and not use it: no class should required this save ElementaryDataImpl
* and the few free-functions that are used to build it.
*
* \param[in] component_index Index of the component for which the list is sought.
*
* \return Reference to the list of local node indexes associated to \a component_index -th component.
*/
const Seldon::Vector<int>& GetLocalDofIndexList(unsigned int component_index) const noexcept;
/*!
* \brief Return the (contiguous) list of dof indexes related to RefFEltInFEltSpace in ElementaryData matrices or vectors.
*
* Please treat this method as private and not use it: no class should required this save ElementaryDataImpl
* and the few free-functions that are used to build it.
*
* \return Reference to the list of local dof indexes.
*/
const Seldon::Vector<int>& GetLocalDofIndexList() const noexcept;
//! Returns the number of components.
unsigned int Ncomponent() const noexcept;
//! Returns the index of the first dof of current ref elt in elementary data.
unsigned int GetIndexFirstDofInElementaryData() const noexcept;
//! Returns the index of the first dof of current ref elt for \a component in elementary data.
unsigned int GetIndexFirstDofInElementaryData(unsigned int component) const noexcept;
//! Access to the dimension of the mesg in which current finite element is built.
unsigned int GetMeshDimension() const noexcept;
//! Access to the dimension of the finite element space for which current reference finite element is built.
unsigned int GetFEltSpaceDimension() const noexcept;
// private:
public:
//! Return the underlying RefFEltInFEltSpace, as it is stored in the FEltSpace (see class banner for more details).
const RefFEltNS::Private::RefFEltInFEltSpace& GetUnderlyingRefFElt() const noexcept;
//! Returns the number of dofs per component.
unsigned int NdofPerComponent() const noexcept;
private:
//! Underlying RefFEltInFEltSpace, as it is stored in the FEltSpace (see class banner for more details).
const RefFEltNS::Private::RefFEltInFEltSpace& ref_felt_;
//! Index of the first dof of the ref finite element in elementary data.
const unsigned int index_first_dof_;
//! Number of dofs per component.
const unsigned int Ndof_per_component_;
/*!
* \brief (Contiguous) list of node indexes related to RefFEltInFEltSpace in ElementaryData matrices
* or vectors; this method returns only a subset related to a given component of the unknown.
*/
std::vector<Seldon::Vector<int>> local_dof_indexes_per_component_;
//! (Contiguous) list of dof indexes related to RefFEltInFEltSpace in ElementaryData matrices or vectors.
Seldon::Vector<int> local_dof_indexes_;
/*!
* \brief Return the (contiguous) list of node indexes related to RefFEltInFEltSpace in ElementaryData matrices
* or vectors; this method returns only a subset related to a given component of the unknown.
*/
Seldon::Vector<int> local_node_indexes_;
};
/*!
* \brief Extract the part of \a full_matrix that is related to \a ref_felt.
*
* \internal <b><tt>[internal]</tt></b> The reference points to a mutable data attribute of
* RefFEltInLocalOperator.
*
* \param[in] full_matrix The matrix from which a block is extracted.
* \param[in,out] ref_felt Reference finite element considered. The computed matrix is stored
* in a mutable attribute of this object.
*
* \return Reference to the extracted sub-matrix.
*/
const LocalMatrix& ExtractSubMatrix(const LocalMatrix& full_matrix,
const RefFEltInLocalOperator& ref_felt);
/*!
* \brief Extract the part of \a full_vector that is related to \a ref_felt.
*
* \internal <b><tt>[internal]</tt></b> The reference points to a mutable data attribute of
* RefFEltInLocalOperator.
*
* \param[in] full_vector The vector from which a block is extracted.
* \param[in,out] ref_felt Reference finite element considered. The computed vector is stored
* in a mutable attribute of this object.
*
* \return Reference to the extracted sub-vector.
*/
const LocalVector& ExtractSubVector(const LocalVector& full_vector,
const RefFEltInLocalOperator& ref_felt);
///@} // \addtogroup
} // namespace Advanced
} // namespace HappyHeart
# include "FiniteElement/RefFiniteElement/Advanced/RefFEltInLocalOperator.hxx"
#endif // HAPPY_HEART_x_FINITE_ELEMENT_x_REF_FINITE_ELEMENT_x_REF_F_ELT_IN_LOCAL_OPERATOR_HPP_
//! \file
//
//
// RefFEltInLocalNumberingList.hxx
// HappyHeart
//
// Created by Sebastien Gilles on 22/09/14.
// Copyright (c) 2014 Inria. All rights reserved.
//
#ifndef HAPPY_HEART_x_FINITE_ELEMENT_x_REF_FINITE_ELEMENT_x_REF_F_ELT_IN_LOCAL_OPERATOR_HXX_
# define HAPPY_HEART_x_FINITE_ELEMENT_x_REF_FINITE_ELEMENT_x_REF_F_ELT_IN_LOCAL_OPERATOR_HXX_
namespace HappyHeart
{