Changeset 4163


Ignore:
Timestamp:
06/23/10 11:39:53 (15 years ago)
Author:
Eric.Larour
Message:

Starting the new matlab array output

Location:
issm/trunk/src/c/modules/OutputResultsx
Files:
2 added
2 edited

Legend:

Unmodified
Added
Removed
  • issm/trunk/src/c/modules/OutputResultsx/OutputResultsx.cpp

    r4143 r4163  
    1616#include "../../objects/objects.h"
    1717               
     18#ifdef _SERIAL_
     19void OutputResultsx(mxArray** pdataref, DataSet* elements, DataSet* loads, DataSet* nodes, DataSet* vertices, DataSet* materials, Parameters* parameters,DataSet* results){
     20#else
    1821void OutputResultsx(DataSet* elements, DataSet* loads, DataSet* nodes, DataSet* vertices, DataSet* materials, Parameters* parameters,DataSet* results){
     22#endif
    1923
    20         int         i;
    21         extern int  my_rank;
    22         char       *filename     = NULL;
    2324        int         solutiontype;
    24         FILE       *fid          = NULL;
     25       
    2526
    2627        /*First, configure elements*/
     
    3738        #endif
    3839
    39         //Recover file name:
    40         parameters->FindParam(&filename,OutputFileNameEnum);
     40        /*Write data to matlab structure or filename: */
     41        #ifdef _SERIAL_
     42                MatlabWriteResults();
     43        #else
     44                FileWriteResults();
     45        #endif
     46}
    4147
    42         //Open filename for writing only on cpu 0
    43         if(my_rank==0)fid=pfopen(filename,"wb");
    4448
    45         for(i=0;i<results->Size();i++){
    46                 ExternalResult* result=(ExternalResult*)results->GetObjectByOffset(i);
    47 
    48                 /*write result to disk: */
    49                 result->WriteData(fid);
    50         }
    51 
    52         /*Close file: */
    53         if(my_rank==0)pfclose(fid,filename);
    54 
    55         /*Free ressources:*/
    56         xfree((void**)&filename);
    57 }
  • issm/trunk/src/c/modules/OutputResultsx/OutputResultsx.h

    r4139 r4163  
    66#define _OUTPUTRESULTS_H
    77
     8#ifdef HAVE_CONFIG_H
     9        #include "config.h"
     10#else
     11#error "Cannot compile with HAVE_CONFIG_H symbol! run configure first!"
     12#endif
     13
    814class DataSet;
    915class Parameters;
    1016
     17#ifdef _SERIAL_
     18void OutputResultsx(mxArray** pdataref, DataSet* elements, DataSet* loads, DataSet* nodes, DataSet* vertices, DataSet* materials, Parameters* parameters,DataSet* results);
     19#else
     20void OutputResultsx(DataSet* elements, DataSet* loads, DataSet* nodes, DataSet* vertices, DataSet* materials, Parameters* parameters,DataSet* results);
     21#endif
     22
    1123/* local prototypes: */
    1224void ElementResultsToPatch(DataSet* elements, DataSet* loads, DataSet* nodes, DataSet* vertices, DataSet* materials, Parameters* parameters,DataSet* results);
    13 
    14 void OutputResultsx(DataSet* elements, DataSet* loads, DataSet* nodes, DataSet* vertices, DataSet* materials, Parameters* parameters,DataSet* results);
     25void FileWriteResults(Parameters* parameters, DataSet* results);
     26void MatlabWriteResults(mxArray** pdataref, Parameters* parameters, DataSet* results);
    1527
    1628#endif  /* _OUTPUTRESULTS_H */
Note: See TracChangeset for help on using the changeset viewer.