Changeset 20658
- Timestamp:
- 05/27/16 14:40:18 (9 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk-jpl/src/c/classes/Loads/Penpair.cpp
r19254 r20658 385 385 ElementMatrix* Penpair::PenaltyCreateKMatrixStressbalanceSSAHO(IssmDouble kmax){/*{{{*/ 386 386 387 const int numdof=NUMVERTICES*NDOF2;387 int numdof,numdof2,N; 388 388 IssmDouble penalty_offset; 389 389 … … 394 394 parameters->FindParam(&penalty_offset,StressbalancePenaltyFactorEnum); 395 395 396 //Create elementary matrix: add penalty to 397 Ke->values[0*numdof+0]=+kmax*pow(10.,penalty_offset); 398 Ke->values[0*numdof+2]=-kmax*pow(10.,penalty_offset); 399 Ke->values[2*numdof+0]=-kmax*pow(10.,penalty_offset); 400 Ke->values[2*numdof+2]=+kmax*pow(10.,penalty_offset); 401 402 Ke->values[1*numdof+1]=+kmax*pow(10.,penalty_offset); 403 Ke->values[1*numdof+3]=-kmax*pow(10.,penalty_offset); 404 Ke->values[3*numdof+1]=-kmax*pow(10.,penalty_offset); 405 Ke->values[3*numdof+3]=+kmax*pow(10.,penalty_offset); 396 /*Get number of dof for these two nodes*/ 397 numdof =this->nodes[0]->GetNumberOfDofs(NoneApproximationEnum,GsetEnum); 398 numdof2=this->nodes[1]->GetNumberOfDofs(NoneApproximationEnum,GsetEnum); 399 N=NUMVERTICES*numdof; 400 401 /*Add penalty to Element matrix*/ 402 for(int i=0;i<numdof;i++){ 403 Ke->values[ i*N+i ]=+kmax*pow(10.,penalty_offset); 404 Ke->values[ i*N+numdof+i]=-kmax*pow(10.,penalty_offset); 405 Ke->values[(numdof+i)*N+i ]=-kmax*pow(10.,penalty_offset); 406 Ke->values[(numdof+i)*N+numdof+i]=+kmax*pow(10.,penalty_offset); 407 } 406 408 407 409 /*Clean up and return*/
Note:
See TracChangeset
for help on using the changeset viewer.