Changeset 16421
- Timestamp:
- 10/16/13 08:03:50 (11 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk-jpl/src/c/classes/Elements/Tria.cpp
r16409 r16421 4403 4403 /*Initialize values*/ 4404 4404 IssmDouble* values = xNew<IssmDouble>(vnumdof+pnumdof); 4405 IssmDouble* vvalues = xNew<IssmDouble>(vnumdof);4406 IssmDouble* pvalues = xNew<IssmDouble>(pnumdof);4407 4405 IssmDouble* vx = xNew<IssmDouble>(vnumnodes); 4408 4406 IssmDouble* vy = xNew<IssmDouble>(vnumnodes); … … 4425 4423 TransformSolutionCoord(&values[0],nodes,vnumnodes+pnumdof,cs_list); 4426 4424 4427 /*Use the dof list to index into the solution vector: */4428 for(i=0;i<vnumdof;i++) vvalues[i]=values[i];4429 for(i=0;i<pnumdof;i++) pvalues[i]=values[vnumdof+i];4430 4431 4425 /*Ok, we have vx and vy in values, fill in all arrays: */ 4432 4426 for(i=0;i<vnumnodes;i++){ 4433 vx[i] = v values[i*NDOF2+0];4434 vy[i] = v values[i*NDOF2+1];4427 vx[i] = values[i*NDOF2+0]; 4428 vy[i] = values[i*NDOF2+1]; 4435 4429 if(xIsNan<IssmDouble>(vx[i])) _error_("NaN found in solution vector"); 4436 4430 if(xIsNan<IssmDouble>(vy[i])) _error_("NaN found in solution vector"); 4437 4431 } 4438 4432 for(i=0;i<pnumnodes;i++){ 4439 pressure[i] = pvalues[i];4433 pressure[i] = values[vnumdof+i]; 4440 4434 if(xIsNan<IssmDouble>(pressure[i])) _error_("NaN found in solution vector"); 4441 4435 } … … 4443 4437 /*Recondition pressure and compute vel: */ 4444 4438 this->parameters->FindParam(&FSreconditioning,StressbalanceFSreconditioningEnum); 4445 for(i=0;i<pnumnodes;i++) pressure[i] =pressure[i]*FSreconditioning;4446 for(i=0;i<vnumnodes;i++) vel[i] =sqrt(vx[i]*vx[i] + vy[i]*vy[i]);4439 for(i=0;i<pnumnodes;i++) pressure[i] = pressure[i]*FSreconditioning; 4440 for(i=0;i<vnumnodes;i++) vel[i] = sqrt(vx[i]*vx[i] + vy[i]*vy[i]); 4447 4441 4448 4442 /*Now, we have to move the previous inputs to old … … 4464 4458 xDelete<IssmDouble>(vx); 4465 4459 xDelete<IssmDouble>(values); 4466 xDelete<IssmDouble>(vvalues);4467 xDelete<IssmDouble>(pvalues);4468 4460 xDelete<int>(vdoflist); 4469 4461 xDelete<int>(pdoflist);
Note:
See TracChangeset
for help on using the changeset viewer.