Changeset 15794


Ignore:
Timestamp:
08/11/13 20:27:14 (12 years ago)
Author:
Mathieu Morlighem
Message:

CHG: fixing penalty for FS

File:
1 edited

Legend:

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

    r15771 r15794  
    303303                                case SSAApproximationEnum: return PenaltyCreateKMatrixStressbalanceSSAHO(kmax);
    304304                                case HOApproximationEnum:   return PenaltyCreateKMatrixStressbalanceSSAHO(kmax);
    305                                 default: _error_("not supported yet");
     305                                default: _error_("Approximation "<<EnumToStringx(approximation1)<<" not supported yet");
    306306                        }
    307307                case HOApproximationEnum:
     
    309309                                case SSAApproximationEnum: return PenaltyCreateKMatrixStressbalanceSSAHO(kmax);
    310310                                case HOApproximationEnum:   return PenaltyCreateKMatrixStressbalanceSSAHO(kmax);
    311                                 default: _error_("not supported yet");
     311                                default: _error_("Approximation "<<EnumToStringx(approximation1)<<" not supported yet");
    312312                        }
    313                 case FSApproximationEnum:
     313                case FSvelocityEnum:
    314314                        switch(approximation1){
    315                                 case FSApproximationEnum: return PenaltyCreateKMatrixStressbalanceFS(kmax);
     315                                case FSvelocityEnum: return PenaltyCreateKMatrixStressbalanceFS(kmax);
    316316                                case NoneApproximationEnum: return   PenaltyCreateKMatrixStressbalanceFS(kmax);
    317                                 default: _error_("not supported yet");
     317                                default: _error_("Approximation "<<EnumToStringx(approximation1)<<" not supported yet");
    318318                        }
    319319                case NoneApproximationEnum:
    320320                        switch(approximation1){
    321                                 case FSApproximationEnum: return PenaltyCreateKMatrixStressbalanceFS(kmax);
     321                                case FSvelocityEnum: return PenaltyCreateKMatrixStressbalanceFS(kmax);
    322322                                case NoneApproximationEnum: return   PenaltyCreateKMatrixStressbalanceFS(kmax);
    323                                 default: _error_("not supported yet");
    324323                        }
    325                 default: _error_("not supported yet");
     324                default: _error_("Approximation "<<EnumToStringx(approximation0)<<" not supported yet");
    326325        }
    327326}
     
    357356ElementMatrix* Penpair::PenaltyCreateKMatrixStressbalanceFS(IssmDouble kmax){
    358357
    359         const int numdof=NUMVERTICES*NDOF4;
     358        const int  numdof=NUMVERTICES*NDOF3;
    360359        IssmDouble penalty_offset;
    361360
     
    368367        //Create elementary matrix: add penalty to
    369368        Ke->values[0*numdof+0]=+kmax*pow(10.,penalty_offset);
    370         Ke->values[0*numdof+4]=-kmax*pow(10.,penalty_offset);
    371         Ke->values[4*numdof+0]=-kmax*pow(10.,penalty_offset);
     369        Ke->values[0*numdof+3]=-kmax*pow(10.,penalty_offset);
     370        Ke->values[3*numdof+0]=-kmax*pow(10.,penalty_offset);
     371        Ke->values[3*numdof+3]=+kmax*pow(10.,penalty_offset);
     372
     373        Ke->values[1*numdof+1]=+kmax*pow(10.,penalty_offset);
     374        Ke->values[1*numdof+4]=-kmax*pow(10.,penalty_offset);
     375        Ke->values[4*numdof+1]=-kmax*pow(10.,penalty_offset);
    372376        Ke->values[4*numdof+4]=+kmax*pow(10.,penalty_offset);
    373377
    374         Ke->values[1*numdof+1]=+kmax*pow(10.,penalty_offset);
    375         Ke->values[1*numdof+5]=-kmax*pow(10.,penalty_offset);
    376         Ke->values[5*numdof+1]=-kmax*pow(10.,penalty_offset);
     378        Ke->values[2*numdof+2]=+kmax*pow(10.,penalty_offset);
     379        Ke->values[2*numdof+5]=-kmax*pow(10.,penalty_offset);
     380        Ke->values[5*numdof+2]=-kmax*pow(10.,penalty_offset);
    377381        Ke->values[5*numdof+5]=+kmax*pow(10.,penalty_offset);
    378 
    379         Ke->values[2*numdof+2]=+kmax*pow(10.,penalty_offset);
    380         Ke->values[2*numdof+6]=-kmax*pow(10.,penalty_offset);
    381         Ke->values[6*numdof+2]=-kmax*pow(10.,penalty_offset);
    382         Ke->values[6*numdof+6]=+kmax*pow(10.,penalty_offset);
    383 
    384         Ke->values[3*numdof+3]=+kmax*pow(10.,penalty_offset);
    385         Ke->values[3*numdof+7]=-kmax*pow(10.,penalty_offset);
    386         Ke->values[7*numdof+3]=-kmax*pow(10.,penalty_offset);
    387         Ke->values[7*numdof+7]=+kmax*pow(10.,penalty_offset);
    388382
    389383        /*Clean up and return*/
Note: See TracChangeset for help on using the changeset viewer.