Changeset 669
- Timestamp:
- 06/01/09 11:32:42 (16 years ago)
- Location:
- issm/trunk/src/c/parallel
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk/src/c/parallel/OutputControl.cpp
r668 r669 32 32 results->AddObject(result); 33 33 34 result=new Result(results->Size()+1,0,1,"p _g",p_g,numberofnodes);34 result=new Result(results->Size()+1,0,1,"param_g",p_g,numberofnodes); 35 35 results->AddObject(result); 36 36 -
issm/trunk/src/c/parallel/ProcessResults.cpp
r667 r669 57 57 double* p_g_serial=NULL; 58 58 double* pressure=NULL; 59 double* parameter=NULL; 59 60 double* partition=NULL; 60 61 double yts; … … 216 217 xfree((void**)&partition); 217 218 } 219 else if(strcmp(result->GetFieldName(),"param_g")==0){ 220 /*easy, param_g is of size numberofnodes, on 1 dof, just repartition: */ 221 result->GetField(&p_g); 222 VecToMPISerial(&p_g_serial,p_g); 223 fem_p->parameters->FindParam((void*)&numberofnodes,"numberofnodes"); 224 VecToMPISerial(&partition,fem_p->partition); 225 226 parameter=(double*)xmalloc(numberofnodes*sizeof(double)); 227 228 for(i=0;i<numberofnodes;i++){ 229 parameter[i]=p_g_serial[(int)partition[i]]; 230 } 231 232 /*Ok, add parameter to newresults: */ 233 newresult=new Result(newresults->Size()+1,result->GetTime(),result->GetStep(),"parameter",parameter,numberofnodes); 234 newresults->AddObject(newresult); 235 236 /*do some cleanup: */ 237 xfree((void**)&p_g_serial); 238 xfree((void**)&partition); 239 } 240 else{ 241 /*Just copy the result into the new results dataset: */ 242 newresults->AddObject(result); 243 } 218 244 } 219 245
Note:
See TracChangeset
for help on using the changeset viewer.