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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1028 - (hide annotations)
Wed Mar 14 00:15:24 2007 UTC (12 years, 5 months ago) by gross
File MIME type: text/plain
File size: 3388 byte(s)
modifications to be compliant with _WIN32. The substitutes for asinh, acosh, atanh are still missing (erf will through an exception)
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: ElementFile */
16    
17     /* mark the used nodes with offeset: */
18    
19     /**************************************************************/
20    
21 jgs 150 /* Copyrights by ACcESS Australia 2003,2004,2005 */
22     /* Author: gross@access.edu.au */
23     /* Version: $Id$ */
24 jgs 82
25     /**************************************************************/
26    
27     #include "ElementFile.h"
28    
29     /**************************************************************/
30    
31 jgs 123 void Finley_ElementFile_markNodes(index_t* mask,index_t offset,Finley_ElementFile* in,bool_t useLinear) {
32     dim_t i,NN,NN2,e;
33 gross 1028 index_t color,*lin_node,*id=NULL;
34 jgs 82 if (in!=NULL) {
35 gross 1028 id=TMPMEMALLOC(in->ReferenceElement->Type->numNodes, index_t);
36     if (! Finley_checkPtr(id) ){
37     for (i=0;i<in->ReferenceElement->Type->numNodes;i++) id[i]=i;
38     if (useLinear) {
39     NN=in->LinearReferenceElement->Type->numNodes;
40     lin_node=in->ReferenceElement->Type->linearNodes;
41     } else {
42     NN=in->ReferenceElement->Type->numNodes;
43     lin_node=id;
44     }
45     NN2=in->ReferenceElement->Type->numNodes;
46     if ((in->maxColor-in->minColor+1)*NN<in->numElements) {
47     #pragma omp parallel private(color)
48     {
49     for (color=in->minColor;color<=in->maxColor;color++) {
50     #pragma omp for private(e,i) schedule(static)
51     for (e=0;e<in->numElements;e++) {
52     if (in->Color[e]==color) {
53     for (i=0;i<NN;i++)
54     mask[in->Nodes[INDEX2(lin_node[i],e,NN2)]-offset]=1;
55     }
56     }
57     }
58     #pragma omp barrier
59 jgs 126 }
60 gross 1028 } else {
61     #pragma omp parallel for private(e,i) schedule(static)
62     for (e=0;e<in->numElements;e++) {
63     for (i=0;i<NN;i++)
64     mask[in->Nodes[INDEX2(lin_node[i],e,NN2)]-offset]=1;
65     }
66 jgs 82 }
67 gross 1028 TMPMEMFREE(id);
68     }
69 jgs 82 }
70     }
71 bcumming 751
72 jgs 82 /*
73     * $Log$
74 jgs 150 * Revision 1.4 2005/09/15 03:44:22 jgs
75     * Merge of development branch dev-02 back to main trunk on 2005-09-15
76     *
77     * Revision 1.3.2.1 2005/09/07 06:26:18 gross
78     * the solver from finley are put into the standalone package paso now
79     *
80 jgs 126 * Revision 1.3 2005/07/22 03:53:08 jgs
81     * Merge of development branch back to main trunk on 2005-07-22
82     *
83 jgs 123 * Revision 1.2 2005/07/08 04:07:50 jgs
84     * Merge of development branch back to main trunk on 2005-07-08
85 jgs 82 *
86 jgs 126 * Revision 1.1.1.1.2.2 2005/07/18 10:34:54 gross
87     * some informance improvements when reading meshes
88     *
89 jgs 123 * Revision 1.1.1.1.2.1 2005/06/29 02:34:49 gross
90     * some changes towards 64 integers in finley
91     *
92     * Revision 1.1.1.1 2004/10/26 06:53:57 jgs
93     * initial import of project esys2
94     *
95 jgs 82 * Revision 1.1.1.1 2004/06/24 04:00:40 johng
96     * Initial version of eys using boost-python.
97     *
98     *
99     */

Properties

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

  ViewVC Help
Powered by ViewVC 1.1.26