Changeset 15474


Ignore:
Timestamp:
07/09/13 17:15:29 (12 years ago)
Author:
seroussi
Message:

FIX: trying to fix stabilization

File:
1 edited

Legend:

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

    r15473 r15474  
    69766976                                for(p=0;p<6;p++){
    69776977                                        for(j=0;j<3;j++){
    6978                                                 dnodalbasis[i][p][j] = dbasis[j][p];
     6978                                                dnodalbasis[i][p][j] = dbasis[j][i];
    69796979                                        }
    69806980                                }
     
    79147914
    79157915        /*Stabilization*/
    7916         bool       stabilization = false;
     7916        bool       stabilization = true;
    79177917        IssmDouble dbasis[3][6];
    79187918        IssmDouble dmu[3];
     
    79747974                                for(p=0;p<6;p++){
    79757975                                        for(j=0;j<3;j++){
    7976                                                 dnodalbasis[i][p][j] = dbasis[j][p];
     7976                                                dnodalbasis[i][p][j] = dbasis[j][i];
    79777977                                        }
    79787978                                }
    79797979                        }
     7980                        //dNodalBasisdx(1:n,p,:) = dBasisdx(1:n,:)
    79807981                        for(p=0;p<6;p++) for(i=0;i<4;i++) for(j=0;j<4;j++){
    79817982                                SW[p][i][j]=0.;
     
    79887989                                                SW[p][j][i] += -dmu[j]*dbasis[i][p];
    79897990                                                for(ii=0;ii<6;ii++){
    7990                                                         SW[p][i][i] += -mu*dnodalbasis[p][ii][j]*dbasis[j][ii];
    7991                                                         SW[p][j][i] += -mu*dnodalbasis[p][ii][i]*dbasis[j][ii];
     7991                                                        //SW[p][i][i] += -mu*dnodalbasis[p][ii][j]*dbasis[j][ii];
     7992                                                        //SW[p][j][i] += -mu*dnodalbasis[p][ii][i]*dbasis[j][ii];
     7993                                                        SW[p][i][i] += -mu*dnodalbasis[p][ii][j];
     7994                                                        SW[p][j][i] += -mu*dnodalbasis[p][ii][i];
    79927995                                                }
    79937996                                        }
     
    79978000                        for(p=0;p<6;p++){
    79988001                                for(j=0;j<4;j++){
    7999                                         pe->values[p*4+j] += gauss->weight*Jdet*tau*forcex*SW[p][j][0];
    8000                                         pe->values[p*4+j] += gauss->weight*Jdet*tau*forcey*SW[p][j][1];
    8001                                         pe->values[p*4+j] += gauss->weight*Jdet*tau*(forcez-rho_ice*gravity)*SW[p][j][2];
     8002                                        pe->values[p*4+j] += gauss->weight*Jdet*tau*rho_ice*forcex*SW[p][j][0];
     8003                                        pe->values[p*4+j] += gauss->weight*Jdet*tau*rho_ice*forcey*SW[p][j][1];
     8004                                        pe->values[p*4+j] += gauss->weight*Jdet*tau*rho_ice*(forcez-gravity)*SW[p][j][2];
    80028005                                }
    80038006                        }
Note: See TracChangeset for help on using the changeset viewer.