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

Annotation of /trunk/finley/src/NodeFile_gather.c

Parent Directory Parent Directory | Revision Log Revision Log


Revision 964 - (hide annotations)
Tue Feb 13 05:10:26 2007 UTC (12 years, 8 months ago) by gross
File MIME type: text/plain
File size: 1718 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 jgs 150 /*
2 elspeth 616 ************************************************************
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 jgs 150 */
12    
13 jgs 82 /**************************************************************/
14    
15     /* Finley: Mesh: NodeFile */
16    
17     /* gathers the NodeFile out from the NodeFile in using index[0:out->numNodes-1]. */
18     /* index has to be between 0 and in->numNodes-1. */
19    
20     /**************************************************************/
21    
22     /* Author: gross@access.edu.au */
23     /* Version: $Id$ */
24    
25     /**************************************************************/
26    
27     #include "NodeFile.h"
28    
29     /**************************************************************/
30    
31     void Finley_NodeFile_gather(int* index, Finley_NodeFile* in, Finley_NodeFile* out) {
32 jgs 123 dim_t i,j;
33     index_t k;
34 jgs 82 if (in->Id!=NULL) {
35     #pragma omp parallel for private(i,j,k) schedule(static)
36     for (i=0;i<out->numNodes;i++) {
37     k=index[i];
38 bcumming 782 #ifdef PASO_MPI
39     out->Dom[i]=in->Dom[k];
40     #endif
41 jgs 82 out->Id[i]=in->Id[k];
42     out->Tag[i]=in->Tag[k];
43     out->degreeOfFreedom[i]=in->degreeOfFreedom[k];
44     for(j=0;j<in->numDim;j++) out->Coordinates[INDEX2(j,i,in->numDim)]=in->Coordinates[INDEX2(j,k,in->numDim)];
45     }
46 gross 964 out->isPrepared=FINLEY_UNPREPARED;
47 jgs 82 }
48     }

Properties

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

  ViewVC Help
Powered by ViewVC 1.1.26