Changeset 23207


Ignore:
Timestamp:
08/31/18 14:37:15 (7 years ago)
Author:
wester
Message:

CHG: Combined 2D & 3D case for MassMatrix & SchurPrecond into one

File:
1 edited

Legend:

Unmodified
Added
Removed
  • issm/trunk-jpl/src/c/analyses/StressbalanceAnalysis.cpp

    r23206 r23207  
    32723272                element->NodalFunctionsPressure(pbasis,gauss);
    32733273
    3274                 if(dim==3){
     3274                if(dim==3 || dim==2){
    32753275                        /*Pressure mass matrix*/
    32763276                        for(int k=0;k<pnumnodes;k++){
    32773277                                for(int j=0;j<pnumnodes;j++){
    3278                                         Ke->values[(3*vnumnodes+k)*numdof+3*vnumnodes+j] += gauss->weight*Jdet*(pbasis[j]*pbasis[k]);
     3278                                        Ke->values[(dim*vnumnodes+k)*numdof+dim*vnumnodes+j] += gauss->weight*Jdet*(pbasis[j]*pbasis[k]);
    32793279                                }
    32803280                        }
    3281                 }else if(dim==2){
    3282                         /*Pressure mass matrix*/
    3283                         for(int k=0;k<pnumnodes;k++){
    3284                                 for(int j=0;j<pnumnodes;j++){
    3285                                         Ke->values[(2*vnumnodes+k)*numdof+2*vnumnodes+j] += gauss->weight*Jdet*(pbasis[j]*pbasis[k]);
    3286                                 }
    3287                         }
    3288                 }
    3289                 else{
     3281                }else{
    32903282                        _error_("STOP");
    32913283                }
     
    33363328
    33373329
    3338                 if(dim==3){
     3330                if(dim==3 || dim==2){
    33393331                        /*Pressure mass matrix*/
    33403332                        for(int k=0;k<pnumnodes;k++){
    33413333                                for(int j=0;j<pnumnodes;j++){
    3342                                         Ke->values[(3*vnumnodes+k)*numdof+3*vnumnodes+j] += gauss->weight*1./viscosity*Jdet*(pbasis[j]*pbasis[k]);
     3334                                        Ke->values[(dim*vnumnodes+k)*numdof+dim*vnumnodes+j] += gauss->weight*1./viscosity*Jdet*(pbasis[j]*pbasis[k]);
    33433335                                }
    33443336                        }
    3345                 }else if(dim==2){
    3346                         /*Pressure mass matrix*/
    3347                         for(int k=0;k<pnumnodes;k++){
    3348                                 for(int j=0;j<pnumnodes;j++){
    3349                                         Ke->values[(2*vnumnodes+k)*numdof+2*vnumnodes+j] += gauss->weight*1./viscosity*Jdet*(pbasis[j]*pbasis[k]);
    3350                                 }
    3351                         }
    3352                 }
    3353                 else{
     3337                }else{
    33543338                        _error_("STOP");
    33553339                }
Note: See TracChangeset for help on using the changeset viewer.