1. 01 Jul, 2020 1 commit
    • Alexis SALZMAN's avatar
      [xFastMarching] bug correction+new interface · b8238a07
      Alexis SALZMAN authored
      state in updater construction were using mi at construction time. Don't
      know why some compiler do accept to create an object with an argument
      not yet created. Anyway some compiler do not accept ....
      
      Add meshinterfacexHM.h. It is an interface using Hierarchical mesh
      concept devised by N.C., and already implemented by himself and by
      myself in a non committed version of the xDoubleCut distributed library.
      Here is another one for FM. Works nice. Tested in a application.
      Doesn't cost anything else compares to meshinterfacexRegion. It is
      rather normal as extra cost of switching from iso support mesh to
      background mesh only apply in a limited sequence of the FM (the
       beginning in the tested application)
      
      This interface provides also a begin/end(what) like a region (mandatory
      by new xTLS TLSFastMarchingValGradMode function where xRegion argument
      have been replaced by a meshinterfacexHM instance. To be committed later)
      b8238a07
  2. 03 Jun, 2020 1 commit
    • Nicolas CHEVAUGEON's avatar
      [xfem] xMeshFwd.h and xIntegrationRuleFwd.h removed. · 071f55cd
      Nicolas CHEVAUGEON authored
          Added xPartition.h where can be found the definition of xPartition and
          xGetPartition
      
          Added xIter.h where can be found the definition of xIter and xClassIter
      
          xScalarFunctionDerivDiscXFEMOctree, previoulsy in xApproxFunction.h is
          moved to it's own file : xApproxFunctionDerivDiscXFEMOctree.h
      
          datamanagerxMesh_t and partmanagerxMesh_t are removed.
      
          Other files are modifyied accordingly and clang-formated.
      071f55cd
  3. 10 Apr, 2020 1 commit
    • Nicolas CHEVAUGEON's avatar
      [xfem] Reduces dependencies on xMesh.h. This has implications in other parts of the lib. · 9c703287
      Nicolas CHEVAUGEON authored
          Currently, xMesh.h, by cascading include, is visible by a too large part of
          the library. Change one Character of xMesh.h, and you need to recompile
          the world. The aim of this commit is to reduce these dependencies.
          It affect lots of files but only a little in each. As discuted in meeting,
          I won't clang format them all for this push, But I clang format the added files.
      
          ADDED FILES :
      
          1 xFEM/src/xMeshFwd.h
          2 xFEM/src/xIntegrationRuleFwd.h
          3 xInterface/AOMD/general/src/xAOMDEntityUtil.h
          4 xInterface/xOctree/src/OctreeUtilities.cc
      
          1 xMeshFwd.h : A forward header fo xMesh.h. Include this where you need to
           forward declare the type defined in xMesh, but not there full declaration.
           Typically include it in place of xMesh.h wherever you need the type previously
           defined in xMesh but not their full description (you only declare pointer or
           refs to xMesh, you just need xIter, xClassIter or xPartition or the type of
           partman used inside xMesh (parmanxMesh_t) )
      
          2 xIntegrationRuleFwd.h, same philosophie as above, a forward header for
           xIntegrationRule. it forward declare class xIntergrationRule and define the
           type def xGetPartion (the function used to parametrize how to get the sub
           elements in the xIntergrationRulePartition familly.
      
          3 xAOMDEntityUtil.h Some function previously defined in xMesh.h/cc,
           are in fact simple utility function applied on mEntity.
           There are place in the code where they are needed, but where you don't need
           xMesh. For now I moved the following one there, in namespace xiterface::aomd :
            - void getSubentities(AOMD::mEntity* e, const int d,
                                  std::vector < AOMD::mEntity * > &l);
            - void getSupportBoundary(AOMD::mEntity *in,
                                     std::set<AOMD::mEntity *> &supportBoundary )
           They are used in :
            xCut/xLegacySimpleCut/src/xRefCutToAOMD.cc,
            xGeom/src/xDistanceNearestPointGenerator_imp.h, xTLS/src/xRefCutToCGAL.cc
      
          4 OctreeUtilities.cc This is an implementation file for OctreeUtilities.h
            Following function are moved to the .cc :
            xLevelSetTo_ls_xyz_t_Adaptator::xLevelSetTo_ls_xyz_t_Adaptator(xLevelSet &ls_)
            double  xLevelSetTo_ls_xyz_t_Adaptator::operator()(x,y,z).
            using namespace xfem and using namespace xoctree; are removed from the global
            scope in OctreeUtilities.h
      
          INTERFACE CHANGES :
      
          - xIntegrationRulePartition familly : the getpartition function that
            parametrize how to go from the integ entity to it's sub entity must now be
            given explicitly as a first argument.
            Rational : when first introduced, this parametrization could be implicit
            thanks to a default argument set to the static xMesh::getPartition.
            This implied an unwanted dependencies of xIntegrationRule to xMesh, and make
            user code unclear on the real dependencies of there Integration rule to
            there cutting process. Concerned files :
            xCrack/src/IntegratorSingularCrack2D.cc,
            xCrack/src/IntegratorSingularCrack3D.cc, xFEM/src/xIntegrationRule.h,
            xFEM/src/xIntegrationRule.cc, xFEM/src/xIntegrationRuleStored.h,
            xFEM/src/xIntegrationRuleStored.cc, xPhysics/src/xpElastic.cc,
            xPhysics/src/xpFluidMechanics.cc, xPhysics/src/xpFluidMechanics.cc,
            xPhysics/src/xpThermic.cc, xTLS/src/TLSGeomInterface.cc,
            xTLS/src/TLSGeomInterfaceSignedVectorDistanceFunction.cc,
            xTLS/src/TLSGeomInterfaceSignedVectorLevelSet.cc,
            xTLS/src/TLSGeomInterfaceVectorLevelSet.cc
      
          - xCrack/src/xcFront.h : added begin and end to iterate on front_parts.
            used to simplify loops in
            in xCrack/src/xcFrontDomainManager.cc, xCrack/src/xcFrontManager.cc,
            xCrack/src/xcInteractionIntegralsOnCrack.cc
      
          - xCrack/src/xcInteractionIntegralsOnCrack.h
            xAcceptLocalPart is now template on the DATAMANAGER that store was_created_by
             affected files : xCrack/src/xcInteractionIntegralsOnCrack.cc
      
          - xFEM/src/xAlgorithm.h :
            DeclareInterpolationHanging : the datamanager needed need now to be
            explicitlty given (no default value). Rational:  again the default
            value hide to  the user the real dependencies of the algorithm.
      
          - xFEM/src/xValueCreators.h :
            * xMirrorCreator : used to interconnect xValue on "mirror" entity,
            typically used for periodic Boundary condition. Previously, it was
            using an xMesh pointer and internal call to AOMD's lookupForMirrorEntities,
            on this mesh. This is too dependend on both xMesh and AOMD. Looking closely,
            all that is needed for this algorithm to work is a way to get from one entity
            a list of entity it mirror. The new interface is based on that.
            At construction, full control is given to the user which just have to give
            an std::function that take a pointer to a mesh entity and return the list
            of mirror entity. the pointer to the mesh itself is not needed anymore.
            * xValueCreatorRegularAndHanging : no default value any more for the
            isHangingOn at construction (same rational as for the use of the other
            static datamanger of xMesh, if you use them, do it explicitly.)
            the pointer to the mesh is not needed any more at construction.
      
          IMPLIED MODIFICATIONS:
      
          - replaced xMesh.h by xMeshFwd.h or include xMeshFwd.h or remove include xMesh.h
           in the following files :
            xCrack/src/CrackPostpro.h, xCrack/src/lCrack.h, xCrack/src/xcFront.h,
            xCrack/src/xcFrontDomain.h, xCrack/src/xcCrackBase.h,
            xCrack/src/xcFrontDomainManager.h, xCrack/src/xcFrontPart.h,
            xCrack/src/xcFrontSpaceManager.h, xCut/xDoubleCut/src/xElemCutDomainData.h,
            xCut/xDoubleCut/src/xPhysDomain.h,   xCut/xDoubleCut/src/xPolytopeOFF.cc,
            xCut/xDoubleCut/src/xPolytopeToAOMDElem.h,
            xCut/xLegacySimpleCut/src/xPhysSurf.h,
            xCut/xLegacySimpleCut/src/xPhysSurfVLS.h,
            xCut/xLegacySimpleCut/src/xRefCut.cc,
            xCut/xLegacySimpleCut/src/xRefCutToAOMD.h,  xExport/src/xPostPro.h
            xExt/src/DoubleCutting.h, xFEM/src/xApproxFunctionCorrectedShifted.cc,
            xFEM/src/xData.h, xFEM/src/xElement.cc,  xFEM/src/xGatherMesh.h,
            xFEM/src/xIntegrationRule.cc, xFEM/src/xIntegrationRule.h, xFEM/src/xRegion.h,
            xFEM/src/xRegularGrid.h, xFEM/src/xMeshFwd.h, xFEM/src/xSubMesh.h,
            xFEM/src/xSubMeshManager.cc, xFEM/src/xSubMeshManager.h, xFEM/src/xValue.cc,
            xFEM/src/xValue.h, xFEM/src/xValueManager.h, xFEM/src/xValue_imp.h
            xFEM/src/xVectorField.cc (include xRegion instead), xFEM/src/xVectorField.h,
            xFEM/src/xVectorLevelSet.h, xGeom/src/xDistanceNearestPointGenerator.h
            (use "xAOMDEntityUtil.h"), xInterface/xOctree/src/surf2LevelSet.h,
            xPhysics/src/xpThermic.cc,
            xTLS/src/TLSGeomInterfaceSignedVectorDistanceFunction.h,
            xTLS/src/TLSGeomInterfaceSignedVectorLevelSet.h, xTLS/src/TLSVelocity.h,
            xTLS/src/xRefCutToCGAL.cc
      
          - include xMesh.h in the following files :
            xCrack/src/ExportSensors.cc, xCrack/src/JintModalParks.cc,
            xCrack/src/lCrack.cc,  xCrack/src/xcFront.cc
            xCrack/src/xcFrontDomain.cc,  xCrack/src/xcFrontDomainManager.cc
            xCrack/src/xcInteractionIntegralsOnCrack.cc,
            xCut/xDoubleCut/src/xPolytopeToAOMDElem.cc
            xCut/xDoubleCut/src/xSignedVectorLevelSetEnrichment.h,
            xExport/src/xPostPro.cc,  xExt/src/SpaceLagrangeDualBoundary.cc,
            xExt/src/SpaceLagrangeDualMinBoundary.cc,
            xExt/src/SpaceLagrangeDualNewBoundary.cc, xExt/src/SpaceLagrangeDualSimple.cc,
            xFEM/src/xApproxFunctionCorrectedShifted.cc, xFEM/src/xCommandOnGeomElem.h,
            xFEM/src/xExtendShapeFcts.h, xFEM/src/xGatherMesh.cc,
            xFEM/src/xNonLocalInfoForKeysAndFcts.h, xFEM/src/xRegularGrid.cc,
            xFEM/src/xSubMesh.cc, xFEM/src/xValueCreators.cc,
            xInterface/xOctree/src/surf2LevelSet.cc, xPhysics/src/xPhysSurf3.cc,
            xPhysics/src/xpElastic.cc, xPhysics/src/xpFluidMechanics.cc,
            xTLS/src/TLSGeomInterfaceSignedVectorDistanceFunction.cc
      
           -removed useless forward declaration of xMesh in :
            xCrack/src/xcFrontSpaces.h, xCrack/src/xcInteractionIntegralsOnCrack.h,
            xCut/xLegacySimpleCut/src/xPhysSurfByTagging.h,
            xCut/xLegacySimpleCut/src/xPhysSurfParameter.h, xExport/src/xSensors.h,
            xExt/src/xPhysBand.h, xPhysics/src/xpFluidMechanics.cc,
            xTLS/src/TLSEnrichment.h, xTLS/src/TLSGeomInterfaceVectorLevelSet.h,
            xTLS/src/TLSValueCreatorRampHeaviside.h, xTLS/src/TLSVelocity.h,
            xTLS/src/xEvalWeightedDirectionalAverage.h
      
           -replaced include xIntegrationRule.h by xIntegrationRuleFwd.h
            or remove xIntegrationRule.h :
            xCut/xDoubleCut/src/xPhysDomain.h, xFEM/src/xAlgorithm.h, xFEM/src/xField.h,
            xFEM/src/xIntegrationRule.h, xFEM/src/xSpace.h, xTLS/src/TLSGeomInterface.h
      
          - Trellis/Util/Util/include/mPoint.h
            Added stream operator <<  for mPoint.
          - lCrack.cc/h :
            int lCrack::dim() const,  void lCrack::setV1Ddebug(std::function ...),
            lCrack::~lCrack  are moved to lCrack.cc.
            using namespace xfem moved from global scope to inside namespace xcrack
          - xCut/xDoubleCut/src/xElemCutDomainData.cc :
            now include "mVertex.h"
          - xCut/xLegacySimpleCut/src/xPhysSurf.cc/h  :
            int   xPhysSurfBase::dim() const,   xPhysSurf::~xPhysSurf() and
            xPhysSurfOctree::xPhysSurfOctree  implementations moved to xPhysSurf.cc
          - xExt/src/SpaceLagrangeDualBoundary.cc/h :
            OutsideVertex::OutsideVertex(const xLevelSet* f) and
            AOMD::mEntity* OutsideVertex::operator()(AOMD::mEntity* e) are now
            implemented in the .cc file
          - xFEM/src/xData.cc : data member in xData::nb_evo now initialized to 0
          - xFEM/src/xElement.cc :
            xElement::xyz2uvw(const Trellis_Util::mPoint& xyz) this function that
            invert the mapping was constructing a temporary xMesh in case of QHAD and HEX,
            containing only one element..  This was way more to much than needed,
            since Trellis_Util::Mapping used in this function just need an mEntity.
            I replaced the construction of an xMesh by the construction of the correct
            mEntity only.
          - xFEM/src/xLevelSet.h :  added now needed include unordered_map
          - xFEM/src/xLevelSetOperators.cc :
            call xRegion::dim() instead of xRegion::getMesh()->dim() rational :
            remove deps on xMesh, clearer.
          - xFEM/src/xLevelSetOperators.h :
            removed using std::cout/endl at global scope, added include xEntityFilter
          - xFEM/src/xMesh.h :
            removed using std::map, std::vector, std::set, std::string at xfem scope,
            now   include  xMeshFwd.h, getSupportBoundary and getSubentities now moved to
            xInterface/AOMD/general/src/xAOMDEntityUtil.h
          - xFEM/src/xRegularGrid.h/cc :  xRegularGrid::xRegularGrid implementation
            moved to .cc
          - xFEM/src/xRegularGrid.h : #define TOL 1.e-06 at xfem scope,
            replaced by  constexpr static  double TOL  = 1.e-06; in xfem::xRegularGrid
          - xFEM/src/xSpace.cc now include "xIntegrationRule.h"
          - xFEM/src/xValueCreatorLinkOnFrontFiltered.cc, in ::buildTable
            a non-standard variable size array was used (vertices).
            Replaced by a std::vector.
          - xFEM/src/xVectorField.cc some loop where rewritted.
          - xInterface/xOctree/src/surf2LevelSet.cc implementation of  surface2LevelSet
            constructors,  computeWeightedPseudoNormals::proceed(),
            surface2LevelSetNarrowBand  are moved to the .cc
            rational : these functions call some xMesh member functions)
          - xPhysics/src/xpEval.h/cc ElementLengthMaterialVariablesVisitor_c moved to .cc
            rational : constructor use some member of xMesh.
          - xPhysics/src/xpPhysicalFormulation.cc  : used xRegion member dim, begin and end instead of asking the same on a region "all" meshes's. (rational : reduce deps on xMesh, clearer code)
      
          ADDED std:: in front of standard symbol
           By cascading inclusion, using namespace std was visible in some files
           (comming from some AOMD include). After the change in the inclusion hierachy,
           namespace std is not visible any more in some header file. I choose to not add
           using namespace std at global scope of a header file, and add to std::
           in front of standard symbols. Concerned files :
           xCrack/src/JintParks.h, xCrack/src/xcFrontManager.cc,
           xCut/xDoubleCut/src/xSignedVectorLevelSet.h,
           xCut/xDoubleCut/src/xSignedVectorLevelSet_imp.h,
           xExport/src/xExportAlgorithm.cc, xExport/src/xPostProVTU.h,
           xExt/src/MaterialCommand.h, xExt/src/SpaceLagrangeDualNewBoundary.cc,
           xExt/src/SpaceLagrangeDualNewBoundary.h, xExt/src/ValueOldAndCurrent.h,
           xFEM/src/xAlgorithm.h, xFEM/src/xDistStateOfValue_imp.h, xFEM/src/xElement.cc,
           xFEM/src/xMaterialSensitivity.h, xFEM/src/xSpacePolynomialQH.h,
           xFEM/src/xSubMesh.h, xFEM/src/xValueLinearCombination_imp.h,
           xFEM/src/xVectorLevelSet_imp.h, xFastMarching/src/FMUpdater.h,
           xTLS/src/TLSGeomInterface.h, xTLS/src/TLSVelocityModeEshelby_imp.h,
           xTLS/src/xEvalLSAdvanceFromImposedConditions_imp.h
      
          ADDED using namespace std :
           Same reason as above, I added using namespace std in .cc files that needed it :
            - xCrack/src/xcFrontDomain.cc, xCrack/src/xcFrontSpaceManager.cc,
              xExport/src/xPostProMSH.cc, xExt/src/SpaceLagrangeDualNewBoundary.h,
              xExt/src/SpaceLagrangeDualSimple.cc
      
          removed using namespace xfem :
            xFEM/src/xGatherMesh.h
      
          replace some old style cast by static_cast :
            - xExt/src/SpaceLagrangeDualNewBoundary.cc
      9c703287
  4. 04 Mar, 2020 1 commit
    • Alexis SALZMAN's avatar
      [xFM] introduce graph creation version of fmeik in sequential · f191a539
      Alexis SALZMAN authored
      2 new fmeik functions are now available in FM.h sequential header.
      They  have one or two new arguments compare to previous simplest version.
      These arguments are the "flux" graph that FM computes during its
      resolution.
      The first one is flux_from argument that is optional. It is always
      constructed by FM internal function. But it may be a temporary and not
      passed to fmeik. fmeik is then in charge of its creation and
      destruction.
      The second one is flux_to argument which represent the graph of the flux
      devised by the FM to update the level set. It can be use by the user to
      transport any information from any vertex (source or not). It gives the
      sources and well of the computed flux. This graph is stored in
      xgraph::nodeTo graph structure.
      The attached data to graph nodes are the gradient computed by the FM
      at corresponding vertex. No attached data means no gradient which means
      that it is a source node in the graph. No outgoing graph edges for a
      graph node means that it is a well.
      
      This set of function may replace old ones as flux_to gives gradients and
      a way to compute transported information. Compare to original version
      those versions offer a more clear "Gama in/source" treatment. User still
      gives the set of know and volatile known seed to FM. But in one pass the
      flux is correctly computed taking into account naturally "Gama
      in/source" modified by FM. As transported information will now be
      computed out of this flux graph there is no need to recompute FM to
      obtain correct transported values in this context.
      
      From an implementation point of view a new internal fmeikFlux and
      FMupdaterFlux are coded. They are different compare to their non flux
      counterpart as they create flux graph and treat "Gama in/source"
      differently. In future some factoring may merge flux and non flux
      functions.
      
      All those new elements are under macro HAVE_XGRAPH control. If this
      macro is not set the xFastmarching library do not depend on xGraph
      library and those new fmeik version are not available.
      f191a539
  5. 27 Feb, 2020 1 commit
    • Alexis SALZMAN's avatar
      [xFM,xTLS] change entitystorage API + ls removal in internal fmeik · 0701ea0f
      Alexis SALZMAN authored
      Work with N.C.
      
      This commit change entitystorage API so that it stick to eXlibris
      DATAMANAGER concept (use of setData getData).
      This class is now with an API partially common to DATAMANAGER except
      that it does not have a default constructor. This imply that if we want to
      use exlibriss DATAMANAGER concept with FM family, as distributed updater
      use a data manager to hold internal information for communication, we need to
      have the same constructor. The adopted solution is to consider that
      entitystorage is no longer available for FMDist family. Only FM family
      works with it. And all DATAMANAGER concept container will work with
      both family.
      
      In this commit ls is no longer transmitted to internal fmeik. Those
      functions are using now updater instance to access to it via getLs/setLs
      methods. To minimize changes these methods retake partially old
      entitystorage API. This modification hopefully clarify situation.
      The updater is in charge of ls,gls and transported information.
      
      updatefxx methods are now no longer const method as they change ls,
      gls,...
      
      The communication part of Transport concept is now in FMUpdater.h.
      This is doing a neat separation:
      
      including FM.h
      no dependency to any other library
      
      include FMDist.h
      added dependency to xtool library
      
      Assertion above depend also on what you include/tune to complete usage of
      fmeik function (mesh interface, vector, time monitoring, .....)
      0701ea0f
  6. 24 Feb, 2020 1 commit
    • Alexis SALZMAN's avatar
      [xFastMarching] File dispatching and API change · 362685b2
      Alexis SALZMAN authored
      The parallel and sequential version have been merged in one single
      folder. The old xDistFM folder is not present anymore and the trick
      in FindxFastMarching.cmake had disappear.
      
      To hold both version and avoid code duplication sources have been
      dispatched in several files. The use of a new namespace call internal
      give a way to clarify what user should include and what he should not
      include (TODO to protect from inclusion by macro).
      
      FM.h  and FMDist.h correspond to the API available for users (i.e. fmeik
      and fmeikDist functions declaration). Note that fmeik and fmeikDist run
      over one process do not behave the same way (the // version work by
      stride even with one process). This is why both exist for now. Maybe in
      future this may be merged.
      
      FMinternal.h and FMDistInternal.h store the internal counterpart of
      fmeik and fmeikDist where fast marching is proceed.
      
      FMUpdater.h and FMUpdaterDist.h store internal helping class that help
      updating vertex values.
      
      FMUtil.h store internal computation tool available for all versions (//
      or seq). It gives also a definition of transport concept.
      
      FMDataExchanger.h is dedicated to // version. It give exchanging tool
      for in between processes communication.
      
      In this commit the fmeik and fmeikDist API has been modified to make
      those functions entitystorage independent. Now a template parameter call
      DATAMANAGER is given by user to store information at node. It force now
      user to call fmeik/Dist with appropriate type  for first template
      parameter (no argument deduction available anymore). This done, in future
      commit, it will be possible to use something else then entitystorage to
      work with FM. entitystorage class is now in the FMEntityStorage.h
      file and user has to include this file to use like before the FM algo.
      
      Due to API change and namspace addition the old FM.h has been copied
      in Skeleton with a new name (FM_seq.h). It is now this file which is
      included by FMSK_fastmarching.h. Originally this Skeleton folder was
      independent. Unfortunately it looks to be dependent of src folder
      content now. I am not sure that copying  FM.h  will be sufficient. I
      let this integration (or return to original separate context) works
      to others ...
      
      TLSFastMarchingTools file are using new API with entitystorage as
      template parameter type (via a using)
      
      Checked by N.C.
      362685b2
  7. 26 Jun, 2019 2 commits
    • Nicolas CHEVAUGEON's avatar
      Squashed commit of the following: · ff195880
      Nicolas CHEVAUGEON authored
      commit f5bc3b9d33f2b6f2ec35757b666fbd975fe4158a
      Author: Nicolas Chevaugeon <nicolas.chevaugeon@ec-nantes.fr>
      Date:   Wed Jun 26 13:52:30 2019 +0200
      
          back to superLU 3
      
      commit 0fd17be223d6879fc6c0ae2f8e5a9263558d8322
      Author: Nicolas Chevaugeon <nicolas.chevaugeon@ec-nantes.fr>
      Date:   Wed Jun 26 13:40:53 2019 +0200
      
          cosmetics change after a merge.
      
      commit 5be5f7a4e0b225bef44ef89471c929d8b392fa82
      Author: Nicolas Chevaugeon <nicolas.chevaugeon@ec-nantes.fr>
      Date:   Wed Jun 26 12:16:46 2019 +0200
      
          Squashed commit of the following:
      
          commit dcc41789
          Author: Benoit LE <ble@pc-str33.ec-nantes.fr>
          Date:   Wed Jun 26 10:59:32 2019 +0200
      
              Removed uncessary classes and function in xFastMarching/src/Skeleton
      
              Removed FMSK_linearalgebra.h and FMSK_meshinterfacexRegion.h.
      
              Moved a few details from FMSK_fastmarching.h to FM.h. In particular, the destructor of entitystorage is corrected to clear variables properly. (WARNING : in some
              cases, probably due to numerical rounding, it may slightly change some results, for instance when doing a TLS computation using FastMarching. However, after a
              discussion with N. Chevaugeon, it was the proper way to do it). Removed dupplicated function and classes (like entitysotrage, FMUpdaterGeneric, fmeik_intern, etc).
      
      commit 45d8e958f302c51b8f4c388c8e1aeaeb2516052b
      Author: Nicolas Chevaugeon <nicolas.chevaugeon@ec-nantes.fr>
      Date:   Wed Jun 26 12:11:30 2019 +0200
      
          * xCrack/CMakeLists.txt  : ANN is now optional for this module
      
          * xCrack/src/lCrack.h/cc : Changes to make the  submesh and filter correct in parallel setting.
            - lCrack class is no more derived from the obsolete xExchangeBool.
            - The support information (stored in xSubMesh in lCrack  ) are now build directly
              in member createSupportInfo().
              Helper functions pre_exchange_XXXX post_exchange and members bucket_type map_xx  are deleted.
            - bool supportsCutthruByCrack(AOMD::mEntity* e) const and
            - bool  supportInCylinderAroundFront(double r, AOMD::mEntity *e) const
               members function of lCrack are now implemented in the cc to make the .h more readable
            - Gradient of lst and lsn are now  computed during initialization (post_init member of lcrack),
              since it need   synchronisation among processors.
              this avoids dead-lock when agradient is evaluated latter on.
      
          * xFEM/src/xAlgorithm.h : added range version of some export algorithm.
            I have plans to add more range version of the algorithms.
            (range version : I mean just interface to algorithm where one can pass a range
            (an object on which one can call begin() and end() ... see xIteratorTools.h )
            instead of two iterators.)
      
          * XFEM/src/xRegion.h/cc : added members to class xRegion :
                   size_t size() const;
                   size_t size(int what) const;
                   xtool::xRange<xIter> range() const;
                   xtool::xRange<xIter> range(int what ) const;
      
          * XFEM/src/xSubmesh.h/cc :
             - added members to class xSubMesh :
                   xtool::xRange<xIter > range() const
                   xtool::xRange<xIter > range(int what) const
             - added xUnifySubMeshAccrossProcess class, which is a submesh modifyier
               By calling this modifiyer, one insure that  if an entity exist in a  submesh at least on one proc,
               and is on the partition of the background mesh,
               this entity will be in the submesh of all the proc that share this entity.
      
          * xLinAlg/xSolverBase/src/xDenseMatrix.cc :
             double xDenseMatrix::maxnorm() const implemeted in the cc file.
      
          *  xTool/src/xIteratorTools.h added :
             - make_filter_iter(pred, itb, ite)
             - make_filter_range(pred, range)
             - make_filter_range(pred, itb, ite)
      
          * xTool/src/xRawDataExchanger.h
            addeded communication paterns when no key can be easily defined. Used  for example in xSubMesh
            xUnifySubMeshAccrossProcess
            added test in xTool/test/testsendRecvRawData/
      
          * Trellis/AOMD/AOMD/include/mMesh.h :
          - added move constructor for mMesh.
          - member find(mEntity *) is now const.
      
          * xInterface/AOMD/general/src/xAttachedDataManagerAOMD.h
           xAttachedDataManagerAOMD's member funciton deleteData now return a size_t (stl style) to knwon
           if a data as been effectively delete or not.
      
          * xTLS/CMakeLists.txt : bug corrected in CMake line 80
      
      commit 0f3d17e3e7b01c28a5a168e213c6926b2619526f
      Merge: be8df97f fc91b2b6
      Author: Nicolas Chevaugeon <nicolas.chevaugeon@ec-nantes.fr>
      Date:   Wed Jun 26 11:30:04 2019 +0200
      
          Merge remote-tracking branch 'origin/master' into mycurrent_branch
      
      commit be8df97fb07b3dc877b299e583833d08526e7fee
      Author: Nicolas Chevaugeon <nicolas.chevaugeon@ec-nantes.fr>
      Date:   Fri Jun 21 12:11:27 2019 +0200
      
          CMakeList for Xcrack : now ann is optional for xcrack
      
      commit 0953a5a729969089666a74dd0fbff760c29baa19
      Author: Nicolas Chevaugeon <nicolas.chevaugeon@ec-nantes.fr>
      Date:   Fri Jun 14 13:55:02 2019 +0200
      
          Added new communications pattern in xTool/src/xRawDataExchanger.h, usefull when exchanging data when no key can be defined. Associated test case :  xTool/test/testsendRecvRawData/
      
      commit 1f2739fd89dcb9e0e41bb6e33c3c3679e53aa700
      Merge: cf61c8b7 e249e06c
      Author: Nicolas Chevaugeon <nicolas.chevaugeon@ec-nantes.fr>
      Date:   Thu Jun 13 15:58:13 2019 +0200
      
          Merge branch 'refactoring' into mybranch_refactmerge
      
      commit e249e06c
      Author: Salzman Alexis <alexis.salzman@ec-nantes.fr>
      Date:   Thu Jun 13 12:38:12 2019 +0200
      
          xfastmarching namespace usage correction
      
          New xfastmarching namespace have been introduced but pack/unPack helping function
          must remain in :: namescpace (i.e. in no namescpace). This is to let FMupdaterGeneric
          call ::pack  ::unPack in a generic way (no assumption on VECT or TRANSPORTED
          namespace)
      
      commit 4c2c20c2
      Author: Salzman Alexis <alexis.salzman@ec-nantes.fr>
      Date:   Wed Jun 12 11:39:05 2019 +0200
      
          xInterface/Graph: little change on how to use try_run in cmake
      
      commit 6614834f
      Author: Salzman Alexis <alexis.salzman@ec-nantes.fr>
      Date:   Tue Jun 11 14:41:49 2019 +0200
      
          SuperLU:Add durty duplication to control version. TODO
      
      commit eb383986
      Author: Nicolas Chevaugeon <nicolas.chevaugeon@ec-nantes.fr>
      Date:   Tue Jun 11 12:54:11 2019 +0200
      
          Squashed commit of the following:
      
          commit 90452f607824ed9ac46c1d3fca8e8160de399f53
          Author: Nicolas Chevaugeon <nicolas.chevaugeon@ec-nantes.fr>
          Date:   Tue Jun 11 12:52:08 2019 +0200
      
              Back to superLU 3 as default in xLinearSystemSolverSuperLU.h
      
          commit 52420031eb8d5add55039dc5b143000807a32b9d
          Author: Nicolas Chevaugeon <nicolas.chevaugeon@ec-nantes.fr>
          Date:   Tue Jun 11 12:37:39 2019 +0200
      
              CMakeLists modifyed to fix linking issue:
              library xExport is now not parts of the XFEM_LIBRARIES defined by find Xfem
              xExport dependecies where therfore added where needed.
      
              Super for SuperLU 5 (experimental ) added in xinterface superlu
      
          commit 1e798815a51737d615ee25940cb1e6b796150c7a
          Author: Nicolas Chevaugeon <nicolas.chevaugeon@ec-nantes.fr>
          Date:   Fri Jun 7 15:03:05 2019 +0200
      
              corrected  ../../../xInterface/Graph/ParMetis build process to reflect change in paths.
      
              modifiyed xCSRVector.h and cc so that the .h does not include xBlasDef.h since it can produce conflict when including xVector.h in superLU interface
      
           Changes to be committed:
          	modified:   xFEM/CMakeLists.txt
          	modified:   xInterface/Graph/ParMetis/CMakeLists.txt
          	modified:   xInterface/Graph/ParMetis/src/setType/test.cc
          	modified:   xLinAlg/xInterfaceBasicIterSolver/test/springSolve/main.cc
          	modified:   xLinAlg/xInterfaceSuperLu/src/xLinearSystemSolverSuperLU.cc
          	modified:   xLinAlg/xInterfaceSuperLu/src/xLinearSystemSolverSuperLU.h
          	modified:   xLinAlg/xInterfaceSuperLu/src/xLinearSystemSolverSuperLU_imp.h
          	modified:   xLinAlg/xSolverBase/src/xCSRVector.cc
          	modified:   xLinAlg/xSolverBase/src/xCSRVector.h
          	modified:   xLinAlg/xSolverBase/src/xDenseMatrix.cc
          	modified:   xLinAlg/xSolverBase/src/xDenseMatrix.h
          	modified:   xUtil/cmakeUtil/FindxFEM.cmake
      
      commit cf61c8b74089cd0ffe274c5cc2a45e24285c74c5
      Author: Nicolas Chevaugeon <nicolas.chevaugeon@ec-nantes.fr>
      Date:   Fri Jun 7 14:45:28 2019 +0200
      
          changes in CMakelists.txt for ParMetisInterface_types.h to be properly generated
      
      commit 286497f1b9ddc3a017561a0494af5a6df3cdf09a
      Author: Nicolas Chevaugeon <nicolas.chevaugeon@ec-nantes.fr>
      Date:   Fri Jun 7 12:36:23 2019 +0200
      
          small modif in :
          xInterface/Graph/ParMetis/CMakeLists.txt
          and  xLinAlg/xSolverBase/src/xCSRVector.h
      
          in xInterface/Graph/ParMetis/CMakeLists.txt, path for the test.cc file was wrong
          in  xLinAlg/xSolverBase/src/xCSRVector.h : small change to avoid the inclusion of xBlasDef.h, which conflict with some version of superLu that define the same external function from blas, with slightly different signature.
      
      commit bf8cbe0851dfd2c7107565dff1f06a25220db25e
      Merge: 4fcc8541 8c95f4d6
      Author: Nicolas Chevaugeon <nicolas.chevaugeon@ec-nantes.fr>
      Date:   Fri Jun 7 10:45:08 2019 +0200
      
          Merge remote-tracking branch 'origin/refactoring' into mybranch_refactmerge
      
      commit 4fcc85416046e03da4e53bfd84f8262718cda959
      Author: Nicolas Chevaugeon <nicolas.chevaugeon@ec-nantes.fr>
      Date:   Fri Jun 7 09:34:55 2019 +0200
      
          Small changes in aomd :
      
           - move constructor for mMesh added
           - mEntity * mesh::find(mEntity *) now a const member function
           - void xAttachedDataManagerAOMD::deleteData( AOMD::mEntity &e ) changed to
             size_t xAttachedDataManagerAOMD::deleteData( AOMD::mEntity &e )
             delete data now return un unsigned int telling if a data was actually deleted or not    (like in stl style container ): return 0 if nothing was deleted, 1 otherwise
      
      commit 8c95f4d6
      Author: Gilles Marckmann <gilles.marckmann@ec-nantes.fr>
      Date:   Thu Jun 6 15:11:57 2019 +0200
      
          finalises standard pathes:
      
      commit 33bbac5d
      Author: Gilles Marckmann <gilles.marckmann@ec-nantes.fr>
      Date:   Tue Jun 4 10:51:16 2019 +0200
      
          rename directory and namespaces. Last modifications below:
      
          Original directory (Master)    ->             New directory (refactoring)                 Namespace (refactoring)
          ===========================                   ===========================                 =======================
      
          Xfiles:
          =======
      
          Util
             |_eXlibris_tools                           xTool                                     xtool::
             |
             |                                          xUtil
             |_cmakeUtile                                   |_cmakeUtile
             |
             |_FloUtil                                      attic
             |_Split                                        attic
             |_doxygen_tools                                attic
             |_tags_tools                                   attic
      
          Xcrack                                        xCrack
               |_ xCrack                                     |_ src                               xcrack::
               |
               |_ xCrackFMM                                  attic
      
          Xcut                                          xCut
             |_XdoubleCut                                  |_xDoubleCut                           xcut::
      
          Xdomaindecomp                                 xDomainDecomp
                      |_DomainManager                               |_DomainManager               xdomaindecomp::
                      |_Solvers                                     |_Solver                      xdomaindecomp::
      
          Xext
             |_AnalyicalSolutions                       xAnalyticalSolution
             |                  |_Elastic2D                               |_Elastic2D             xanalyticalsolution::
             |
             |_Xext                                     xExt
                  |_src                                    |_src                                  xext::
                  |
                  |_ImageProcessing                        attic
      
          Xfem
             |_Xfem ___________________________________ xFEM                                      xfem::
                                               \_______ xCut
                                                \          |_xLegacySimpleCut                     xcut::
                                                 \
                                                  \____ xExport                                   xexport::
                                                   \___ xTensor                                   xtensor::
                                                    \__ xMapping                                  xmapping
                                                     \_ xQuadrature                               xquadrature::
      
          FastMarching                                  xFastMarching
                     |_src                                          |_src                         xfastmarching::
                     |   |_FMSkeleton                               |   |_Skeleton                xfastmarching::skeleton
                     |                                              |
                     |_xDistFM                                      |_xDistFM                     xfastmarching::
                             |_xDistFM                                      |_src                 xfastmarching::
      
          Geom                                          xGeom                                     xgeom::
      
          Xinterfaces                                   xInterface
                    |_XAOMDInterface                             |_AOMD                           xinterface::aomd::
                    |                                            |
                    |_GraphInterface                             |_Graph
                    |              |_ParMetis                    |     |_ParMetis                 xinterface::parmetis::
                    |                                            |
                    |_XoctreeInterface                           |_xOctree                        xinterface::xoctree::
                    |                                                    |
                    |_xSplitMeshInterface                                |_xTemplateRefineMesh    xinterface::xtempaterefinemesh::
                    |
                    |
                    |_SolverInterfaces                   xLinAlg
                                     |_SolverBase              |_SolverBase                       xlinalg::
                                     |_SuperLu                 |_xInterfaceSuperLu                xlinalg::
                                     |_Taucs                   |_xInterfaceTaucs                  xlinalg::
                                     |_Lapack                  |_xInterfaceTaucs                  xlinalg::
                                     |_Mumps                   |_xInterfaceMumps                  xlinalg::
                                     |_BasicIterSolver         |_xInterfaceBasicIterSolver        xlinalg::
                                     |_Pastix                  |_xInterfacePastix                 xlinalg::
                                     |
                                     |_NonLinearSolver         attic
                                     |_PetscParallel           attic
                                     |_PetscSeq                attic
                                     |_SparsKit                attic
                                     |_Itl                     attic
                                     |_Mtl                     attic
                                     |_KSPParallel             attic
      
          MeshMachine                                   xMeshTools
                    |_DistMesh                                   |_xDistMesh                      xmeshtool::
                    |_SplitMesh                                  |_xTemplateRefineMesh            xmeshtool::
                    |
                    |_FastMarching                               attic
                    |_LinearAlgebra                              attic
                    |_Stlmesh                                    attic
      
          Octree                                        xOctree                                   xoctree::
      
          Physics
                |_Physics                               xPhysics
                        |_Materials                            |_Materials                        xphysics::
                        |_src                                  |_src                              xphysics::
      
          xTLS
             |_trunck
             |_xTLS                                     xTLS                                      xtls::
      
          ============================================================================================
      
          Xfem splitting:
          ===============
      
          xCut
             |_src
                 |__ xDoubleCut
                 |             |__(unchanged)
                 |
                 |__ xLegacySimpleCut
                                    |__ xPhysSurfByTagging.cc
                                    |__ xPhysSurfByTagging.h
                                    |__ xPhysSurf.cc
                                    |__ xPhysSurf.h
                                    |__ xPhysSurfParameter.cc
                                    |__ xPhysSurfParameter.h
                                    |__ xRefCut.cc
                                    |__ xRefCut.h
                                    |__ xRefCutToAOMD.cc
                                    |__ xRefCutToAOMD.h
                                    |__ xRefCutToIsoZeroVector.cc
                                    |__ xRefCutToIsoZeroVector.h
                                    |__ xRefMesh.cc
                                    |__ xRefMesh.h
      
          xExport
                |_src
                    |__ xExport.cc
                    |__ xExportEnsight.cc
                    |__ xExportEnsight.h
                    |__ xExportGmsh.cc
                    |__ xExportGmsh.h
                    |__ xExportGmsh_imp.h
                    |__ xExport.h
                    |__ xExportManager.cc
                    |__ xExportManager.h
                    |__ xExportTranslate.cc
                    |__ xExportTranslate.h
                    |__ xPostPro.cc
                    |__ xPostPro.h
                    |__ xPostProMSH.cc
                    |__ xPostProMSH.h
                    |__ xPostProVTU.cc
                    |__ xPostProVTU.h
                    |__ xSensors.cc
                    |__ xSensors.h
      
          xTensor
                |_src
                    |__ xPoint.h
                    |__ xTensor2.cc
                    |__ xTensor2.h
                    |__ xTensor2Sym.cc
                    |__ xTensor2Sym.h
                    |__ xTensor3.h
                    |__ xTensor4.h
                    |__ xTensorOperations.h
                    |__ xVector.cc
                    |__ xVector.h
                    |__ xVectorScalarProd.h
      
      commit d76fddf4
      Author: Gilles Marckmann <gilles.marckmann@ec-nantes.fr>
      Date:   Fri May 10 12:33:16 2019 +0200
      
          previous retrieval was a mistake
      
      commit d2a57bbf
      Author: Gilles Marckmann <gilles.marckmann@ec-nantes.fr>
      Date:   Fri May 10 12:09:17 2019 +0200
      
          retrieve forgotten files concerning xSplitMesh
      
      commit 458beb2b
      Author: Gilles Marckmann <gilles.marckmann@ec-nantes.fr>
      Date:   Fri May 3 16:15:37 2019 +0200
      
          - added modules in preparation for "V0":
      
                          Xfiles
                               |_xMapping      +  namespace  xmapping
                               |_xQuadrature
      
          - modified namespaces:
                          geom             ->   xgeom
                          distmesh         ->   xdistmesh
                          oct              ->   xoctree
                          oct_xfem_adapt  }
                          oct_utilities   }->   xoctreeinterface
          		oct_xfem_interf }
      
          - namespace  xphysics  created for module  Xfiles/xPhysics
      
      commit 230607c4
      Author: Gilles Marckmann <gilles.marckmann@ec-nantes.fr>
      Date:   Thu May 2 17:06:15 2019 +0200
      
          rename libs/directories:
      
                  Xcrack                            ->   xCrack
                  Xcut                              ->   xCut
                     |_XdoubleCut                           |_xDoubleCut
                     |_XlegacySimpleCut                     |_xLegacySimpleCut
      
                  Xdomaindecomp                     ->   xDomainDecomp
                  Xexport                           ->   xExport
                  Xext                              ->   xExt
                  Xfem                              ->   xFEM
                  FastMarching                      ->   xFastMarching
                  Geom                              ->   xGeom
      
                  Xinterfaces                       ->   xInterfaces
                        |_XAOMDInterface                       |_xAOMDInterface
                        |_GraphInterface                       |_xGraphInterface
                        |_XoctreeInterface                     |_xOctreeInterface
                        |_xSplitMeshInterface                  |_xTemplateRefineMeshInterface
                        |
                        |                           ->  xLinearAlgebra
                        |_SolverInterfaces                     |
                                         |_SuperLu             |_xInterfaceSuperLu
                                         |_Taucs               |_xInterfaceTaucs
                                         |_...                 |_xInterface...
      
                  MeshMachine                       ->   xMeshTools
                            |_DistMesh                            |_xDistMesh
                            |_SplitMesh                           |_xTemplateRefineMesh
                            |                                     |_attic
                            |_FastMarching                              |_FastMarching
                            |_LinearAlgebra                             |_LinearAlgebra
                            |_Stlmesh                                   |_Stlmesh
      
                  Octree                            ->   xOctree
                  Physics                           ->   xPhysics
                  Xtensor                           ->   xTensor
      
                  Util
                     |_eXlibris_tools               ->   xTools
      
                  Util                              ->   xUtil
                     |_cmakeUtile                            |_cmakeUtile
                     |                                       |_attic
                     |_FloUtil                               |_FloUtil
                     |_Split                                         |_Split
                     |_doxygen_tools                                 |_doxygen_tools
                     |_tags_tools                                    |_tags_tools
      
                  Xtest
                      |_solverinterfaces            ->   xlinearalgebra-test
                      |_physics-seq-test            ->   xphysics-seq-test
                      |_xsplitmeshinterface-test    ->   templaterefinemesh-test
      
          cmake variables rules for module Xfiles/xFoe (no more Xfiles/Xfoe) :
      
                Xfiles/xFoe  => find_package(xFoe)  => xFoe_INCLUDE_DIR  / xFoe_LIBRARIES
      
          in C++ source files, namespace are in lower cases: xfoe
      
      commit 474db3f3
      Author: Gilles Marckmann <gilles.marckmann@ec-nantes.fr>
      Date:   Tue Apr 30 15:04:25 2019 +0200
      
          rename  Xfiles/Util/eXlibris_tools  in  Xfiles/xTools
          find_package(EXLIBRISTOOLS) becomes find_package(xTools)
          namespace is now  xtools  instead of  eXlibris_tools
      
          move:
          	 Util/FloUtil                     -> Util/attic/FloUtil
          	 Util/Split                       -> Util/attic/Split
          	 Util/doxygen_tools               -> Util/attic/doxygen_tools
          	 Util/tags_tools                  -> Util/attic/tags_tools
          	 Xtensor/src/xGenericOperations.h -> xTools/src/xGenericOperations.h
      
      commit 559ab2c1
      Author: Gilles Marckmann <gilles.marckmann@ec-nantes.fr>
      Date:   Tue Apr 30 11:49:07 2019 +0200
      
          Finalises XlegacySimpleCut.
          Still to do: move eventually class xPhysSurfVLS (inside xVectorLevelSet.*) into Xfiles/Xcut/XlegacySimpleCut.
      
      commit 8c4dfc76
      Author: Gilles Marckmann <gilles.marckmann@ec-nantes.fr>
      Date:   Thu Apr 25 12:11:22 2019 +0200
      
          purge mistakes
      
      commit a741772f
      Author: Gilles Marckmann <gilles.marckmann@ec-nantes.fr>
      Date:   Thu Apr 25 11:46:10 2019 +0200
      
          use XlegacySimpleCut: backup with partial updates
      
      commit 3c9d751e
      Author: Gilles Marckmann <gilles.marckmann@ec-nantes.fr>
      Date:   Wed Apr 17 17:37:15 2019 +0200
      
          takes into account the renaming of Xcut/xDoubleCut/src into Xcut/XdoubleCut/src
      ff195880
    • Benoit LE's avatar
      Removed uncessary classes and function in xFastMarching/src/Skeleton · dcc41789
      Benoit LE authored
      Removed FMSK_linearalgebra.h and FMSK_meshinterfacexRegion.h.
      
      Moved a few details from FMSK_fastmarching.h to FM.h. In particular, the destructor of entitystorage is corrected to clear variables properly. (WARNING : in some
      cases, probably due to numerical rounding, it may slightly change some results, for instance when doing a TLS computation using FastMarching. However, after a
      discussion with N. Chevaugeon, it was the proper way to do it). Removed dupplicated function and classes (like entitysotrage, FMUpdaterGeneric, fmeik_intern, etc).
      dcc41789
  8. 18 Jun, 2019 1 commit
    • Benoit LE's avatar
      Correction of refactoring issues in Skeleton · 090b4b5a
      Benoit LE authored
      Corrected some issues coming from refactoring stage:
      - Forgotten namespaces
      - Wrong classes or functions names, probably coming from an error in a "grep"
      - Added xExport in CMakeLists.txt
      090b4b5a
  9. 14 Jun, 2019 1 commit
    • Gilles MARCKMANN's avatar
      refactoring 2019: renames namespace, creates new directories, ... · e6039c6a
      Gilles MARCKMANN authored
          rename directory and namespaces. Modifications below:
      
          Original directory (Master)    ->             New directory (refactoring)                 Namespace (refactoring)
          ===========================                   ===========================                 =======================
      
          Xfiles:
          =======
      
          Util
             |_eXlibris_tools                           xTool                                     xtool::
             |
             |                                          xUtil
             |_cmakeUtile                                   |_cmakeUtile
             |
             |_FloUtil                                      attic
             |_Split                                        attic
             |_doxygen_tools                                attic
             |_tags_tools                                   attic
      
          Xcrack                                        xCrack
               |_ xCrack                                     |_ src                               xcrack::
               |
               |_ xCrackFMM                                  attic
      
          Xcut                                          xCut
             |_XdoubleCut                                  |_xDoubleCut                           xcut::
      
          Xdomaindecomp                                 xDomainDecomp
                      |_DomainManager                               |_DomainManager               xdomaindecomp::
                      |_Solvers                                     |_Solver                      xdomaindecomp::
      
          Xext
             |_AnalyicalSolutions                       xAnalyticalSolution
             |                  |_Elastic2D                               |_Elastic2D             xanalyticalsolution::
             |
             |_Xext                                     xExt
                  |_src                                    |_src                                  xext::
                  |
                  |_ImageProcessing                        attic
      
          Xfem
             |_Xfem ___________________________________ xFEM                                      xfem::
                                               \_______ xCut
                                                \          |_xLegacySimpleCut                     xcut::
                                                 \
                                                  \____ xExport                                   xexport::
                                                   \___ xTensor                                   xtensor::
                                                    \__ xMapping                                  xmapping
                                                     \_ xQuadrature                               xquadrature::
      
          FastMarching                                  xFastMarching
                     |_src                                          |_src                         xfastmarching::
                     |   |_FMSkeleton                               |   |_Skeleton                xfastmarching::skeleton
                     |                                              |
                     |_xDistFM                                      |_xDistFM                     xfastmarching::
                             |_xDistFM                                      |_src                 xfastmarching::
      
          Geom                                          xGeom                                     xgeom::
      
          Xinterfaces                                   xInterface
                    |_XAOMDInterface                             |_AOMD                           xinterface::aomd::
                    |                                            |
                    |_GraphInterface                             |_Graph
                    |              |_ParMetis                    |     |_ParMetis                 xinterface::parmetis::
                    |                                            |
                    |_XoctreeInterface                           |_xOctree                        xinterface::xoctree::
                    |                                                    |
                    |_xSplitMeshInterface                                |_xTemplateRefineMesh    xinterface::xtempaterefinemesh::
                    |
                    |
                    |_SolverInterfaces                   xLinAlg
                                     |_SolverBase              |_SolverBase                       xlinalg::
                                     |_SuperLu                 |_xInterfaceSuperLu                xlinalg::
                                     |_Taucs                   |_xInterfaceTaucs                  xlinalg::
                                     |_Lapack                  |_xInterfaceTaucs                  xlinalg::
                                     |_Mumps                   |_xInterfaceMumps                  xlinalg::
                                     |_BasicIterSolver         |_xInterfaceBasicIterSolver        xlinalg::
                                     |_Pastix                  |_xInterfacePastix                 xlinalg::
                                     |
                                     |_NonLinearSolver         attic
                                     |_PetscParallel           attic
                                     |_PetscSeq                attic
                                     |_SparsKit                attic
                                     |_Itl                     attic
                                     |_Mtl                     attic
                                     |_KSPParallel             attic
      
          MeshMachine                                   xMeshTools
                    |_DistMesh                                   |_xDistMesh                      xmeshtool::
                    |_SplitMesh                                  |_xTemplateRefineMesh            xmeshtool::
                    |
                    |_FastMarching                               attic
                    |_LinearAlgebra                              attic
                    |_Stlmesh                                    attic
      
          Octree                                        xOctree                                   xoctree::
      
          Physics
                |_Physics                               xPhysics
                        |_Materials                            |_Materials                        xphysics::
                        |_src                                  |_src                              xphysics::
      
          xTLS
             |_trunck
             |_xTLS                                     xTLS                                      xtls::
      
          ============================================================================================
      
          Xfem splitting:
          ===============
      
          xCut
             |_src
                 |__ xDoubleCut
                 |             |__(unchanged)
                 |
                 |__ xLegacySimpleCut
                                    |__ xPhysSurfByTagging.cc
                                    |__ xPhysSurfByTagging.h
                                    |__ xPhysSurf.cc
                                    |__ xPhysSurf.h
                                    |__ xPhysSurfParameter.cc
                                    |__ xPhysSurfParameter.h
                                    |__ xRefCut.cc
                                    |__ xRefCut.h
                                    |__ xRefCutToAOMD.cc
                                    |__ xRefCutToAOMD.h
                                    |__ xRefCutToIsoZeroVector.cc
                                    |__ xRefCutToIsoZeroVector.h
                                    |__ xRefMesh.cc
                                    |__ xRefMesh.h
      
          xExport
                |_src
                    |__ xExport.cc
                    |__ xExportEnsight.cc
                    |__ xExportEnsight.h
                    |__ xExportGmsh.cc
                    |__ xExportGmsh.h
                    |__ xExportGmsh_imp.h
                    |__ xExport.h
                    |__ xExportManager.cc
                    |__ xExportManager.h
                    |__ xExportTranslate.cc
                    |__ xExportTranslate.h
                    |__ xPostPro.cc
                    |__ xPostPro.h
                    |__ xPostProMSH.cc
                    |__ xPostProMSH.h
                    |__ xPostProVTU.cc
                    |__ xPostProVTU.h
                    |__ xSensors.cc
                    |__ xSensors.h
      
          xTensor
                |_src
                    |__ xPoint.h
                    |__ xTensor2.cc
                    |__ xTensor2.h
                    |__ xTensor2Sym.cc
                    |__ xTensor2Sym.h
                    |__ xTensor3.h
                    |__ xTensor4.h
                    |__ xTensorOperations.h
                    |__ xVector.cc
                    |__ xVector.h
                    |__ xVectorScalarProd.h
      
      =============================================================================================
          cmake variables rules for module Xfiles/xFoe (no more Xfiles/Xfoe) :
      
                Xfiles/xFoe  => find_package(xFoe)  => xFoe_INCLUDE_DIR  / xFoe_LIBRARIES
      
          in C++ source files, namespace are in lower cases: xfoe
      
      =============================================================================================
      
          New xfastmarching namespace have been introduced but pack/unPack helping function
          must remain in :: namescpace (i.e. in no namescpace). This is to let FMupdaterGeneric
          call ::pack  ::unPack in a generic way (no assumption on VECT or TRANSPORTED
          namespace)
      
      =============================================================================================
      
          Macro Super for SuperLU 5 (experimental ) added in xinterface superlu
      
      =============================================================================================
      
          modifiyed xCSRVector.h and cc so that the .h does not include xBlasDef.h since it can produce conflict when including xVector.h in superLU interface
      
      =============================================================================================
      e6039c6a