Changeset 6270


Ignore:
Timestamp:
10/12/10 15:32:12 (14 years ago)
Author:
seroussi
Message:

some minor changes in thermal

File:
1 edited

Legend:

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

    r6268 r6270  
    29282928        double     L[numdof];
    29292929        double     dh1dh6[3][6];
    2930         double     D_scalar;
     2930        double     D_scalar_conduct,D_scalar_advec;
     2931        double     D_scalar_trans,D_scalar_artdiff;
    29312932        double     D[3][3];
    29322933        double     K[2][2]={0.0};
     
    29692970                GetBConduct(&B_conduct[0][0],&xyz_list[0][0],gauss);
    29702971
    2971                 D_scalar=gauss->weight*Jdet*(thermalconductivity/(rho_ice*heatcapacity));
    2972                 if(dt) D_scalar=D_scalar*dt;
    2973 
    2974                 D[0][0]=D_scalar; D[0][1]=0; D[0][2]=0;
    2975                 D[1][0]=0; D[1][1]=D_scalar; D[1][2]=0;
    2976                 D[2][0]=0; D[2][1]=0; D[2][2]=D_scalar;
     2972                D_scalar_conduct=gauss->weight*Jdet*(thermalconductivity/(rho_ice*heatcapacity));
     2973                if(dt) D_scalar_conduct=D_scalar_conduct*dt;
     2974
     2975                D[0][0]=D_scalar_conduct; D[0][1]=0; D[0][2]=0;
     2976                D[1][0]=0; D[1][1]=D_scalar_conduct; D[1][2]=0;
     2977                D[2][0]=0; D[2][1]=0; D[2][2]=D_scalar_conduct;
    29772978
    29782979                TripleMultiply(&B_conduct[0][0],3,numdof,1,
     
    29902991                vz_input->GetParameterValue(&w, gauss);
    29912992
    2992                 D_scalar=gauss->weight*Jdet;
    2993                 if(dt) D_scalar=D_scalar*dt;
    2994 
    2995                 D[0][0]=D_scalar*u;D[0][1]=0;         D[0][2]=0;
    2996                 D[1][0]=0;         D[1][1]=D_scalar*v;D[1][2]=0;
    2997                 D[2][0]=0;         D[2][1]=0;         D[2][2]=D_scalar*w;
     2993                D_scalar_advec=gauss->weight*Jdet;
     2994                if(dt) D_scalar_advec=D_scalar_advec*dt;
     2995
     2996                D[0][0]=D_scalar_advec*u;D[0][1]=0;         D[0][2]=0;
     2997                D[1][0]=0;         D[1][1]=D_scalar_advec*v;D[1][2]=0;
     2998                D[2][0]=0;         D[2][1]=0;         D[2][2]=D_scalar_advec*w;
    29982999
    29993000                TripleMultiply(&B_advec[0][0],3,numdof,1,
     
    30063007                if(dt){
    30073008                        GetNodalFunctionsP1(&L[0], gauss);
    3008                         D_scalar=gauss->weight*Jdet;
    3009                         D_scalar=D_scalar;
     3009                        D_scalar_trans=gauss->weight*Jdet;
     3010                        D_scalar_trans=D_scalar_trans;
    30103011
    30113012                        TripleMultiply(&L[0],numdof,1,0,
    3012                                                 &D_scalar,1,1,0,
     3013                                                &D_scalar_trans,1,1,0,
    30133014                                                &L[0],1,numdof,0,
    30143015                                                &Ke_gaussian_transient[0][0],0);
     
    30223023                if(artdiff==1){
    30233024                        /*Build K: */
    3024                         D_scalar=gauss->weight*Jdet/(pow(u,2)+pow(v,2)+epsvel);
    3025                         if(dt) D_scalar=D_scalar*dt;
    3026                         K[0][0]=D_scalar*pow(u,2);       K[0][1]=D_scalar*fabs(u)*fabs(v);
    3027                         K[1][0]=D_scalar*fabs(u)*fabs(v);K[1][1]=D_scalar*pow(v,2);
     3025                        D_scalar_artdiff=gauss->weight*Jdet/(pow(u,2)+pow(v,2)+epsvel);
     3026                        if(dt) D_scalar_artdiff=D_scalar_artdiff*dt;
     3027                        K[0][0]=D_scalar_artdiff*pow(u,2);       K[0][1]=D_scalar_artdiff*fabs(u)*fabs(v);
     3028                        K[1][0]=D_scalar_artdiff*fabs(u)*fabs(v);K[1][1]=D_scalar_artdiff*pow(v,2);
    30283029
    30293030                        GetBArtdiff(&B_artdiff[0][0],&xyz_list[0][0],gauss);
     
    30393040
    30403041                        tau_parameter=GetStabilizationParameter(u,v,w,diameter,rho_ice,heatcapacity,thermalconductivity);
    3041                         //if(dt) scalar_artdiff=scalar_artdiff*dt;
     3042                        if(dt) scalar_artdiff=scalar_artdiff*dt;
    30423043
    30433044                        scalar_artdiff=tau_parameter*gauss->weight*Jdet;
     
    38283829        double viscosity,temperature;
    38293830        double tau_parameter,diameter;
    3830         double u,v,w,scalar_artdiff;
     3831        double u,v,w;
    38313832        double scalar_def,scalar_transient;
    38323833        double temperature_list[NUMVERTICES];
     
    38883889
    38893890                        tau_parameter=GetStabilizationParameter(u,v,w,diameter,rho_ice,heatcapacity,thermalconductivity);
    3890                         scalar_artdiff=tau_parameter*gauss->weight*Jdet*phi/(rho_ice*heatcapacity);
    3891                         //if(dt) scalar_artdiff=scalar_artdiff*dt;
    3892 
    3893                         for(i=0;i<NUMVERTICES;i++)  pe->values[i]+=scalar_artdiff*(u*dh1dh6[0][i]+v*dh1dh6[1][i]+w*dh1dh6[2][i]);
     3891
     3892                        for(i=0;i<NUMVERTICES;i++)  pe->values[i]+=tau_parameter*scalar_def*(u*dh1dh6[0][i]+v*dh1dh6[1][i]+w*dh1dh6[2][i]);
    38943893                }
    38953894        }
Note: See TracChangeset for help on using the changeset viewer.