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

Diff of /trunk/finley/src/ElementFile.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

trunk/finley/src/finleyC/ElementFile.c revision 155 by jgs, Wed Nov 9 02:02:19 2005 UTC trunk/finley/src/ElementFile.c revision 964 by gross, Tue Feb 13 05:10:26 2007 UTC
# Line 1  Line 1 
1  /*  /*
2   ******************************************************************************   ************************************************************
3   *                                                                            *   *          Copyright 2006 by ACcESS MNRF                   *
4   *       COPYRIGHT  ACcESS 2003,2004,2005 -  All Rights Reserved              *   *                                                          *
5   *                                                                            *   *              http://www.access.edu.au                    *
6   * This software is the property of ACcESS. No part of this code              *   *       Primary Business: Queensland, Australia            *
7   * may be copied in any form or by any means without the expressed written    *   *  Licensed under the Open Software License version 3.0    *
8   * consent of ACcESS.  Copying, use or modification of this software          *   *     http://www.opensource.org/licenses/osl-3.0.php       *
9   * by any unauthorised person is illegal unless that person has a software    *   *                                                          *
10   * license agreement with ACcESS.                                             *   ************************************************************
  *                                                                            *  
  ******************************************************************************  
11  */  */
12    
13  /**************************************************************/  /**************************************************************/
# Line 30  Line 28 
28    
29  /**************************************************************/  /**************************************************************/
30    
31  Finley_ElementFile* Finley_ElementFile_alloc(ElementTypeId id,index_t order){  #ifndef PASO_MPI
32    Finley_ElementFile* Finley_ElementFile_alloc(ElementTypeId id,index_t order)
33    #else
34    Finley_ElementFile* Finley_ElementFile_alloc(ElementTypeId id,index_t order, Paso_MPIInfo *MPIInfo)
35    #endif
36    {
37    extern Finley_RefElementInfo Finley_RefElement_InfoList[];    extern Finley_RefElementInfo Finley_RefElement_InfoList[];
38    dim_t NQ;    dim_t NQ;
39    Finley_ElementFile *out;    Finley_ElementFile *out;
# Line 47  Finley_ElementFile* Finley_ElementFile_a Line 50  Finley_ElementFile* Finley_ElementFile_a
50    if (Finley_checkPtr(out)) return NULL;    if (Finley_checkPtr(out)) return NULL;
51    out->ReferenceElement=NULL;    out->ReferenceElement=NULL;
52    out->LinearReferenceElement=NULL;    out->LinearReferenceElement=NULL;
53      out->isPrepared=FINLEY_UNKNOWN;
54    out->numElements=0;    out->numElements=0;
55    out->Id=NULL;    out->Id=NULL;
56    out->Nodes=NULL;    out->Nodes=NULL;
# Line 55  Finley_ElementFile* Finley_ElementFile_a Line 59  Finley_ElementFile* Finley_ElementFile_a
59    out->minColor=0;    out->minColor=0;
60    out->maxColor=-1;    out->maxColor=-1;
61    out->order = order;    out->order = order;
62      out->jacobeans=NULL;
63      out->jacobeans_reducedQ=NULL;
64      out->jacobeans_reducedS=NULL;
65      out->jacobeans_reducedS_reducedQ=NULL;
66    
67    #ifdef PASO_MPI
68      out->Dom=NULL;                
69      out->MPIInfo = Paso_MPIInfo_getReference( MPIInfo );
70      out->elementDistribution = Finley_ElementDistribution_alloc( MPIInfo );
71    #endif
72    
73    /*  allocate the reference element: */    /*  allocate the reference element: */
74        
75    out->ReferenceElement=Finley_RefElement_alloc(id,NQ);    out->ReferenceElement=Finley_RefElement_alloc(id,NQ);
76    if (! Finley_noError()) {    out->jacobeans=Finley_ElementFile_Jacobeans_alloc(out->ReferenceElement);
77       Finley_ElementFile_dealloc(out);    out->jacobeans_reducedQ=Finley_ElementFile_Jacobeans_alloc(out->ReferenceElement);
78       return NULL;  
   }  
79    out->LinearReferenceElement=Finley_RefElement_alloc(Finley_RefElement_InfoList[id].LinearTypeId,NQ);    out->LinearReferenceElement=Finley_RefElement_alloc(Finley_RefElement_InfoList[id].LinearTypeId,NQ);
80      out->jacobeans_reducedS=Finley_ElementFile_Jacobeans_alloc(out->LinearReferenceElement);
81      out->jacobeans_reducedS_reducedQ=Finley_ElementFile_Jacobeans_alloc(out->LinearReferenceElement);
82    if (! Finley_noError()) {    if (! Finley_noError()) {
83       Finley_ElementFile_dealloc(out);       Finley_ElementFile_dealloc(out);
84       return NULL;       return NULL;
# Line 81  void Finley_ElementFile_dealloc(Finley_E Line 96  void Finley_ElementFile_dealloc(Finley_E
96       Finley_RefElement_dealloc(in->ReferenceElement);       Finley_RefElement_dealloc(in->ReferenceElement);
97       Finley_RefElement_dealloc(in->LinearReferenceElement);       Finley_RefElement_dealloc(in->LinearReferenceElement);
98       Finley_ElementFile_deallocTable(in);         Finley_ElementFile_deallocTable(in);  
99         Finley_ElementFile_Jacobeans_dealloc(in->jacobeans);
100         Finley_ElementFile_Jacobeans_dealloc(in->jacobeans_reducedS);
101         Finley_ElementFile_Jacobeans_dealloc(in->jacobeans_reducedQ);
102         Finley_ElementFile_Jacobeans_dealloc(in->jacobeans_reducedS_reducedQ);
103    #ifdef PASO_MPI
104         MEMFREE(in->Dom);    
105         Paso_MPIInfo_dealloc( in->MPIInfo );
106         Finley_ElementDistribution_dealloc( in->elementDistribution );
107    #endif          
108       MEMFREE(in);             MEMFREE(in);      
109    }    }
110  }  }

Legend:
Removed from v.155  
changed lines
  Added in v.964

  ViewVC Help
Powered by ViewVC 1.1.26