NeoPZ
Classes | Public Member Functions | Public Attributes | Private Member Functions | Private Attributes | List of all members
TPZCutHillMcKee Class Reference

#include <TPZCutHillMcKee.h>

Inheritance diagram for TPZCutHillMcKee:
[legend]
Collaboration diagram for TPZCutHillMcKee:
[legend]

Classes

struct  SGraph
 

Public Member Functions

virtual void Resequence (TPZVec< int64_t > &perm, TPZVec< int64_t > &iperm)
 
 TPZCutHillMcKee ()
 
 TPZCutHillMcKee (int64_t NElements, int64_t NNodes, bool Reverse=true)
 
virtual ~TPZCutHillMcKee ()
 
- Public Member Functions inherited from TPZRenumbering
 TPZRenumbering ()
 
 TPZRenumbering (int64_t NElements, int64_t NNodes)
 
virtual ~TPZRenumbering ()
 
int ClassId () const override
 Define the class id associated with the class. More...
 
void Read (TPZStream &buf, void *context) override
 read objects from the stream More...
 
void Write (TPZStream &buf, int withclassid) const override
 Writes this object to the TPZStream buffer. Include the classid if withclassid = true. More...
 
void SetElementsNodes (int64_t NElements, int64_t NNodes)
 
void SetElementGraph (TPZVec< int64_t > &elgraph, TPZVec< int64_t > &elgraphindex)
 This method declares the element graph to the object. More...
 
void SetNodeWeights (TPZVec< int > &weights)
 Sets the number of equations associated with each node. More...
 
virtual void ClearDataStructures ()
 This will reset all datastructures the object may contain. More...
 
void ConvertGraph (TPZVec< int64_t > &elgraph, TPZVec< int64_t > &elgraphindex, TPZManVector< int64_t > &nodegraph, TPZManVector< int64_t > &nodegraphindex)
 Will convert an element graph defined by elgraph and elgraphindex into a node graph defined by nodegraph and nodegraphindex. More...
 
void ConvertToElementoToElementGraph (TPZVec< int64_t > &elgraph, TPZVec< int64_t > &elgraphindex, TPZVec< int64_t > &eltotelgraph, TPZVec< int > &eltoelweight, TPZVec< int64_t > &eltoelgraphindex)
 Convert a traditional elgraph to an element to element graph. More...
 
void NodeToElGraph (TPZVec< int64_t > &elgraph, TPZVec< int64_t > &elgraphindex, TPZVec< int64_t > &nodetoelgraph, TPZVec< int64_t > &nodetoelgraphindex)
 Stores the graph of nodes to elements. More...
 
int64_t ColorNodes (TPZVec< int64_t > &nodegraph, TPZVec< int64_t > &nodegraphindex, TPZVec< int > &family, TPZVec< int > &colors)
 Will assign a color to the nodes in the graph such that no two connected nodes have the same color the return value indicates the number of colors in the graph. More...
 
void Print (TPZVec< int64_t > &grapho, TPZVec< int64_t > &graphoindex, const char *name=0, std::ostream &out=std::cout)
 Prints graph. More...
 
void CornerEqs (unsigned int mincorners, int64_t nelconsider, std::set< int > &eligible, std::set< int > &cornernodes)
 Analyzes the graph, finds the corner nodes
Number of elements which should be considered for determining corner nodes. More...
 
- Public Member Functions inherited from TPZSavable
 TPZSavable ()
 
virtual ~TPZSavable ()
 
virtual std::list< std::map< std::string, uint64_t > > VersionHistory () const
 
virtual std::pair< std::string, uint64_t > Version () const
 
virtual bool Compare (TPZSavable *copy, bool override=false)
 Compares the object for identity with the object pointed to, eventually copy the object. More...
 
virtual bool Compare (TPZSavable *copy, bool override=false) const
 Compares the object for identity with the object pointed to, eventually copy the object. More...
 
- Public Member Functions inherited from TPZRegisterClassId
template<typename T >
 TPZRegisterClassId (int(T::*)() const)
 
 TPZRegisterClassId ()=default
 

Public Attributes

bool fVerbose
 
- Public Attributes inherited from TPZRenumbering
int fHDivPermute
 

Private Member Functions

void ProcessParentNode (int64_t Parent, SGraph &graph, TPZVec< int64_t > &ExploredNodes, TPZStack< int64_t > &R, std::queue< int64_t > &Q, TPZVec< int64_t > &adjNodes)
 void More...
 
virtual void Resequence (TPZVec< int64_t > &permGather, TPZVec< int64_t > &permScatter, TPZVec< int64_t > &permGatherReverse, TPZVec< int64_t > &permScatterReverse)
 

Private Attributes

bool fReverse
 

Additional Inherited Members

- Static Public Member Functions inherited from TPZRenumbering
static int64_t ColorElements (const TPZCompMesh *cmesh, const TPZVec< int64_t > &elementIndices, TPZVec< int64_t > &elementColors)
 Assigns a color to the elements in the elementIndices list such that two elements that share a connect have different colors. The return value indicates the number of colors. More...
 
- Static Public Member Functions inherited from TPZSavable
static std::set< TPZRestoreClassBase * > & RestoreClassSet ()
 This static function guarantees that the gMap object is available when needed. More...
 
static std::map< int, TPZRestore_t > & ClassIdMap ()
 This static function guarantees that the gMap object is available when needed. More...
 
static std::pair< std::string, uint64_t > NeoPZVersion ()
 
static void Register (TPZRestoreClassBase *restore)
 
static void RegisterClassId (int classid, TPZRestore_t fun)
 
static TPZSavableCreateInstance (const int &classId)
 
- Protected Attributes inherited from TPZRenumbering
int64_t fNElements
 Number of elements in the graph. More...
 
int64_t fNNodes
 Number of nodes in the graph. More...
 
TPZVec< int > fNodeWeights
 Number of equations associated with each node. More...
 
TPZVec< int64_t > fElementGraph
 Node number of each element. More...
 
TPZVec< int64_t > fElementGraphIndex
 Indicates for each element the index of the first entry with fElementGraph for that element The size of this vector is fNElements+1. More...
 

Detailed Description

Definition at line 12 of file TPZCutHillMcKee.h.

Constructor & Destructor Documentation

◆ TPZCutHillMcKee() [1/2]

TPZCutHillMcKee::TPZCutHillMcKee ( )

Definition at line 256 of file TPZCutHillMcKee.cpp.

References fReverse, and fVerbose.

◆ TPZCutHillMcKee() [2/2]

TPZCutHillMcKee::TPZCutHillMcKee ( int64_t  NElements,
int64_t  NNodes,
bool  Reverse = true 
)

Definition at line 265 of file TPZCutHillMcKee.cpp.

References fReverse, and fVerbose.

◆ ~TPZCutHillMcKee()

TPZCutHillMcKee::~TPZCutHillMcKee ( )
virtual

Definition at line 274 of file TPZCutHillMcKee.cpp.

Member Function Documentation

◆ ProcessParentNode()

void TPZCutHillMcKee::ProcessParentNode ( int64_t  Parent,
SGraph graph,
TPZVec< int64_t > &  ExploredNodes,
TPZStack< int64_t > &  R,
std::queue< int64_t > &  Q,
TPZVec< int64_t > &  adjNodes 
)
private

◆ Resequence() [1/2]

void TPZCutHillMcKee::Resequence ( TPZVec< int64_t > &  permGather,
TPZVec< int64_t > &  permScatter,
TPZVec< int64_t > &  permGatherReverse,
TPZVec< int64_t > &  permScatterReverse 
)
privatevirtual

◆ Resequence() [2/2]

void TPZCutHillMcKee::Resequence ( TPZVec< int64_t > &  perm,
TPZVec< int64_t > &  iperm 
)
virtual

Reimplemented from TPZRenumbering.

Definition at line 279 of file TPZCutHillMcKee.cpp.

References fReverse, and Resequence().

Member Data Documentation

◆ fReverse

bool TPZCutHillMcKee::fReverse
private

Definition at line 70 of file TPZCutHillMcKee.h.

Referenced by Resequence(), and TPZCutHillMcKee().

◆ fVerbose

bool TPZCutHillMcKee::fVerbose

Definition at line 86 of file TPZCutHillMcKee.h.

Referenced by Resequence(), and TPZCutHillMcKee().


The documentation for this class was generated from the following files: