Changeset 6270
- Timestamp:
- 10/12/10 15:32:12 (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk/src/c/objects/Elements/Penta.cpp
r6268 r6270 2928 2928 double L[numdof]; 2929 2929 double dh1dh6[3][6]; 2930 double D_scalar; 2930 double D_scalar_conduct,D_scalar_advec; 2931 double D_scalar_trans,D_scalar_artdiff; 2931 2932 double D[3][3]; 2932 2933 double K[2][2]={0.0}; … … 2969 2970 GetBConduct(&B_conduct[0][0],&xyz_list[0][0],gauss); 2970 2971 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; 2977 2978 2978 2979 TripleMultiply(&B_conduct[0][0],3,numdof,1, … … 2990 2991 vz_input->GetParameterValue(&w, gauss); 2991 2992 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; 2998 2999 2999 3000 TripleMultiply(&B_advec[0][0],3,numdof,1, … … 3006 3007 if(dt){ 3007 3008 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; 3010 3011 3011 3012 TripleMultiply(&L[0],numdof,1,0, 3012 &D_scalar ,1,1,0,3013 &D_scalar_trans,1,1,0, 3013 3014 &L[0],1,numdof,0, 3014 3015 &Ke_gaussian_transient[0][0],0); … … 3022 3023 if(artdiff==1){ 3023 3024 /*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); 3028 3029 3029 3030 GetBArtdiff(&B_artdiff[0][0],&xyz_list[0][0],gauss); … … 3039 3040 3040 3041 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; 3042 3043 3043 3044 scalar_artdiff=tau_parameter*gauss->weight*Jdet; … … 3828 3829 double viscosity,temperature; 3829 3830 double tau_parameter,diameter; 3830 double u,v,w ,scalar_artdiff;3831 double u,v,w; 3831 3832 double scalar_def,scalar_transient; 3832 3833 double temperature_list[NUMVERTICES]; … … 3888 3889 3889 3890 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]); 3894 3893 } 3895 3894 }
Note:
See TracChangeset
for help on using the changeset viewer.