Changeset 26143


Ignore:
Timestamp:
03/23/21 17:35:35 (4 years ago)
Author:
Mathieu Morlighem
Message:

CHG: removing some useless fields

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

Legend:

Unmodified
Added
Removed
  • issm/trunk-jpl/src/c/classes/matrix/ElementMatrix.h

    r26131 r26143  
    1919class ElementMatrix{
    2020
     21        private:
     22                int *gglobaldoflist;
     23                int *fglobaldoflist;
     24                int *sglobaldoflist;
     25                int  fsize;
     26                int  ssize;
     27
    2128        public:
    22 
    23                 int      nrows;
    24                 int      fsize;
    25                 int      ssize;
    26                 IssmDouble*  values;
    27 
    28                 int*     gglobaldoflist;
    29                 int*     fglobaldoflist;
    30                 int*     sglobaldoflist;
     29                int         nrows;
     30                IssmDouble *values;
    3131
    3232                /*ElementMatrix constructors, destructors*/
  • issm/trunk-jpl/src/c/classes/matrix/ElementVector.cpp

    r26131 r26143  
    2121
    2222        this->nrows=0;
    23         this->fsize=0;
    2423        this->values=NULL;
    2524        this->fglobaldoflist=NULL;
     
    2827/*}}}*/
    2928ElementVector::ElementVector(ElementVector* pe1, ElementVector* pe2){/*{{{*/
    30 
    31         /*intermediaries*/
    32         int i,j;
    33         int gsize,fsize;
    3429
    3530        /*If one of the two matrix is NULL, we copy the other one*/
     
    5045
    5146        /*1: Get the new numbering of pe2 and get size of the new matrix*/
    52         gsize=pe1->nrows;
    53         for(i=0;i<pe2->nrows;i++){
     47        int gsize=pe1->nrows;
     48        for(int i=0;i<pe2->nrows;i++){
    5449                bool found=false;
    55                 for(j=0;j<pe1->nrows;j++){
     50                for(int j=0;j<pe1->nrows;j++){
    5651                        if(pe2->gglobaldoflist[i]==pe1->gglobaldoflist[j]){
    5752                                found=true; P[i]=j; break;
     
    7065        this->fglobaldoflist=xNew<int>(this->nrows);
    7166        this->values=xNewZeroInit<IssmDouble>(this->nrows);
    72         for(i=0;i<pe1->nrows;i++){
     67        for(int i=0;i<pe1->nrows;i++){
    7368                this->values[i] += pe1->values[i];
    7469                this->gglobaldoflist[i]=pe1->gglobaldoflist[i];
    7570                this->fglobaldoflist[i]=pe1->fglobaldoflist[i];
    7671        }
    77         for(i=0;i<pe2->nrows;i++){
     72        for(int i=0;i<pe2->nrows;i++){
    7873                this->values[P[i]] += pe2->values[i];
    7974                this->gglobaldoflist[P[i]]=pe2->gglobaldoflist[i];
     
    8176        }
    8277
    83         /*Fset*/
    84         this->fsize=0;
    85         for(i=0;i<this->nrows;i++) if(this->fglobaldoflist[i]>=0) this->fsize++;
    86 
    8778        /*clean-up*/
    8879        xDelete<int>(P);
     
    111102        this->values=xNewZeroInit<IssmDouble>(this->nrows);
    112103
    113         /*g list*/
     104        /*dof list*/
    114105        this->gglobaldoflist=GetGlobalDofList(nodes,numnodes,GsetEnum,approximation);
    115 
    116         /*Get fsize*/
    117         this->fsize=GetNumberOfDofs(nodes,numnodes,FsetEnum,approximation);
    118106        this->fglobaldoflist=GetGlobalDofList(nodes,numnodes,FsetEnum,approximation);
    119107}
     
    132120        this->CheckConsistency();
    133121
    134         if(this->fsize){
     122        /*Get size of Fset*/
     123   int fsize = 0; for(int i=0;i<this->nrows;i++) if(this->fglobaldoflist[i]>=0) fsize++;
     124
     125        if(fsize){
    135126                pf->SetValues(this->nrows,this->fglobaldoflist,this->values,ADD_VAL);
    136127        }
     
    155146        _printf_("Element Vector echo:\n");
    156147        _printf_("   nrows: " << nrows << "\n");
    157         _printf_("   fsize: " << fsize << "\n");
    158148        _printf_("   values:\n");
    159149        for(i=0;i<nrows;i++) _printf_(setw(4) << right << i << ": " << setw(10) << values[i] << "\n");
     
    164154
    165155        _printf_("   fglobaldoflist (" << fglobaldoflist << "): ");
    166         if(fglobaldoflist) for(i=0;i<fsize;i++) _printf_(" " << fglobaldoflist[i] );
     156        if(fglobaldoflist) for(i=0;i<nrows;i++) _printf_(" " << fglobaldoflist[i] );
    167157        _printf_(" \n");
    168158}
     
    173163
    174164        this->nrows =pe->nrows;
    175         this->fsize =pe->fsize;
    176165
    177166        this->values=xNew<IssmDouble>(this->nrows);
     
    187176void ElementVector::InsertIntoGlobal(Vector<IssmDouble>* pf){/*{{{*/
    188177
    189         if(this->fsize){
     178        /*Get size of Fset*/
     179        int fsize = 0; for(int i=0;i<this->nrows;i++) if(this->fglobaldoflist[i]>=0) fsize++;
     180
     181        if(fsize){
    190182                /*add local values into global  vector, using the fglobaldoflist: */
    191183                pf->SetValues(this->nrows,this->fglobaldoflist,this->values,INS_VAL);
     
    196188void ElementVector::SetValue(IssmDouble scalar){/*{{{*/
    197189
    198         int i;
    199 
    200         for(i=0;i<this->nrows;i++)this->values[i]=scalar;
     190        for(int i=0;i<this->nrows;i++)this->values[i]=scalar;
    201191
    202192}
  • issm/trunk-jpl/src/c/classes/matrix/ElementVector.h

    r26131 r26143  
    2020class ElementVector{
    2121
     22        private:
     23                int *gglobaldoflist;
     24                int *fglobaldoflist;
     25
    2226        public:
    2327                int         nrows;
    24                 int         fsize;
    2528                IssmDouble *values;
    26                 int        *gglobaldoflist;
    27                 int        *fglobaldoflist;
    2829
    2930                /*ElementVector constructors, destructors*/
Note: See TracChangeset for help on using the changeset viewer.