Ignore:
Timestamp:
09/13/10 13:18:07 (15 years ago)
Author:
Eric.Larour
Message:

New solution strategy, based on creation of Kff, Kfs directly,
instead of Kgg. Idem for pf instead of pg.
Kept backwards compatibility for now, and only applied to macayeal diagnostic
in 2d. Will switch to this new strategy in the near future.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • issm/trunk/src/c/objects/Loads/Riftfront.cpp

    r5655 r5772  
    376376/*}}}*/
    377377/*FUNCTION Riftfront::CreateKMatrix {{{1*/
    378 void  Riftfront::CreateKMatrix(Mat Kgg){
     378void  Riftfront::CreateKMatrix(Mat Kgg,Mat Kff, Mat Kfs){
    379379        /*do nothing: */
    380380}
    381381/*}}}1*/
    382382/*FUNCTION Riftfront::CreatePVector {{{1*/
    383 void  Riftfront::CreatePVector(Vec pg){
     383void  Riftfront::CreatePVector(Vec pg,Vec pf){
    384384        /*do nothing: */
    385385}
    386386/*}}}1*/
    387387/*FUNCTION Riftfront::PenaltyCreateKMatrix {{{1*/
    388 void  Riftfront::PenaltyCreateKMatrix(Mat Kgg,double kmax){
     388void  Riftfront::PenaltyCreateKMatrix(Mat Kgg,Mat Kff, Mat Kfs,double kmax){
    389389
    390390        int         i;
     
    419419       
    420420        /* Get node coordinates and dof list: */
    421         GetDofList(&doflist);
     421        GetDofList(&doflist,NoneApproximationEnum,GsetEnum);
    422422
    423423        /* Set Ke_gg to 0: */
     
    499499/*}}}1*/
    500500/*FUNCTION Riftfront::PenaltyCreatePVector {{{1*/
    501 void  Riftfront::PenaltyCreatePVector(Vec pg,double kmax){
     501void  Riftfront::PenaltyCreatePVector(Vec pg,Vec pf,double kmax){
    502502
    503503        int         i                     ,j;
     
    544544
    545545        /* Get node coordinates and dof list: */
    546         GetDofList(&doflist);
     546        GetDofList(&doflist,NoneApproximationEnum,GsetEnum);
    547547
    548548        /*Get some inputs: */
     
    731731/*}}}1*/
    732732/*FUNCTION Riftfront::GetDofList {{{1*/
    733 void  Riftfront::GetDofList(int** pdoflist){
     733void  Riftfront::GetDofList(int** pdoflist,int approximation,int setenum){
    734734
    735735        int i,j;
     
    751751        /*Figure out size of doflist: */
    752752        for(i=0;i<MAX_RIFTFRONT_GRIDS;i++){
    753                 numberofdofs+=nodes[i]->GetNumberOfDofs();
     753                numberofdofs+=nodes[i]->GetNumberOfDofs(approximation,setenum);
    754754        }
    755755
     
    760760        count=0;
    761761        for(i=0;i<MAX_RIFTFRONT_GRIDS;i++){
    762                 nodes[i]->GetDofList(doflist+count);
    763                 count+=nodes[i]->GetNumberOfDofs();
     762                nodes[i]->GetDofList(doflist+count,approximation,setenum);
     763                count+=nodes[i]->GetNumberOfDofs(approximation,setenum);
    764764        }
    765765
Note: See TracChangeset for help on using the changeset viewer.