16 #ifndef TPZNODESETCOMPUTE_H 17 #define TPZNODESETCOMPUTE_H 51 void BuildNodeSet(int64_t node, std::set<int64_t> &nodeset);
72 void Print(std::ostream &file)
const;
76 static void Print(std::ostream &file,
const std::set<int64_t> &nodeset,
const char *text);
119 void AnalyseForElements(std::set<int64_t> &vertices, std::set< std::set<int64_t> > &elements);
void AnalyseNode(int64_t node, TPZVec< std::set< int64_t > > &nodeset)
This method will analyse the set inclusion of the current node, calling the method recursively if an...
void AnalyseGraph()
Group the node graph as passed by the parameters.
void Print(std::ostream &file) const
TPZManVector< int64_t > fNodegraphindex
TPZManVector< int64_t > & Nodegraphindex()
TPZVec< int > & IsIncluded()
Templated vector implementation.
static int ColorGraph(TPZVec< int64_t > &graph, TPZVec< int64_t > &graphindex, int64_t neq, TPZVec< int > &colors)
Color the graph into mutually independent blocks.
TPZVec< int > fLevel
Inclusion relation ship between nodes.
void BuildNodeGraph(TPZVec< int64_t > &blockgraph, TPZVec< int64_t > &blockgraphindex)
Build the graph which groups the equations of each node.
void BuildNodeSet(int64_t node, std::set< int64_t > &nodeset)
TPZStack< int64_t > fSeqCard
Number of nodes associated with each sequence number.
TPZManVector< int64_t > fNodegraph
The node graph as passed on by the finite element mesh His node graph is organized by sequence numbe...
Computes the cardinality of a nodegraph, identifying nodes as vertices, lines, faces or volumes...
TPZVec< int > & Levels()
Returns the level of the nodes.
void BuildVertexGraph(TPZStack< int64_t > &blockgraph, TPZVec< int64_t > &blockgraphindex)
build the graph which builds the equations linked to vertices
int64_t fMaxSeqNum
Counter for the condensed node graph.
TPZVec< int64_t > fSeqNumber
Sequence number associated with each node after condensing.
void BuildElementGraph(TPZStack< int64_t > &blockgraph, TPZStack< int64_t > &blockgraphindex)
Build the graph which groups the equations grouped by elements.
TPZVec< int > fIsIncluded
Vector indicating whether a node connectivity is included in another one.
void AnalyseForElements(std::set< int64_t > &vertices, std::set< std::set< int64_t > > &elements)
Look for elements formed by vertices, intersecting with the intersectvertices, one by one...
Implements block matrices. Matrix utility.
void SubstractLowerNodes(int64_t node, std::set< int64_t > &nodeset)
working a set of vertex nodes with nodes which have to be intersected (tested)
static void ExpandGraph(TPZVec< int64_t > &graph, TPZVec< int64_t > &graphindex, TPZBlock< STATE > &block, TPZVec< int64_t > &expgraph, TPZVec< int64_t > &expgraphindex)
Expand the graph acording to the block structure.
int MaxLevel()
Returns the maximum level.
TPZManVector< int64_t > & Nodegraph()