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

Contents of /trunk/finley/src/NodeFile_scatter.c

Parent Directory Parent Directory | Revision Log Revision Log


Revision 964 - (show annotations)
Tue Feb 13 05:10:26 2007 UTC (12 years, 5 months ago) by gross
File MIME type: text/plain
File size: 1731 byte(s)
The set/getRefVal functions of Data objects have been removed (mainly to avoid later problems with MPI).
Moreover, a faster access to the reference id of samples has been introduced. I don't think that anybody will
profit form this at this stage but it will allow a faster dump of data objects.


1 /*
2 ************************************************************
3 * Copyright 2006 by ACcESS MNRF *
4 * *
5 * http://www.access.edu.au *
6 * Primary Business: Queensland, Australia *
7 * Licensed under the Open Software License version 3.0 *
8 * http://www.opensource.org/licenses/osl-3.0.php *
9 * *
10 ************************************************************
11 */
12
13 /**************************************************************/
14
15 /* Finley: Mesh: NodeFile */
16
17 /* scatters the NodeFile in into NodeFile out using index[0:in->numNodes-1]. */
18 /* index has to be between 0 and out->numNodes-1. */
19 /* coloring is choosen for the worst case */
20
21 /**************************************************************/
22
23 /* Author: gross@access.edu.au */
24 /* Version: $Id$ */
25
26 /**************************************************************/
27
28 #include "NodeFile.h"
29
30 /**************************************************************/
31
32 void Finley_NodeFile_scatter(index_t* index, Finley_NodeFile* in, Finley_NodeFile* out) {
33 dim_t i,j;
34 index_t k;
35 if (in->Id!=NULL) {
36 #pragma omp parallel for private(i,j,k) schedule(static)
37 for (i=0;i<in->numNodes;i++) {
38 k=index[i];
39 #ifdef PASO_MPI
40 out->Dom[k]=in->Dom[i];
41 #endif
42 out->Id[k]=in->Id[i];
43 out->Tag[k]=in->Tag[i];
44 out->degreeOfFreedom[k]=in->degreeOfFreedom[i];
45 for(j=0;j<in->numDim;j++) out->Coordinates[INDEX2(j,k,in->numDim)]=in->Coordinates[INDEX2(j,i,in->numDim)];
46 }
47 out->isPrepared=FINLEY_UNPREPARED;
48 }
49 }

Properties

Name Value
svn:eol-style native
svn:keywords Author Date Id Revision

  ViewVC Help
Powered by ViewVC 1.1.26