Ignore:
Timestamp:
02/01/10 14:57:22 (16 years ago)
Author:
Mathieu Morlighem
Message:

now different errors must be used to compute metric

File:
1 edited

Legend:

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

    r2940 r2941  
    3232
    3333        /*Options inputs*/
    34         int    iso,maxnbv,verbose,splitcorners;
     34        int    maxnbv,verbose,splitcorners;
    3535        double hmin,hmax,anisomax;
    36         double err,errg,coef;
     36        double coef;
    3737        double power;
    3838        int    Hessiantype,Metrictype,NbSmooth;
    39         int    nbjacobi,AbsError;
     39        int    nbjacobi;
    4040        double omega;
    4141        double gradation;
     
    4343        double* metric=NULL;
    4444        double* field=NULL;
    45         int     numfields=0;
     45        double* err;
     46        int     numfields=0,numerr=0;
    4647
    4748        /*Boot module: */
     
    108109
    109110        /*create bamg options input*/
    110         FetchData(&iso,mxGetField(BAMGOPTIONS,0,"iso"));
    111         bamgopts.iso=iso;
    112         FetchData(&err,mxGetField(BAMGOPTIONS,0,"err"));
    113         bamgopts.err=err;
    114         FetchData(&errg,mxGetField(BAMGOPTIONS,0,"errg"));
    115         bamgopts.errg=errg;
    116111        FetchData(&coef,mxGetField(BAMGOPTIONS,0,"coef"));
    117112        bamgopts.coef=coef;
     
    124119        FetchData(&nbjacobi,mxGetField(BAMGOPTIONS,0,"nbjacobi"));
    125120        bamgopts.nbjacobi=nbjacobi;
    126         FetchData(&AbsError,mxGetField(BAMGOPTIONS,0,"AbsError"));
    127         bamgopts.AbsError=AbsError;
    128121        FetchData(&NbSmooth,mxGetField(BAMGOPTIONS,0,"NbSmooth"));
    129122        bamgopts.NbSmooth=NbSmooth;
     
    153146        bamgopts.numfields=numfields;
    154147        bamgopts.field=field;
     148        FetchData(&err,NULL,&numerr,mxGetField(BAMGOPTIONS,0,"err"));
     149        bamgopts.err=err;
     150
     151        /*Some checks*/
     152        if (numfields!=0 && numerr!=numfields){
     153                throw ErrorException(__FUNCT__,exprintf("the size of 'err' should be the same as 'field'"));
     154        }
    155155
    156156        /*!Generate internal degree of freedom numbers: */
Note: See TracChangeset for help on using the changeset viewer.