Changeset 26888


Ignore:
Timestamp:
02/16/22 07:32:49 (3 years ago)
Author:
Mathieu Morlighem
Message:

CHG: cleaned up classes, field misfit is not needed

Location:
issm/trunk-jpl/src/c/classes
Files:
8 edited

Legend:

Unmodified
Added
Removed
  • issm/trunk-jpl/src/c/classes/Cfdragcoeffabsgrad.cpp

    r26090 r26888  
    3030        this->name = NULL;
    3131        this->weights_enum = UNDEF;
    32         this->misfit=0;
    3332        this->timepassedflag = false;
    3433}
     
    4342        this->weights_enum=in_weights_enum;
    4443        this->timepassedflag=in_timepassedflag;
    45 
    46         this->misfit=0;
    4744}
    4845/*}}}*/
    4946Cfdragcoeffabsgrad::~Cfdragcoeffabsgrad(){/*{{{*/
    5047        if(this->name)xDelete(this->name);
    51         this->misfit=0;
    5248}
    5349/*}}}*/
     
    5551Object* Cfdragcoeffabsgrad::copy() {/*{{{*/
    5652        Cfdragcoeffabsgrad* mf = new Cfdragcoeffabsgrad(this->name,this->definitionenum, this->weights_enum,this->timepassedflag);
    57         mf->misfit=this->misfit;
    5853        return (Object*) mf;
    5954}
     
    115110        int        domaintype,numcomponents;
    116111        IssmDouble Jelem=0.;
    117         IssmDouble misfit,Jdet;
     112        IssmDouble Jdet;
    118113        IssmDouble dp[2],weight;
    119114        IssmDouble* xyz_list = NULL;
  • issm/trunk-jpl/src/c/classes/Cfdragcoeffabsgrad.h

    r26469 r26888  
    2222                bool                    timepassedflag;
    2323
    24                 IssmDouble  misfit; //value carried over in time.
    25 
    2624                /*Cfdragcoeffabsgrad constructors, destructors :*/
    2725                Cfdragcoeffabsgrad();
  • issm/trunk-jpl/src/c/classes/Cflevelsetmisfit.cpp

    r26255 r26888  
    3232        this->observation_enum = UNDEF;
    3333        this->weights_enum = UNDEF;
    34         this->misfit=0;
    3534        this->datatime=0.;
    3635        this->timepassedflag = false;
     
    4948        this->datatime=in_datatime;
    5049        this->timepassedflag=in_timepassedflag;
    51 
    52         this->misfit=0;
    5350}
    5451/*}}}*/
    5552Cflevelsetmisfit::~Cflevelsetmisfit(){/*{{{*/
    5653        if(this->name)xDelete(this->name);
    57         this->misfit=0;
    5854}
    5955/*}}}*/
     
    6157Object* Cflevelsetmisfit::copy() {/*{{{*/
    6258        Cflevelsetmisfit* mf = new Cflevelsetmisfit(this->name,this->definitionenum, this->model_enum,this->observation_enum,this->weights_enum,this->datatime,this->timepassedflag);
    63         mf->misfit=this->misfit;
    6459        return (Object*) mf;
    6560}
     
    9590        marshallhandle->call(this->datatime);
    9691        marshallhandle->call(this->timepassedflag);
    97         marshallhandle->call(this->misfit);
    9892}
    9993/*}}}*/
  • issm/trunk-jpl/src/c/classes/Cflevelsetmisfit.h

    r26469 r26888  
    2525                bool                    timepassedflag;
    2626
    27                 IssmDouble  misfit; //value carried over in time.
    28 
    2927                /*Cflevelsetmisfit constructors, destructors :*/
    3028                Cflevelsetmisfit();
  • issm/trunk-jpl/src/c/classes/Cfsurfacelogvel.cpp

    r26868 r26888  
    2929        this->definitionenum = -1;
    3030        this->name = NULL;
    31         this->misfit=0;
    3231        this->datatime=0.;
    3332        this->timepassedflag = false;
     
    4544        this->timepassedflag=in_timepassedflag;
    4645
    47         this->misfit=0;
    4846}
    4947/*}}}*/
    5048Cfsurfacelogvel::~Cfsurfacelogvel(){/*{{{*/
    5149        if(this->name)xDelete(this->name);
    52         this->misfit=0;
    5350}
    5451/*}}}*/
     
    5653Object* Cfsurfacelogvel::copy() {/*{{{*/
    5754        Cfsurfacelogvel* mf = new Cfsurfacelogvel(this->name,this->definitionenum,this->datatime,this->timepassedflag);
    58         mf->misfit=this->misfit;
    5955        return (Object*) mf;
    6056}
     
    8278        marshallhandle->call(this->datatime);
    8379        marshallhandle->call(this->timepassedflag);
    84         marshallhandle->call(this->misfit);
    8580}
    8681/*}}}*/
     
    107102        femmodel->parameters->FindParam(&time,TimeEnum);
    108103
    109         IssmDouble J=0.;
    110         IssmDouble J_sum=0.;
    111         if(this->datatime<=time && !timepassedflag){
     104        if(this->datatime<=time && !this->timepassedflag){
     105
     106                IssmDouble J=0.;
     107                IssmDouble J_sum=0.;
     108
    112109                for(Object* & object : femmodel->elements->objects){
    113110                        Element* element=xDynamicCast<Element*>(object);
     
    120117
    121118                this->timepassedflag = true;
    122         }
    123         return J;
     119                return J_sum;
     120        }
     121        else{
     122                return 0.;
     123        }
    124124}/*}}}*/
    125125IssmDouble Cfsurfacelogvel::Cfsurfacelogvel_Calculation(Element* element, int definitionenum){/*{{{*/
  • issm/trunk-jpl/src/c/classes/Cfsurfacelogvel.h

    r26469 r26888  
    2222                bool                    timepassedflag;
    2323
    24                 IssmDouble  misfit; //value carried over in time.
    25 
    2624                /*Cfsurfacelogvel constructors, destructors :*/
    2725                Cfsurfacelogvel();
  • issm/trunk-jpl/src/c/classes/Cfsurfacesquare.cpp

    r26525 r26888  
    66/*{{{*/
    77#ifdef HAVE_CONFIG_H
    8    #include <config.h>
     8#include <config.h>
    99#else
    1010#error "Cannot compile with HAVE_CONFIG_H symbol! run configure first!"
     
    2727Cfsurfacesquare::Cfsurfacesquare(){/*{{{*/
    2828
    29         this->definitionenum = -1;
    30         this->name = NULL;
    31         this->model_enum = UNDEF;
     29        this->definitionenum   = -1;
     30        this->name             = NULL;
     31        this->model_enum       = UNDEF;
    3232        this->observation_enum = UNDEF;
    33         this->weights_enum = UNDEF;
    34         this->misfit=0;
    35         this->datatime=0.;
    36         this->timepassedflag = false;
     33        this->weights_enum     = UNDEF;
     34        this->datatime         = 0.;
     35        this->timepassedflag   = false;
    3736}
    3837/*}}}*/
     
    4948        this->datatime=in_datatime;
    5049        this->timepassedflag=in_timepassedflag;
    51 
    52         this->misfit=0;
    5350}
    5451/*}}}*/
    5552Cfsurfacesquare::~Cfsurfacesquare(){/*{{{*/
    5653        if(this->name)xDelete(this->name);
    57         this->misfit=0;
    58 }
    59 /*}}}*/
     54}
     55/*}}}*/
     56
    6057/*Object virtual function resolutoin: */
    6158Object* Cfsurfacesquare::copy() {/*{{{*/
    6259        Cfsurfacesquare* mf = new Cfsurfacesquare(this->name,this->definitionenum, this->model_enum,this->observation_enum,this->weights_enum,this->datatime,this->timepassedflag);
    63         mf->misfit=this->misfit;
    6460        return (Object*) mf;
    6561}
     
    9591        marshallhandle->call(this->datatime);
    9692        marshallhandle->call(this->timepassedflag);
    97         marshallhandle->call(this->misfit);
    9893}
    9994/*}}}*/
     
    10297}
    10398/*}}}*/
     99
    104100/*Definition virtual function resolutoin: */
    105101int Cfsurfacesquare::DefinitionEnum(){/*{{{*/
     
    115111/*}}}*/
    116112IssmDouble Cfsurfacesquare::Response(FemModel* femmodel){/*{{{*/
    117          /*diverse: */
    118          IssmDouble time;
    119 
    120          /*recover time parameters: */
    121          femmodel->parameters->FindParam(&time,TimeEnum);
    122 
    123          IssmDouble J=0.;
    124          IssmDouble J_sum=0.;
    125 
    126          if(datatime<=time && !timepassedflag){
    127                  for(Object* & object : femmodel->elements->objects){
    128                          Element* element=xDynamicCast<Element*>(object);
    129                          J+=this->Cfsurfacesquare_Calculation(element,model_enum,observation_enum,weights_enum);
    130                  }
    131 
    132                  ISSM_MPI_Allreduce ( (void*)&J,(void*)&J_sum,1,ISSM_MPI_DOUBLE,ISSM_MPI_SUM,IssmComm::GetComm());
    133                  ISSM_MPI_Bcast(&J_sum,1,ISSM_MPI_DOUBLE,0,IssmComm::GetComm());
    134                  J=J_sum;
    135 
    136                  timepassedflag = true;
    137                  return J;
    138          }
    139          else return J;
    140  }
    141         /*}}}*/
     113
     114        /*recover time parameters: */
     115        IssmDouble time;
     116        femmodel->parameters->FindParam(&time,TimeEnum);
     117
     118        /*Do the calculation only if this is the first time we are passed datatime*/
     119        if(this->datatime<=time && !this->timepassedflag){
     120
     121                IssmDouble J=0.;
     122                IssmDouble J_sum=0.;
     123
     124                for(Object* & object : femmodel->elements->objects){
     125                        Element* element=xDynamicCast<Element*>(object);
     126                        J+=this->Cfsurfacesquare_Calculation(element,model_enum,observation_enum,weights_enum);
     127                }
     128
     129                ISSM_MPI_Allreduce ( (void*)&J,(void*)&J_sum,1,ISSM_MPI_DOUBLE,ISSM_MPI_SUM,IssmComm::GetComm());
     130                ISSM_MPI_Bcast(&J_sum,1,ISSM_MPI_DOUBLE,0,IssmComm::GetComm());
     131
     132                this->timepassedflag = true;
     133                return J_sum;
     134        }
     135        else{
     136                return 0.;
     137        }
     138}
     139/*}}}*/
    142140IssmDouble Cfsurfacesquare::Cfsurfacesquare_Calculation(Element* element, int model_enum, int observation_enum, int weights_enum){/*{{{*/
    143141
  • issm/trunk-jpl/src/c/classes/Cfsurfacesquare.h

    r26525 r26888  
    2626                bool                    timepassedflag;
    2727
    28                 IssmDouble  misfit; //value carried over in time.
    29 
    3028                /*Cfsurfacesquare constructors, destructors :*/
    3129                Cfsurfacesquare();
Note: See TracChangeset for help on using the changeset viewer.