~vcs-imports/escript-finley/trunk

« back to all changes in this revision

Viewing changes to finley/src/Assemble_CopyNodalData.c

  • Committer: jfenwick
  • Date: 2010-10-11 01:48:14 UTC
  • Revision ID: svn-v4:77569008-7704-0410-b7a0-a92fef0b09fd:trunk:3259
Merging dudley and scons updates from branches

Show diffs side-by-side

added added

removed removed

Lines of Context:
20
20
 
21
21
#include "Util.h"
22
22
#include "Assemble.h"
 
23
#include "esysUtils/Esys_MPI.h"
23
24
#ifdef _OPENMP
24
25
#include <omp.h>
25
26
#endif
177
178
            requireWrite(out);
178
179
            if  (out_data_type == FINLEY_NODES) {
179
180
               coupler=Paso_Coupler_alloc(nodes->degreesOfFreedomConnector,numComps);
180
 
               if (Paso_noError()) {
 
181
               if (Esys_noError()) {
181
182
                    /* It is not immediately clear whether coupler can be trusted with constant data so I'll assume RW */
182
183
                    /* Also, it holds pointers so it might not be safe to use on lazy data anyway?*/
183
184
                    requireWrite(in);
204
205
               Paso_Coupler_free(coupler);
205
206
            } else if  (out_data_type == FINLEY_REDUCED_NODES) {
206
207
               coupler=Paso_Coupler_alloc(nodes->degreesOfFreedomConnector,numComps);
207
 
               if (Paso_noError()) {
 
208
               if (Esys_noError()) {
208
209
                    requireWrite(in);   /* See comment above about coupler and const */
209
210
                    Paso_Coupler_startCollect(coupler,getDataRW(in));
210
211
                    recv_buffer=Paso_Coupler_finishCollect(coupler);
262
263
             Finley_setError(TYPE_ERROR,"Finley_Assemble_CopyNodalData: cannot copy from reduced degrees of freedom to nodes.");
263
264
           } else if (out_data_type == FINLEY_REDUCED_NODES) {
264
265
               coupler=Paso_Coupler_alloc(nodes->reducedDegreesOfFreedomConnector,numComps);
265
 
               if (Paso_noError()) {
 
266
               if (Esys_noError()) {
266
267
                    upperBound=Paso_Distribution_getMyNumComponents(nodes->reducedDegreesOfFreedomDistribution);
267
268
                    requireWrite(in);                   /* See comment about coupler and const */
268
269
                    Paso_Coupler_startCollect(coupler,getDataRW(in));