1. 10 Nov, 2020 1 commit
    • Nicolas CHEVAUGEON's avatar
      m] library xGeomTools added · bc14d18b
      Nicolas CHEVAUGEON authored
      Main changes :
      - A new library xGeomTools is added in xGeom.
        *This library is meant to collect "simple" geometrical classes/functions.
         By "simple" we mean that they dependent only on xtensor, and xtool.
        *All the classes and functions of xGeomTools are in namespace xgeom.
        *For this commit it contains :
         xBoundingBox.h/cc, xOctreeGrid.h, xRegularGrid.h/cc, xSimpleGeometry.h,
         moved from xTensor or xFEM.
        *Previous library xGeom is split in two libraries : xDistanceNearest and
         xScanElement in respectivevly xGeom/xDistanceNearest
         and xGeom/xScanElement,
        *The old xGeom library do not exist any more.
        *Note that the 3 libraries contained in directory xGeom populate
         the namespace xGeom.
        *Global build option BUILD_XGEOM is removed.
        *Global build option BUILD_XGEOMTOOLS, BUILD_XDISTANCENEAREST,
          BUILD_XSCANELEMENT are added.
        *xGeom/CMakeLists.txt is removed
        *xUTil/cmakeUtil :
         FindxGeomTools.cmake, FindxDistanceNearest.cmake, FindxScanElement.cmake
         added, FindxGeom.cmake is removed.
        *xAnalyticalSolution, xCrack, xDoubleCut, xLegacySimpleCut, xDomainDecomp,
         xExport, xExt, xFEM, xInterfaceAOMD, xMeshInterface, xOctree, xMapping,
         xTLS, now depend on  xGeomTools.
        *xOctree and xTLS now depends on xDistanceNearest
      - xBoundingBox :
        *added member functions  inclose(), now used in xMesh, xSubMesh
        and xLagrangeMapping.
        *added default constructor and constructor for 2 xPoint.
        *default constructor now build an  empty "bb"  by havinh min(i) > max (i)
      - xRegularGrid : dependencies to xMesh are removed.
      - xMesh.h :  part of previous xOctreeGrid that was dependent of xMesh are
        no directly implemented in xMesh. (see xMesh::createGrid() and
        xMesh::locateElement)
      
      Miscanelous changes along the way (removing useless dependencies)
      - xValue.cc : removed "useless" inclusions of "xApproxFunction.h",
        "xField.h", "xLevelSet.h", "xSpacePolynomial.h", "xTensors.h",
        "xTensorsPtr.h" "xVector.h" as well as useless using AOMD::mEdge
        and using AOMD::mEntity.
      - xValue.h : removed useless inclusions of  <set>,
        <boost/graph/adjacency_list.hpp>, <boost/graph/connected_components.hpp>,
        "xTensorsPtr.h", "xDebug.h", "xNearestNeighborInterface.h"
      - xValue_imp.h : removed useless includes "mEdge.h" and "xGeomeElem.h"
      - xValueManager.h - removed dependencies to xMesh.
      - some of AOMD include cascading in other files because of the previous
        removed inclusion were putting std::string in global namespace.
        std::string is now added in the following files :
        std::string xExport.h, xExportEnsight, xExportGmsh.h
        xExportTranslate.cc/h, xField.h, xFEM/src/xSpacePolynomial.h.
      - xData.cc inside void xData::ReadInfo(const char *filename),
        unused variable xBoundary crvboundary; is removed.
      - all modified and added files are clang-formatted.
      bc14d18b
  2. 04 Jun, 2020 1 commit
    • Nicolas CHEVAUGEON's avatar
      [xmapping] xmapping is now a real library. · a4255521
      Nicolas CHEVAUGEON authored
      Up to now, xmapping was only containing the header xMapping/src/xMappingBuilderHolder.h, letting construct mapping from trellis.
      This commit changes it to a real library, in order to push there all the mapping need of eXlibris. Now mapping can be used with only name and include from xmapping, with no more direct include from trellis.
      
      Rationnal : paving the way to less dependecies in Trellis.
      
      For now, no modification are needed in client code. In next commits, the
      changes will be implemented so that only include from xmapping will be
      used in clients of mapping codes. after that, new implementation of
      mapping could appear with no mention of trellis.
      
      new file xMapping.h : define our own xMapping type, for now just a new name
      for Trellis_Util::Mapping.
      
      file xMappingBuilderHolder.h : some of the implementation have been
      moved to the new file xMappingBulderHolder.cc.
      new member function added to xMappingBuilderHolder : buildMapping. This
      simplify the creation of mapping in client code.
      
      new file xMappingBulderHolder.cc : contain some of the implementations.
      
      xMapping/CMakeLists.txt now builds a library.
      xUtil/cmakeUtil/FindxFEM.cmake : now xmapping library is requiered.
      
      updated and new files are clang-formated.
      a4255521
  3. 27 May, 2020 2 commits
  4. 05 May, 2020 1 commit
  5. 04 May, 2020 1 commit
    • Alexis SALZMAN's avatar
      [SOME] Add boost finding in some CMakelists.txt · 93d77713
      Alexis SALZMAN authored
      When boost lib is not installed in your system in /usr/include
      the set of lib modified by this commite were in default. As they
      use xTool xIteratorTools.h they depend on boost header and no
      cmake operation give them access to none system boost version. The simple
      addition of some Find Boost mechanism covers this prb. Not sure that
      it is the best way to solve this issue ... as already said
      modern-cmake may be used and in this case give dependency of xtool
      to correct boost.
      
      Please in future pay attention to boost dependency. If you add any don't
      forget to add find in cmake. Boost are not always installed in
      /usr/include.
      
      FindBLAS2.cmake
      ==============
      Durty hack to chose the right mkl lib on new c6 Liger install. Should be
      completely revisited ....
      93d77713
  6. 04 Mar, 2020 1 commit
    • Alexis SALZMAN's avatar
      [xGraph] introduce a new xGraph library dedicated to home made basic graph algo · 24ca5345
      Alexis SALZMAN authored
      This commit introduce two small graph structures to treat specific weighted
      oriented graph:
      nodeTo graph are made of nodes that know there outgoing edges
      nodeFrom graph are made of nodes that know there incoming edges
      
      Both class are constituting a graph by using eXlibris DATAMANGER concept
      to associate to key a graph node.
      Both class hold some information on nodes and edges.
      
      Typical usage of those graph are linked to mesh traversal. For example
      if the keys (graph nodes) are vertex we can create a graph that impose
      mesh traversal through edges of this graph that can be mesh edges or
      mesh element or ...
      Or if the keys (graph nodes) are elements we can create a graph that
      impose traversal through edges of this graph that can be element
      connection, .... And this way the traversal in the mesh is done
      from mesh element to mesh element.
      
      This library is very experimental and its API is subject to changes in
      near future
      24ca5345
  7. 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
  8. 27 Jan, 2020 1 commit
    • Grégory LEGRAIN's avatar
      Let there be template fields ! · 3cc692f4
      Grégory LEGRAIN authored
      This is a first implementation of template fields in eXlibris.
      Thanks a lot to Alexis (@asalzman) and Nicolas (@nchevaugeon) for fruitful discussions !
      
      Fields can now handle other quantities than double (complex for instance).
      This has led to multiple changes:
      * xDoubleManager disappears
      * xValueDouble disappears
      * Assembly is now templatized
      
      However, the changes are small with respect to the interface in your applications (see the testcases).
      
      =========================
          Notable changes
      =========================
      
      xDoubleManager:
      ---------------
      Is replaced by  xValueManagerDist<T> ("Dist" stands for "distributed"). This template class handles other values  than double.
      
      Example : xValueManagerDist<double> value_manager;
      
      In your end-user code (AND NOWHERE ELSE), you can define a convenient typedef :
      using  xDoubleManager = xValueManagerDist<double>;
      
      xValue:
      -------
      xValueDouble is replaced by xSingleValue<T> where T stands for the type which is stored.
      Move value creators in xValueCreators.h
      
      xStateOfValue:
      --------------
      is now template (should not influence end-user code)
      
      xStateDofCreator, xStateFixedCreator are also template.
      
      xField:
      -------
      now template against the approximated quantity: xField<double> for a double-valued field
      
      Major internal modifications: "everything" is handled by the specialization of getVal and getGrad. For example:
      template <class iterFct, class iterVal>
      static void getVal (iterFct it, iterFct ite, iterVal first, iterVal last, int size_Fct_Val,
                    const xGeomElem* geo_appro, const xGeomElem* geo_integ, std::complex<double>& v);
      
      xFormBilinear, xFormLinear:
      ---------------------------
      A new template is added (double by default):
      template <typename VT = double> class xFormBilinear;
      It corresponds to the type of quantity which is stored in the elementary stiffness matrices (note that xFemMatrix and other are now template). Usually, you can keep it as double, but this is not mandatory (see BUILD_COMPLEX_VALUED_OPERATORS in test case complex2d).
      
      xAssembler, xAssemblerTraitPolicy, xDispatcher are modified to take into account the other changes.
      
      ==============================
             EXAMPLES
      ==============================
      
      An example of complex-valued field is given in Xtest/xfem-para-test/complex2d (however, see issue #58)
      
      ========================================================
      KNOWN limitations/issues (that will be fixed later on):
      ========================================================
      
      * type dependent code in xField is still part of the class. We should try to move this code away from the core of the class (issue #60).
      * float and complex version of mumps are still not available, so you cannot fully run any float or complex testcases for the moment  (see issue #58)
      * the compiler on titan (gcc 4.8) has troubles during template deduction for some template functions (DeclareInterpolation, DeclareState), see issue #59. The syntax had to be modified in order to help the compiler, leading to verbose notations.
      3cc692f4
  9. 09 Dec, 2019 1 commit
    • Nicolas CHEVAUGEON's avatar
      remove the depencies of xFEM on xExport · 967e0a06
      Nicolas CHEVAUGEON authored
          Before the current commit, we had the problem that the xfem library depends on the export library and vice versa. This cyclic dependencies causes lot of problemes for the build.
          In particular, it was very difficult to make some of our test case build with cmake version 3.13.4
          To make xFEM independant of xExport, the main task was to move the Export algorithms out of the xFEM library. All these algorithm are now implemented in xExportAlgorithm.h/cc int the xExport library, under the xexport name space.
          That done, some dependencies remained in the xVectorLevelset.h/cc. This file previously contain our first version of vectorlevelset (that came before the signed vector distance function) and the first version of the 2d doublecut algorithm, embedded in the class xPhysSurfVLS. The class xPhysSurfVLS itself has been moved where I think it belong, to xCut/xLegacy and the xcut namespace in file xPhysSurfVLS.h/cc. This being done we are one step closer to also have removed the cyclic dependencies between xfem and xcut.
          Most of the other changes in the library reflect the fact that we now have to include xExportAlgorithm.h to have access to the Export algorithm which is now in name space xexport. The same work as been done in the xTest repository and will be commited next.
          A small "bug" in  xUtil/cmakeUtil/FindNoHeaderLibrary.cmake as also been corrected. (it was always printing lapack REQUIRED whatever the library that was missing)
      
       + small modif in FindTAUCS.cmake. It was freezing when TAUCS_INCLUDE_PATH was not set.
      
      Squashed commit of the following:
      
      commit 1f50932ee6a6a4dde8cd35d5793112a6f4b934d4
      Merge: 9e3ba9e db82eb04
      Author: Nicolas CHEVAUGEON <nchevaug@titan.ec-nantes.fr>
      Date:   Mon Dec 9 10:36:16 2019 +0100
      
          Merge remote-tracking branch 'origin/master' into remove_xexport_dep
      
      commit 9e3ba9e57013dfa2de1e39163b29faa409a2cb21
      Author: Nicolas CHEVAUGEON <nchevaug@titan.ec-nantes.fr>
      Date:   Mon Dec 9 10:02:36 2019 +0100
      
          finishing the move of Export algo to xexport.
          + small modif in FindTAUCS.cmake. It was freezing when TAUCS_INCLUDE_PATH was not set.
      
      commit fa64d29ddc406acd5225774b7aae487072b0666c
      Merge: 8a6a9557 f94d6e0
      Author: Nicolas CHEVAUGEON <nchevaug@titan.ec-nantes.fr>
      Date:   Fri Dec 6 12:05:11 2019 +0100
      
          Merge branch 'tryingtobuild' of http://git.gem.ec-nantes.fr/nchevaugeon/Xfiles_Save into remove_xexport_dep
      
      commit f94d6e0b722c7066f526d7e45970a2c02ed27d9d
      Author: chevaugeon <nicolas.chevaugeon@ec-nantes.fr>
      Date:   Fri Dec 6 09:38:34 2019 +0100
      
      commit b3ac48f0d5d5d29ea8ab8f5798775e607598525b
      Author: chevaugeon <nicolas.chevaugeon@ec-nantes.fr>
      Date:   Wed Dec 4 16:30:33 2019 +0100
      
          remove the depencies of xFEM on xExport
      
          Before the current commit, we had the problem that the xfem library depends on the export library and vice versa. This cyclic dependencies causes lot of problemes for the build.
          In particular, it was very difficult to make some of our test case build with cmake version 3.13.4
          To make xFEM independant of xExport, the main task was to move the Export algorithms out of the xFEM library. All these algorithm are now implemented in xExportAlgorithm.h/cc int the xExport library, under the xexport name space.
          That done, some dependencies remained in the xVectorLevelset.h/cc. This file previously contain our first version of vectorlevelset (that came before the signed vector distance function) and the first version of the 2d doublecut algorithm, embedded in the class xPhysSurfVLS. The class xPhysSurfVLS itself has been moved where I think it belong, to xCut/xLegacy and the xcut namespace in file xPhysSurfVLS.h/cc. This being done we are one step closer to also have removed the cyclic dependencies between xfem and xcut.
          Most of the other changes in the library reflect the fact that we now have to include xExportAlgorithm.h to have access to the Export algorithm which is now in name space xexport. The same work as been done in the xTest repository and will be commited next.
          A small "bug" in  xUtil/cmakeUtil/FindNoHeaderLibrary.cmake as also been corrected. (it was always printing lapack REQUIRED whatever the library that was missing)
      967e0a06
  10. 18 Sep, 2019 1 commit
    • Alexis SALZMAN's avatar
      Add xReader concept in eXlibris · f3fa13a2
      Alexis SALZMAN authored
      A xReader is a function that read a mesh file into a mesh database with
      eventually a DATAMANAGER created to keep element id association.
      This last point use the DATAMANAGER concept (xUnorderedMapDataManager,
      xGeneralUnorderedMapDataManager or xAttachedDataManagerAOMD) to
      associate to an element of the database its id in the file read.
      
      For now only msh file format reading is proposed with a xMshReader
      template functions located in xMeshTool/xReader. It can be easily
      completed by other template function to read Abaqus/Nastran/ ...
      file format.
      
      It is specialize for AOMD data base and xAttachedDataManagerAOMD (for
      DATAMANAGER ) in  xInterface/AOMD/general/src//xMshToAOMDReader.h.
      Implementation is largely inspired from AOMD_Util::importDGFile.
      It support msh version 1 and above 2 format.
      It can be used in place of AOMD_Util::import call in eXlibris.
      Note that only elements, file format and nodes block are read. Other
      blocks are ignored ....
      f3fa13a2
  11. 26 Jun, 2019 2 commits
    • Grégory LEGRAIN's avatar
      Various improvements / fix · 4b5d27fc
      Grégory LEGRAIN authored
      xFEM/src/xApproxFunctionHighOrderHierarchicalLegendreQH.cc
      --> decrease verbosity
      
      xFEM/src/xCommandOnGeomElem.h
      --> fix code typo
      
      xFEM/src/xData.h
      --> xZoneContainer*       zones; is not used in practice: removed
      
      xFEM/src/xIntegrationRuleStored.*
      --> add  xIntegrationRuleStoredBasicFallBackPartition: stored
      integration rule that falls back to partition rule if nothing is
      attached
      
      xFEM/src/xSpaceFactory.cc
      --> add +xSpacePolynomialHierarchicalLegendreTrunkSpaceQH factory
      
      xInterface/xOctree/src/AdaptOctreeToAOMD.cc
      --> improvements for 3D
      
      xLinAlg/xInterfaceLapack/src/xLapackInterface.h
      --> add dgels
      
      xOctree/src/oLevelSet.*
      --> new criterion oRefinementCriteriaOnFunction. Takes a std::function
      for the criterion (criterion based on ls and location)
      
      xUtil/cmakeUtil
      --> add FindLIBIGL.cmake
      --> improve FindMATLIB.cmake
      4b5d27fc
    • 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
  12. 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