Changeset 605


Ignore:
Timestamp:
05/27/09 07:35:04 (15 years ago)
Author:
seroussi
Message:

fixed artificial diffusivity

File:
1 edited

Legend:

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

    r602 r605  
    573573        double  v_gauss[2]={0.0};
    574574        double  K[2][2]={0.0};
     575        double  KDL[2][2]={0.0};
    575576        double  dt;
    576577        int     dofs[2]={0,1};
     
    629630                GetL(&L[0], &xyz_list[0][0], gauss_l1l2l3,numberofdofspernode);
    630631
    631 
    632632                DL_scalar=gauss_weight*Jdettria;
    633633
     
    638638                                          &Ke_gg_gaussian[0][0],0);
    639639               
    640                
    641640                /*Get B  and B prime matrix: */
    642641                GetB_prog(&B[0][0], &xyz_list[0][0], gauss_l1l2l3);
     
    680679                for( i=0; i<numdof; i++) for(j=0;j<numdof;j++) Ke_gg[i][j]+=Ke_gg_thickness2[i][j];
    681680               
     681                if(artdiff){
     682                       
     683                        /* Compute artificial diffusivity */
     684                        KDL[0][0]=DL_scalar*K[0][0];
     685                        KDL[1][1]=DL_scalar*K[1][1];
     686
     687                        TripleMultiply( &Bprime[0][0],2,numdof,1,
     688                                                  &KDL[0][0],2,2,0,
     689                                                  &Bprime[0][0],2,numdof,0,
     690                                                  &Ke_gg_gaussian[0][0],0);
     691
     692                        /* Add artificial diffusivity matrix */
     693                        for( i=0; i<numdof; i++) for(j=0;j<numdof;j++) Ke_gg[i][j]+=Ke_gg_gaussian[i][j];
     694                       
     695                }
     696
    682697                #ifdef _DEBUGELEMENTS_
    683698                if(my_rank==RANK && id==ELID){
Note: See TracChangeset for help on using the changeset viewer.