/[escript]/trunk/finley/src/ElementFile_markNodes.c
ViewVC logotype

Diff of /trunk/finley/src/ElementFile_markNodes.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1628 by phornby, Fri Jul 11 13:12:46 2008 UTC revision 1763 by gross, Mon Sep 8 02:47:55 2008 UTC
# Line 28  Line 28 
28  void Finley_ElementFile_markNodes(index_t* mask,index_t offset,Finley_ElementFile* in,bool_t useLinear) {  void Finley_ElementFile_markNodes(index_t* mask,index_t offset,Finley_ElementFile* in,bool_t useLinear) {
29     dim_t i,NN,NN2,e;     dim_t i,NN,NN2,e;
30     index_t *lin_node,*id=NULL;     index_t *lin_node,*id=NULL;
31    
32     if (in!=NULL) {     if (in!=NULL) {
33       id=TMPMEMALLOC(in->ReferenceElement->Type->numNodes, index_t);       id=TMPMEMALLOC(in->ReferenceElement->Type->numNodes, index_t);
34       if (! Finley_checkPtr(id) ){       if (! Finley_checkPtr(id) ){
         for (i=0;i<in->ReferenceElement->Type->numNodes;i++) id[i]=i;  
35          if (useLinear) {          if (useLinear) {
36             NN=in->LinearReferenceElement->Type->numNodes;             NN=in->LinearReferenceElement->Type->numNodes;
37             lin_node=in->ReferenceElement->Type->linearNodes;             lin_node=in->ReferenceElement->Type->linearNodes;
38          } else {          } else {
39             NN=in->ReferenceElement->Type->numNodes;             NN=in->ReferenceElement->Type->numNodes;
40             lin_node=id;             lin_node=id;
41               for (i=0;i<in->ReferenceElement->Type->numNodes;i++) id[i]=i;
42          }          }
43          NN2=in->numNodes;          NN2=in->numNodes;
44          #pragma omp parallel for private(e,i) schedule(static)          #pragma omp parallel for private(e,i) schedule(static)
# Line 58  void Finley_ElementFile_markDOFsConnecte Line 59  void Finley_ElementFile_markDOFsConnecte
59     if (in!=NULL) {     if (in!=NULL) {
60       id=TMPMEMALLOC(in->ReferenceElement->Type->numNodes, index_t);       id=TMPMEMALLOC(in->ReferenceElement->Type->numNodes, index_t);
61       if (! Finley_checkPtr(id) ){       if (! Finley_checkPtr(id) ){
         for (i=0;i<in->ReferenceElement->Type->numNodes;i++) id[i]=i;  
62          if (useLinear) {          if (useLinear) {
63             NN=in->LinearReferenceElement->Type->numNodes;             NN=in->LinearReferenceElement->Type->numNodes;
64             lin_node=in->ReferenceElement->Type->linearNodes;             lin_node=in->ReferenceElement->Type->linearNodes;
65          } else {          } else {
66             NN=in->ReferenceElement->Type->numNodes;             NN=in->ReferenceElement->Type->numNodes;
67             lin_node=id;             lin_node=id;
68               for (i=0;i<in->ReferenceElement->Type->numNodes;i++) id[i]=i;
69          }          }
70          NN2=in->numNodes;          NN2=in->numNodes;
71          for (color=in->minColor;color<=in->maxColor;color++) {          for (color=in->minColor;color<=in->maxColor;color++) {
# Line 74  void Finley_ElementFile_markDOFsConnecte Line 75  void Finley_ElementFile_markDOFsConnecte
75                    for (i=0;i<NN;i++) {                    for (i=0;i<NN;i++) {
76                       k=dofIndex[in->Nodes[INDEX2(lin_node[i],e,NN2)]];                       k=dofIndex[in->Nodes[INDEX2(lin_node[i],e,NN2)]];
77                       if ( (firstDOF<=k) && (k<lastDOF) ) {                       if ( (firstDOF<=k) && (k<lastDOF) ) {
78                          for (j=0;j<NN;j++) mask[dofIndex[in->Nodes[INDEX2(lin_node[j],e,NN2)]]-offset]=marker;                          for (j=0;j<NN;j++) {
79                                       mask[dofIndex[in->Nodes[INDEX2(lin_node[j],e,NN2)]]-offset]=marker;
80                            }
81                          break;                          break;
82                       }                       }
83                    }                    }

Legend:
Removed from v.1628  
changed lines
  Added in v.1763

  ViewVC Help
Powered by ViewVC 1.1.26