Changeset 15182
- Timestamp:
- 05/30/13 18:08:42 (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk-jpl/src/c/classes/Elements/Tria.cpp
r15161 r15182 6200 6200 6201 6201 /*Intermediaries */ 6202 IssmDouble connectivity; 6202 6203 IssmDouble Jdet; 6203 6204 IssmDouble xyz_list[NUMVERTICES][3]; 6204 6205 IssmDouble dt,scalar,water_head; 6205 IssmDouble residual_load,transfer;6206 IssmDouble transfer,residual; 6206 6207 IssmDouble epl_storing; 6207 6208 IssmDouble basis[numdof]; … … 6233 6234 6234 6235 /*Loading term*/ 6235 residual_input->GetInputValue(&residual_load,gauss);6236 6236 transfer_input->GetInputValue(&transfer,gauss); 6237 scalar = Jdet*gauss->weight* (residual_load+transfer);6237 scalar = Jdet*gauss->weight*transfer; 6238 6238 if(reCast<bool,IssmDouble>(dt)) scalar = scalar*dt; 6239 6239 for(int i=0;i<numdof;i++) pe->values[i]+=scalar*basis[i]; … … 6247 6247 } 6248 6248 6249 /* Add residual if necessary*/ 6250 delete gauss; 6251 gauss=new GaussTria(); 6252 for(int iv=0;iv<NUMVERTICES;iv++){ 6253 gauss->GaussVertex(iv); 6254 6255 connectivity = IssmDouble(nodes[iv]->GetConnectivity()); 6256 residual_input->GetInputValue(&residual,gauss); 6257 pe->values[iv]+=residual/connectivity; 6258 } 6249 6259 /*Clean up and return*/ 6250 6260 delete gauss; … … 6387 6397 IssmDouble values[numdof]; 6388 6398 IssmDouble residual[numdof]; 6389 IssmDouble intbasis[numdof];6390 6399 IssmDouble penalty_factor, dt; 6391 6400 IssmDouble kmax, kappa, h_max; … … 6402 6411 /*If converged keep the residual in mind*/ 6403 6412 this->inputs->GetInputValue(&converged,ConvergedEnum); 6404 GetInputListOnVertices(&intbasis[0],BasisIntegralEnum);6405 6413 6406 6414 if(converged){ … … 6413 6421 this->GetHydrologyDCInefficientHmax(&h_max,nodes[i]); 6414 6422 if(values[i]>h_max){ 6415 residual[i]=kappa*(values[i]-h_max) /intbasis[i];6416 if(reCast<bool,IssmDouble>(dt))residual[i]=residual[i] /dt;6423 residual[i]=kappa*(values[i]-h_max); 6424 if(reCast<bool,IssmDouble>(dt))residual[i]=residual[i]; 6417 6425 } 6418 6426 else 6419 6427 residual[i]=0.0; 6420 6428 } 6421 if(this->id==1)printf("residual, %g \n", residual[1]);6422 if(this->id==1)printf("hSed, %g \n", values[1]);6423 6429 } 6424 6430 /*Add input to the element: */
Note:
See TracChangeset
for help on using the changeset viewer.