NeoPZ
|
#include <TPZCutHillMcKee.h>
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 TPZSavable * | CreateInstance (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... | |
Definition at line 12 of file TPZCutHillMcKee.h.
TPZCutHillMcKee::TPZCutHillMcKee | ( | ) |
Definition at line 256 of file TPZCutHillMcKee.cpp.
TPZCutHillMcKee::TPZCutHillMcKee | ( | int64_t | NElements, |
int64_t | NNodes, | ||
bool | Reverse = true |
||
) |
Definition at line 265 of file TPZCutHillMcKee.cpp.
|
virtual |
Definition at line 274 of file TPZCutHillMcKee.cpp.
|
private |
void
Definition at line 421 of file TPZCutHillMcKee.cpp.
References TPZCutHillMcKee::SGraph::AdjacentNodesOrdered(), TPZVec< T >::NElements(), and TPZStack< T, NumExtAlloc >::Push().
Referenced by TPZCutHillMcKee::SGraph::AdjacentNodesPtr(), and Resequence().
|
privatevirtual |
Definition at line 297 of file TPZCutHillMcKee.cpp.
References TPZRenumbering::ConvertGraph(), DebugStop, TPZRenumbering::fElementGraph, TPZRenumbering::fElementGraphIndex, TPZCutHillMcKee::SGraph::fnodegraph, TPZCutHillMcKee::SGraph::fnodegraphindex, fVerbose, TPZVec< T >::NElements(), ProcessParentNode(), TPZCutHillMcKee::SGraph::PseudoPeripheralNodes(), TPZManVector< T, NumExtAlloc >::Resize(), TPZCutHillMcKee::SGraph::RootedLevelStructure(), and TPZManVector< T, NumExtAlloc >::Shrink().
Referenced by Resequence().
Reimplemented from TPZRenumbering.
Definition at line 279 of file TPZCutHillMcKee.cpp.
References fReverse, and Resequence().
|
private |
Definition at line 70 of file TPZCutHillMcKee.h.
Referenced by Resequence(), and TPZCutHillMcKee().
bool TPZCutHillMcKee::fVerbose |
Definition at line 86 of file TPZCutHillMcKee.h.
Referenced by Resequence(), and TPZCutHillMcKee().