1 |
jgs |
150 |
/* |
2 |
|
|
****************************************************************************** |
3 |
|
|
* * |
4 |
|
|
* COPYRIGHT ACcESS 2003,2004,2005 - All Rights Reserved * |
5 |
|
|
* * |
6 |
|
|
* This software is the property of ACcESS. No part of this code * |
7 |
|
|
* may be copied in any form or by any means without the expressed written * |
8 |
|
|
* consent of ACcESS. Copying, use or modification of this software * |
9 |
|
|
* by any unauthorised person is illegal unless that person has a software * |
10 |
|
|
* license agreement with ACcESS. * |
11 |
|
|
* * |
12 |
|
|
****************************************************************************** |
13 |
|
|
*/ |
14 |
|
|
|
15 |
jgs |
82 |
/**************************************************************/ |
16 |
|
|
|
17 |
|
|
/* Finley: Mesh: NodeFile */ |
18 |
|
|
|
19 |
|
|
/* scatters the NodeFile in into NodeFile out using index[0:in->numNodes-1]. */ |
20 |
|
|
/* index has to be between 0 and out->numNodes-1. */ |
21 |
|
|
/* coloring is choosen for the worst case */ |
22 |
|
|
|
23 |
|
|
/**************************************************************/ |
24 |
|
|
|
25 |
|
|
/* Author: gross@access.edu.au */ |
26 |
|
|
/* Version: $Id$ */ |
27 |
|
|
|
28 |
|
|
/**************************************************************/ |
29 |
|
|
|
30 |
|
|
#include "NodeFile.h" |
31 |
|
|
|
32 |
|
|
/**************************************************************/ |
33 |
|
|
|
34 |
jgs |
123 |
void Finley_NodeFile_scatter(index_t* index, Finley_NodeFile* in, Finley_NodeFile* out) { |
35 |
|
|
dim_t i,j; |
36 |
|
|
index_t k; |
37 |
jgs |
82 |
if (in->Id!=NULL) { |
38 |
|
|
#pragma omp parallel for private(i,j,k) schedule(static) |
39 |
|
|
for (i=0;i<in->numNodes;i++) { |
40 |
|
|
k=index[i]; |
41 |
|
|
out->Id[k]=in->Id[i]; |
42 |
|
|
out->Tag[k]=in->Tag[i]; |
43 |
|
|
out->degreeOfFreedom[k]=in->degreeOfFreedom[i]; |
44 |
|
|
out->reducedDegreeOfFreedom[k]=in->reducedDegreeOfFreedom[i]; |
45 |
|
|
out->toReduced[k]=in->toReduced[i]; |
46 |
|
|
for(j=0;j<in->numDim;j++) out->Coordinates[INDEX2(j,k,in->numDim)]=in->Coordinates[INDEX2(j,i,in->numDim)]; |
47 |
|
|
} |
48 |
|
|
} |
49 |
|
|
} |
50 |
|
|
/* |
51 |
|
|
* $Log$ |
52 |
jgs |
150 |
* Revision 1.3 2005/09/15 03:44:23 jgs |
53 |
|
|
* Merge of development branch dev-02 back to main trunk on 2005-09-15 |
54 |
|
|
* |
55 |
|
|
* Revision 1.2.2.1 2005/09/07 06:26:20 gross |
56 |
|
|
* the solver from finley are put into the standalone package paso now |
57 |
|
|
* |
58 |
jgs |
123 |
* Revision 1.2 2005/07/08 04:07:55 jgs |
59 |
|
|
* Merge of development branch back to main trunk on 2005-07-08 |
60 |
jgs |
82 |
* |
61 |
jgs |
123 |
* Revision 1.1.1.1.2.1 2005/06/29 02:34:54 gross |
62 |
|
|
* some changes towards 64 integers in finley |
63 |
|
|
* |
64 |
|
|
* Revision 1.1.1.1 2004/10/26 06:53:57 jgs |
65 |
|
|
* initial import of project esys2 |
66 |
|
|
* |
67 |
jgs |
82 |
* Revision 1.1.1.1 2004/06/24 04:00:40 johng |
68 |
|
|
* Initial version of eys using boost-python. |
69 |
|
|
* |
70 |
|
|
* |
71 |
|
|
*/ |