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

Interface to sloan subrotines. Utility. More...

#include <pzsloan.h>

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

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 TPZSavableCreateInstance (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...
 

Detailed Description

Interface to sloan subrotines. Utility.

Definition at line 21 of file pzsloan.h.

Constructor & Destructor Documentation

◆ TPZSloan() [1/2]

TPZSloan::TPZSloan ( )
inline

Definition at line 32 of file pzsloan.h.

◆ TPZSloan() [2/2]

TPZSloan::TPZSloan ( int  NElements,
int  NNodes 
)

Definition at line 13 of file pzsloan.cpp.

References fMaxNodesElement, TPZRenumbering::fNElements, and TPZRenumbering::fNNodes.

◆ ~TPZSloan()

virtual TPZSloan::~TPZSloan ( )
inlinevirtual

Definition at line 38 of file pzsloan.h.

Member Function Documentation

◆ Resequence()

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

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().

Member Data Documentation

◆ fMaxNodesElement

int TPZSloan::fMaxNodesElement
private

Definition at line 28 of file pzsloan.h.

Referenced by Resequence(), and TPZSloan().


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