Changeset 16908
- Timestamp:
- 11/23/13 20:22:24 (11 years ago)
- Location:
- issm/trunk-jpl/src/c
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
TabularUnified issm/trunk-jpl/src/c/analyses/StressbalanceAnalysis.cpp ¶
r16907 r16908 3096 3096 3097 3097 /*Constants*/ 3098 int numnodes = 2*element->GetNumberOfNodes();3098 int numnodes = element->GetNumberOfNodes(); 3099 3099 int numdofm = 1 *numnodes; //*2/2 3100 3100 int numdofp = 2 *numnodes; … … 3111 3111 IssmDouble* Ke_gg = xNewZeroInit<IssmDouble>(numdofp*numdofm); 3112 3112 IssmDouble* Ke_gg_gaussian = xNew<IssmDouble>(numdofp*numdofm); 3113 Node *node_list[ numnodes];3114 int cs_list[numnodes];3113 Node *node_list[2*numnodes]; 3114 int* cs_list= xNew<int>(2*numnodes); 3115 3115 3116 3116 /*Find penta on bed as HO must be coupled to the dofs on the bed: */ … … 3150 3150 element->JacobianDeterminant(&Jdet, xyz_list,gauss); 3151 3151 this->GetBSSAHO(B, element,xyz_list, gauss); 3152 //basaltria->GetBprimeSSA(Bprime, xyz_list, gauss_tria); /FIXME3153 3152 this->GetBSSAprime(Bprime, basaltria,xyz_list, gauss_tria); 3154 3153 element->ViscosityHO(&viscosity,xyz_list,gauss,vx_input,vy_input); … … 3164 3163 Ke_gg_gaussian,0); 3165 3164 3166 for( i=0; i<numdofp; i++) for(j=0;j<numdofm; j++) Ke_gg[i*numdof p+j]+=Ke_gg_gaussian[i*numdofp+j];3165 for( i=0; i<numdofp; i++) for(j=0;j<numdofm; j++) Ke_gg[i*numdofm+j]+=Ke_gg_gaussian[i*numdofm+j]; 3167 3166 } 3168 for(i=0;i<numdofp;i++) for(j=0;j<numdofm;j++) Ke->values[(i+2*numdofm)*numdoftotal+j]+=Ke_gg[i*numdof p+j];3169 for(i=0;i<numdofm;i++) for(j=0;j<numdofp;j++) Ke->values[i*numdoftotal+(j+2*numdofm)]+=Ke_gg[j*numdof p+i];3167 for(i=0;i<numdofp;i++) for(j=0;j<numdofm;j++) Ke->values[(i+2*numdofm)*numdoftotal+j]+=Ke_gg[i*numdofm+j]; 3168 for(i=0;i<numdofm;i++) for(j=0;j<numdofp;j++) Ke->values[i*numdoftotal+(j+2*numdofm)]+=Ke_gg[j*numdofm+i]; 3170 3169 3171 3170 /*Transform Coordinate System*/ 3172 element->TransformStiffnessMatrixCoord(Ke,node_list, numnodes,cs_list);3171 element->TransformStiffnessMatrixCoord(Ke,node_list,2*numnodes,cs_list); 3173 3172 3174 3173 /*Clean-up and return*/ 3175 3174 basaltria->DeleteMaterials(); delete basaltria; 3175 3176 3176 delete gauss; 3177 3177 delete gauss_tria; 3178 xDelete<IssmDouble>(Ke_gg); 3179 xDelete<IssmDouble>(Ke_gg_gaussian); 3180 xDelete<int>(cs_list); 3178 3181 return Ke; 3179 3182 … … 3211 3214 /*Build B: */ 3212 3215 for(int i=0;i<numnodes;i++){ 3213 B[2*numnodes*0+2*i+0] = dbasis[0* 3+i];3216 B[2*numnodes*0+2*i+0] = dbasis[0*numnodes+i]; 3214 3217 B[2*numnodes*0+2*i+1] = 0.; 3215 3218 B[2*numnodes*1+2*i+0] = 0.; 3216 B[2*numnodes*1+2*i+1] = dbasis[1* 3+i];3217 B[2*numnodes*2+2*i+0] = .5*dbasis[1* 3+i];3218 B[2*numnodes*2+2*i+1] = .5*dbasis[0* 3+i];3219 B[2*numnodes*1+2*i+1] = dbasis[1*numnodes+i]; 3220 B[2*numnodes*2+2*i+0] = .5*dbasis[1*numnodes+i]; 3221 B[2*numnodes*2+2*i+1] = .5*dbasis[0*numnodes+i]; 3219 3222 } 3220 3223 -
TabularUnified issm/trunk-jpl/src/c/classes/Elements/Penta.cpp ¶
r16907 r16908 1328 1328 /*FUNCTION Penta::GetNode(int node_number) {{{*/ 1329 1329 Node* Penta::GetNode(int node_number){ 1330 _assert_(node_number>=0); 1331 _assert_(node_number<this->NumberofNodes()); 1330 1332 return this->nodes[node_number]; 1331 1333 }
Note:
See TracChangeset
for help on using the changeset viewer.