• Nicolas CHEVAUGEON's avatar
    [xfem] xNonLocalInfoGeneratorForKeysAndFcts · f0a19c17
    Nicolas CHEVAUGEON authored
        The class hierachy with base  xNonLocalInfoGeneratorForKeysAndFcts is modifyed to store the data it build for each element in a data manager instead of using a raw AOMDtag.
        details :
        changes
        in  class xNonLocalInfoForKeysAndFcts
         -  member functions
        int getAllKeysFromSlavesAndFree(xValKey::ids_size_t phys, xSpace::femKeys * keys, xSpace::femKeys * other_master_keys);
        and femfemRelKeys& getCoefAndKeysForKey( const xValKey & key );
        are changed to :
        int getAllKeysFromSlavesAndFree(xValKey::ids_size_t phys, xSpace::femKeys * keys, xSpace::femKeys * other_master_keys) const;
        const femRelKeys& getCoefAndKeysForKey( const xValKey & key ) const;
        (These member functions do not modify the xNonLocalInfoForKeysAndFcts. It is changed to a const member function, so that it could be use in contant where the object is const.)
    
        in class xNonLocalInfoGeneratorForKeysAndFcts
        - virtual  member
        virtual unsigned int generateNonLocalInfoForKeysAndFcts(spacePtr_t  space, const int polynomial_order)=0;
        is changed to       virtual void generateNonLocalInfoForKeysAndFcts(spacePtr_t  space, const int polynomial_order)=0;
        rational : previously it returned the tag to recover the data xNonLocalInfoForKeysAndFcts associated to each entity.
        Now this data is stored internally in a datamanager. The tag do not exist any more nd is no longer returned.
        The data for one element can now be recover by calling the new const pure virtual  member function :
        virtual const xNonLocalInfoForKeysAndFcts * getNonLocalInfo(const AOMD::mEntity & e) const =0;
        - a virtual destructor is added.
    
        in class  xNonLocalInfoGeneratorForKeysAndFctsForHangingNode:
        constructor xNonLocalInfoGeneratorForKeysAndFctsForHangingNode(xMesh &mesh,unsigned int tag,  const DATAMANAGER < AOMD::mEntity *> &isHangingOn =  xMesh::get_const_is_hanging_on(), const DATAMANAGER < std::vector<AOMD::mEntity *> > &downGroup =xMesh::get_const_down_group(),  const DATAMANAGER < std::vector<AOMD::mEntity *> > &bndGroup= xMesh::get_const_bnd_group(), double thresold = 1.e-12);
        is replaced by
        xNonLocalInfoGeneratorForKeysAndFctsForHangingNode(xMesh &mesh, DATAMANAGER< xNonLocalInfoForKeysAndFcts * >& _nli_data, const DATAMANAGER < AOMD::mEntity *> &isHangingOn =  xMesh::get_const_is_hanging_on(), const DATAMANAGER < std::vector<AOMD::mEntity *> > &downGroup =xMesh::get_const_down_group(), const DATAMANAGER < std::vector<AOMD::mEntity *> > &bndGroup= xMesh::get_const_bnd_group(), double thresold = 1.e-12);
        Rational :  the previous constructor was used to force the created datas to be attached using an imposed tag. This is replaced by passing the data manager that will store the data.
        -a virtual destructor is added.
        The data are constructed on the current mesh for a given space by calling :
         void generateNonLocalInfoForKeysAndFcts(spacePtr_t  space, const int polynomial_order) override;
        - The data can be recovered using the override :
        const xNonLocalInfoForKeysAndFcts * getNonLocalInfo(const AOMD::mEntity & e) const override;
    
        class xNonLocalInfoGeneratorForKeysAndFctsForHangingNodeOldAndCurrent :
        This class is also modifyed to conform to the new base class.
    
        A xNonLocalInfoGeneratorForKeysAndFcts object pointer is used as an input for  xSpacePolynomialOctree based objects.
        This class hierachy as been modify to integrate the new interface.
    
        File xFEM/src/xAttachableNonLocalInfoForKeysAndFcts.h is removed from the repository since it is not used anymore. (it was used to define and access to xNonLocalInfoForKeysAnfFcts has a mAttachableData)
    
        Other minor change :
         header xAttachableVector.h remove from the include list in  xInterface/xOctree/src/InterfaceOctreeToAOMD.cc  since it is not used here anymore.
    
        deleted:    xFEM/src/xAttachableNonLocalInfoForKeysAndFcts.h
        modified:   xFEM/src/xNonLocalInfoForKeysAndFcts.cc
        modified:   xFEM/src/xNonLocalInfoForKeysAndFcts.h
        modified:   xFEM/src/xNonLocalInfoForKeysAndFcts_imp.h
        modified:   xFEM/src/xSpacePolynomial.cc
        modified:   xFEM/src/xSpacePolynomial.h
        modified:   xInterface/AOMD/CMakeLists.txt
        modified:   xInterface/xOctree/src/InterfaceOctreeToAOMD.cc
    f0a19c17