source: issm/oecreview/Archive/21724-22754/ISSM-22518-22519.diff@ 22755

Last change on this file since 22755 was 22755, checked in by Mathieu Morlighem, 7 years ago

CHG: added 21724-22754

File size: 12.7 KB
  • ../trunk-jpl/src/c/classes/Inputs/SegInput.h

     
    6161                void GetInputUpToCurrentTimeAverages(IssmDouble** pvalues, IssmDouble** ptimes, int* pnumtimes, IssmDouble currenttime){_error_("not implemented yet");};
    6262                void GetVectorFromInputs(Vector<IssmDouble>* vector,int* doflist){_error_("not implemented yet");};
    6363                int  GetInputInterpolationType(){_error_("not implemented yet!");};
    64                 IssmDouble InfinityNorm(void){_error_("not implemented yet");};
    6564                IssmDouble Max(void);
    6665                IssmDouble MaxAbs(void){_error_("not implemented yet");};
    6766                IssmDouble Min(void);
  • ../trunk-jpl/src/c/classes/Inputs/TetraInput.h

     
    6161                void GetInputUpToCurrentTimeAverages(IssmDouble** pvalues, IssmDouble** ptimes, int* pnumtimes, IssmDouble currenttime);
    6262                void GetVectorFromInputs(Vector<IssmDouble>* vector,int* doflist);
    6363                int  GetInputInterpolationType(){_error_("not implemented yet!");};
    64                 IssmDouble InfinityNorm(void);
    6564                IssmDouble Max(void);
    6665                IssmDouble MaxAbs(void);
    6766                IssmDouble Min(void);
  • ../trunk-jpl/src/c/classes/Inputs/Input.h

     
    4343                virtual void   AXPY(Input* xinput,IssmDouble scalar)=0;
    4444                virtual void   Extrude(int start)=0;
    4545                virtual void   GetVectorFromInputs(Vector<IssmDouble>* vector,int* doflist)=0;
    46                 virtual IssmDouble InfinityNorm(void)=0;
    4746                virtual IssmDouble Max(void)=0;
    4847                virtual IssmDouble MaxAbs(void)=0;
    4948                virtual IssmDouble Min(void)=0;
  • ../trunk-jpl/src/c/classes/Inputs/ControlInput.h

     
    6666                int  GetResultNumberOfNodes(void);
    6767                void GetVectorFromInputs(Vector<IssmDouble>* vector,int* doflist,const char* data);
    6868                void GetVectorFromInputs(Vector<IssmDouble>* vector,int* doflist);
    69                 IssmDouble InfinityNorm(void){_error_("not implemented yet");};
    7069                IssmDouble Max(void){_error_("not implemented yet");};
    7170                IssmDouble MaxAbs(void){_error_("not implemented yet");};
    7271                IssmDouble Min(void);
  • ../trunk-jpl/src/c/classes/Inputs/DatasetInput.h

     
    6262                int GetResultInterpolation(void){_error_("not implemented yet");};
    6363                int GetResultNumberOfNodes(void){_error_("not implemented yet");};
    6464                void GetVectorFromInputs(Vector<IssmDouble>* vector,int* doflist){_error_("not implemented yet");};
    65                 IssmDouble InfinityNorm(void){_error_("not implemented yet");};
    6665                IssmDouble Max(void){_error_("not implemented yet");};
    6766                IssmDouble MaxAbs(void){_error_("not implemented yet");};
    6867                IssmDouble Min(void){_error_("not implemented yet");};
  • ../trunk-jpl/src/c/classes/Inputs/IntInput.h

     
    6060                void GetInputUpToCurrentTimeAverages(IssmDouble** pvalues, IssmDouble** ptimes, int* pnumtimes, IssmDouble currenttime){_error_("not implemented yet");};
    6161                int  GetInputInterpolationType(){_error_("not implemented yet!");};
    6262                void GetVectorFromInputs(Vector<IssmDouble>* vector,int* doflist);
    63                 IssmDouble InfinityNorm(void){_error_("InfinityNorm not implemented for integers");};
    6463                IssmDouble Max(void){_error_("Max not implemented for integers");};
    6564                IssmDouble MaxAbs(void){_error_("Max not implemented for integers");};
    6665                IssmDouble Min(void){_error_("Min not implemented for integers");};
  • ../trunk-jpl/src/c/classes/Inputs/TriaInput.cpp

     
    275275        const int numvertices=3;
    276276        vector->SetValues(numvertices,doflist,this->values,INS_VAL);
    277277} /*}}}*/
    278 IssmDouble TriaInput::InfinityNorm(void){/*{{{*/
    279 
    280         /*Output*/
    281         IssmDouble norm=0.;
    282         int numnodes=this->NumberofNodes(this->interpolation_type);
    283 
    284         for(int i=0;i<numnodes;i++) if(fabs(values[i])>norm) norm=fabs(values[i]);
    285         return norm;
    286 }
    287 /*}}}*/
    288278IssmDouble TriaInput::Max(void){/*{{{*/
    289279
    290280        int  numnodes=this->NumberofNodes(this->interpolation_type);
  • ../trunk-jpl/src/c/classes/Inputs/BoolInput.h

     
    5656                void GetInputValue(IssmDouble* pvalue,Gauss* gauss ,int index){_error_("not implemented yet");};
    5757                void GetVectorFromInputs(Vector<IssmDouble>* vector,int* doflist);
    5858                int  GetInputInterpolationType(){_error_("not implemented yet!");};
    59                 IssmDouble InfinityNorm(void){_error_("InfinityNorm not implemented for booleans");};
    6059                IssmDouble Max(void){_error_("Max not implemented for booleans");};
    6160                IssmDouble MaxAbs(void){_error_("Max not implemented for booleans");};
    6261                IssmDouble Min(void){_error_("Min not implemented for booleans");};
  • ../trunk-jpl/src/c/classes/Inputs/Inputs.cpp

     
    253253
    254254}
    255255/*}}}*/
    256 IssmDouble Inputs::InfinityNorm(int enumtype){/*{{{*/
    257 
    258         /*Output*/
    259         IssmDouble norm;
    260 
    261         /*Get input*/
    262         Input* input=xDynamicCast<Input*>(this->GetInput(enumtype));
    263 
    264         /*Apply ContrainMin: */
    265         if (input){
    266                 norm=input->InfinityNorm();
    267         }
    268         else{
    269                 norm=0;
    270         }
    271 
    272         /*Return output*/
    273         return norm;
    274 }
    275 /*}}}*/
    276256IssmDouble Inputs::Max(int enumtype){/*{{{*/
    277257
    278258        /*Output*/
  • ../trunk-jpl/src/c/classes/Inputs/TriaInput.h

     
    6161                void GetInputUpToCurrentTimeAverages(IssmDouble** pvalues, IssmDouble** ptimes, int* pnumtimes, IssmDouble currenttime);
    6262                int  GetInputInterpolationType(){return interpolation_type;};
    6363                void GetVectorFromInputs(Vector<IssmDouble>* vector,int* doflist);
    64                 IssmDouble InfinityNorm(void);
    6564                IssmDouble Max(void);
    6665                IssmDouble MaxAbs(void);
    6766                IssmDouble Min(void);
  • ../trunk-jpl/src/c/classes/Inputs/TransientInput.cpp

     
    527527        delete input;
    528528
    529529} /*}}}*/
    530 IssmDouble TransientInput::InfinityNorm(void){/*{{{*/
    531 
    532         IssmDouble time;
    533         IssmDouble infnorm;
    534 
    535         /*First, recover current time from parameters: */
    536         parameters->FindParam(&time,TimeEnum);
    537 
    538    /*Retrieve interpolated values for this time step: */
    539         Input* input=GetTimeInput(time);
    540 
    541         /*Call input function*/
    542         infnorm=input->InfinityNorm();
    543 
    544         /*Clean-up and return*/
    545         delete input;
    546         return infnorm;
    547 }
    548 /*}}}*/
    549530IssmDouble TransientInput::Max(void){/*{{{*/
    550531
    551532        IssmDouble time;
  • ../trunk-jpl/src/c/classes/Inputs/Inputs.h

     
    3232                void        GetInputValue(bool* pvalue,int enum_type);
    3333                void        GetInputValue(int* pvalue,int enum_type);
    3434                void        GetInputValue(IssmDouble* pvalue,int enum_type);
    35                 IssmDouble  InfinityNorm(int enumtype);
    3635                IssmDouble  Max(int enumtype);
    3736                IssmDouble  MaxAbs(int enumtype);
    3837                IssmDouble  Min(int enumtype);
  • ../trunk-jpl/src/c/classes/Inputs/PentaInput.cpp

     
    274274        const int numvertices=6;
    275275        vector->SetValues(numvertices,doflist,this->values,INS_VAL);
    276276} /*}}}*/
    277 IssmDouble PentaInput::InfinityNorm(void){/*{{{*/
    278 
    279         /*Output*/
    280         IssmDouble norm=0.;
    281         int numnodes=this->NumberofNodes(this->interpolation_type);
    282 
    283         for(int i=0;i<numnodes;i++) if(fabs(values[i])>norm) norm=fabs(values[i]);
    284         return norm;
    285 }
    286 /*}}}*/
    287277IssmDouble PentaInput::Max(void){/*{{{*/
    288278
    289279        int  numnodes=this->NumberofNodes(this->interpolation_type);
  • ../trunk-jpl/src/c/classes/Inputs/TransientInput.h

     
    7070                int  GetTimeInputOffset(IssmDouble time);
    7171                void GetTimeValues(IssmDouble* values,IssmDouble time){_error_("not implemented yet");};
    7272                void GetVectorFromInputs(Vector<IssmDouble>* vector,int* doflist);
    73                 IssmDouble InfinityNorm(void);
    7473                IssmDouble Max(void);
    7574                IssmDouble MaxAbs(void);
    7675                IssmDouble Min(void);
  • ../trunk-jpl/src/c/classes/Inputs/PentaInput.h

     
    5858                void GetInputUpToCurrentTimeAverages(IssmDouble** pvalues, IssmDouble** ptimes, int* pnumtimes, IssmDouble currenttime){_error_("not implemented yet");};
    5959                void GetVectorFromInputs(Vector<IssmDouble>* vector,int* doflist);
    6060                int  GetInputInterpolationType(){_error_("not implemented yet!");};
    61                 IssmDouble InfinityNorm(void);
    6261                IssmDouble Max(void);
    6362                IssmDouble MaxAbs(void);
    6463                IssmDouble Min(void);
  • ../trunk-jpl/src/c/classes/Inputs/DoubleArrayInput.h

     
    5858                void GetInputUpToCurrentTimeAverages(IssmDouble** pvalues, IssmDouble** ptimes, int* pnumtimes, IssmDouble currenttime){_error_("not implemented yet");};
    5959                void GetVectorFromInputs(Vector<IssmDouble>* vector,int* doflist){_error_("not implemented yet");};
    6060                int  GetInputInterpolationType(){_error_("not implemented yet!");};
    61                 IssmDouble InfinityNorm(void){_error_("not implemented yet");};
    6261                IssmDouble Max(void){_error_("not implemented yet");};
    6362                IssmDouble MaxAbs(void){_error_("not implemented yet");};
    6463                IssmDouble Min(void){_error_("not implemented yet");};
  • ../trunk-jpl/src/c/classes/Inputs/TetraInput.cpp

     
    241241        const int numvertices=4;
    242242        vector->SetValues(numvertices,doflist,this->values,INS_VAL);
    243243} /*}}}*/
    244 IssmDouble TetraInput::InfinityNorm(void){/*{{{*/
    245 
    246         /*Output*/
    247         IssmDouble norm=0.;
    248         int numnodes=this->NumberofNodes(this->interpolation_type);
    249 
    250         for(int i=0;i<numnodes;i++) if(fabs(values[i])>norm) norm=fabs(values[i]);
    251         return norm;
    252 }
    253 /*}}}*/
    254244IssmDouble TetraInput::MinAbs(void){/*{{{*/
    255245
    256246        const int  numnodes=this->NumberofNodes(this->interpolation_type);
  • ../trunk-jpl/src/c/classes/Inputs/DoubleInput.h

     
    5959                void GetInputUpToCurrentTimeAverages(IssmDouble** pvalues, IssmDouble** ptimes, int* pnumtimes, IssmDouble currenttime){_error_("not implemented yet");};
    6060                int  GetInputInterpolationType(){return P0Enum; };
    6161                void GetVectorFromInputs(Vector<IssmDouble>* vector,int* doflist);
    62                 IssmDouble InfinityNorm(void){_error_("not implemented yet");};
    6362                IssmDouble Max(void);
    6463                IssmDouble MaxAbs(void);
    6564                IssmDouble Min(void);
Note: See TracBrowser for help on using the repository browser.