Changeset 3960


Ignore:
Timestamp:
05/26/10 16:20:04 (15 years ago)
Author:
Mathieu Morlighem
Message:

new reduceload and merge with ys0 flag

Location:
issm/trunk/src/mex
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • issm/trunk/src/mex/Mergesolutionfromftog/Mergesolutionfromftog.cpp

    r2333 r3960  
    1111
    1212        /*input datasets: */
     13        bool flag_ys0;
    1314        Vec uf=NULL;
    1415        Mat Gmn=NULL;
     
    2324
    2425        /*checks on arguments on the matlab side: */
    25         CheckNumMatlabArguments(nlhs,NLHS,nrhs,NRHS,__FUNCT__,&MergesolutionfromftogUsage);
     26        if((nlhs!=NLHS) || (nrhs!=4 && nrhs!=5)){
     27                MergesolutionfromftogUsage();
     28                ISSMERROR(" usage. See above");
     29        }
    2630
    2731        /*Input datasets: */
     
    3236
    3337        /*!Reduce vector: */
    34         Mergesolutionfromftogx(&ug, uf,Gmn,ys,nodesets);
     38        if (nrhs==4){
     39                Mergesolutionfromftogx(&ug, uf,Gmn,ys,nodesets);
     40        }
     41        else{
     42                FetchData(&flag_ys0,YSFLAG);
     43                Mergesolutionfromftogx(&ug, uf,Gmn,ys,nodesets,flag_ys0);
     44        }
    3545
    3646        /*write output datasets: */
  • issm/trunk/src/mex/Mergesolutionfromftog/Mergesolutionfromftog.h

    r3913 r3960  
    2323#define YS (mxArray*)prhs[2]
    2424#define NODESETS (mxArray*)prhs[3]
     25#define YSFLAG (mxArray*)prhs[4]
    2526
    2627/* serial output macros: */
     
    3132#define NLHS  1
    3233#undef NRHS
    33 #define NRHS  4
     34#define NRHS  5
    3435
    3536#endif  /* _MERGESOLUTIONFROMFTOG_H */
  • issm/trunk/src/mex/Reduceloadfromgtof/Reduceloadfromgtof.cpp

    r2333 r3960  
    1111
    1212        /*input datasets: */
     13        bool flag_ys0;
    1314        Vec pg=NULL;
    1415        Mat Gmn=NULL;
     
    2425
    2526        /*checks on arguments on the matlab side: */
    26         CheckNumMatlabArguments(nlhs,NLHS,nrhs,NRHS,__FUNCT__,&ReduceloadfromgtofUsage);
     27        if((nlhs!=NLHS) || (nrhs!=5 && nrhs!=6)){
     28                ReduceloadfromgtofUsage();
     29                ISSMERROR(" usage. See above");
     30        }
    2731
    2832        /*Input datasets: */
     
    3438
    3539        /*!Reduce load from g to f size: */
    36         Reduceloadfromgtofx(&pf, pg, Gmn, Kfs, ys, nodesets);
     40        if (nrhs==5){
     41                Reduceloadfromgtofx(&pf, pg, Gmn, Kfs, ys, nodesets);
     42        }
     43        else{
     44                FetchData(&flag_ys0,YSFLAG);
     45                Reduceloadfromgtofx(&pf, pg, Gmn, Kfs, ys, nodesets,flag_ys0);
     46        }
     47
    3748
    3849        /*write output datasets: */
  • issm/trunk/src/mex/Reduceloadfromgtof/Reduceloadfromgtof.h

    r3913 r3960  
    2424#define YS (mxArray*)prhs[3]
    2525#define NODESETS (mxArray*)prhs[4]
     26#define YSFLAG (mxArray*)prhs[5]
    2627
    2728/* serial output macros: */
     
    3233#define NLHS  1
    3334#undef NRHS
    34 #define NRHS  5
     35#define NRHS  6
    3536
    3637
  • issm/trunk/src/mex/Reducevectorgtos/Reducevectorgtos.cpp

    r2333 r3960  
    1616        /* output datasets: */
    1717        Vec ys=NULL;
    18         Vec ys0=NULL;
    1918
    2019        /*Boot module: */
     
    2928
    3029        /*!Reduce vector: */
    31         Reducevectorgtosx(&ys,&ys0, yg,nodesets);
     30        Reducevectorgtosx(&ys,yg,nodesets);
    3231
    3332        /*write output datasets: */
    3433        WriteData(YS,ys);
    35         WriteData(YS0,ys0);
    3634
    3735        /*Free ressources: */
     
    3937        VecFree(&yg);
    4038        VecFree(&ys);
    41         VecFree(&ys0);
    4239
    4340        /*end module: */
     
    4845{
    4946        _printf_("\n");
    50         _printf_("   usage: [ys,ys0] = %s(yg,nodesets);\n",__FUNCT__);
     47        _printf_("   usage: ys = %s(yg,nodesets);\n",__FUNCT__);
    5148        _printf_("\n");
    5249}
  • issm/trunk/src/mex/Reducevectorgtos/Reducevectorgtos.h

    r3913 r3960  
    2424/* serial output macros: */
    2525#define YS (mxArray**)&plhs[0]
    26 #define YS0 (mxArray**)&plhs[1]
    2726
    2827/* serial arg counts: */
    2928#undef NLHS
    30 #define NLHS  2
     29#define NLHS  1
    3130#undef NRHS
    3231#define NRHS  2
Note: See TracChangeset for help on using the changeset viewer.