NeoPZ
|
Interface to sloan subrotines. Utility. More...
#include <pzsloan.h>
Public Member Functions | |
virtual void | Resequence (TPZVec< int64_t > &perm, TPZVec< int64_t > &iperm) |
TPZSloan () | |
TPZSloan (int NElements, int NNodes) | |
virtual | ~TPZSloan () |
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 | |
Private Attributes | |
int | fMaxNodesElement |
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) |
Public Attributes inherited from TPZRenumbering | |
int | fHDivPermute |
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... | |
TPZSloan::TPZSloan | ( | int | NElements, |
int | NNodes | ||
) |
Definition at line 13 of file pzsloan.cpp.
References fMaxNodesElement, TPZRenumbering::fNElements, and TPZRenumbering::fNNodes.
int nen = 2; // number of nodes per element int *npn = new int[nen * n_elements]; // npn[i..i+nen] contains adjacent nodes of element i int *xnpn = new int[n_elements+1]; // xnpn[i] index of element i in npn
Now npn and xnpn are fElementGraph and fElementGraphIndex respectively
Reimplemented from TPZRenumbering.
Definition at line 20 of file pzsloan.cpp.
References TPZRenumbering::fElementGraph, TPZRenumbering::fElementGraphIndex, fMaxNodesElement, TPZRenumbering::fNElements, TPZRenumbering::fNNodes, gegra_(), label_(), TPZVec< T >::NElements(), PZ_PTHREAD_MUTEX_LOCK, PZ_PTHREAD_MUTEX_UNLOCK, and TPZVec< T >::Resize().
Referenced by TPZDohrStructMatrix::Create(), and TPZAnalysis::OptimizeBandwidth().
|
private |
Definition at line 28 of file pzsloan.h.
Referenced by Resequence(), and TPZSloan().