2
/*******************************************************
4
* Copyright (c) 2003-2010 by University of Queensland
5
* Earth Systems Science Computational Center (ESSCC)
6
* http://www.uq.edu.au/esscc
8
* Primary Business: Queensland, Australia
9
* Licensed under the Open Software License version 3.0
10
* http://www.opensource.org/licenses/osl-3.0.php
12
*******************************************************/
14
/**************************************************************/
16
/* Dudley: ElementFile */
18
/* mark the used nodes with offeset: */
20
/**************************************************************/
22
#include "ElementFile.h"
24
/**************************************************************/
26
void Dudley_ElementFile_markNodes(index_t * mask, index_t offset, dim_t numNodes, Dudley_ElementFile * in,
33
#pragma omp parallel for private(e,i) schedule(static)
34
for (e = 0; e < in->numElements; e++)
36
for (i = 0; i < NN; i++)
38
mask[in->Nodes[INDEX2(i, e, NN)] - offset] = 1;
44
void Dudley_ElementFile_markDOFsConnectedToRange(index_t * mask, index_t offset, index_t marker, index_t firstDOF,
45
index_t lastDOF, index_t * dofIndex, Dudley_ElementFile * in,
55
for (color = in->minColor; color <= in->maxColor; color++)
57
#pragma omp parallel for private(e,i,j,k) schedule(static)
58
for (e = 0; e < in->numElements; e++)
60
if (in->Color[e] == color)
62
for (i = 0; i < NN; i++)
64
k = dofIndex[in->Nodes[INDEX2(i, e, NN)]];
65
if ((firstDOF <= k) && (k < lastDOF))
67
for (j = 0; j < NN; j++)
68
mask[dofIndex[in->Nodes[INDEX2(j, e, NN)]] - offset] = marker;