- Timestamp:
- 03/13/12 19:59:59 (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk-jpl/src/c/modules/AverageOntoPartitionx/AverageOntoPartitionx.cpp
r9650 r11695 29 29 30 30 /*output: */ 31 Vec partition_contributions=NULL;32 Vec partition_areas=NULL;33 Vec vec_average=NULL;31 Vector* partition_contributions=NULL; 32 Vector* partition_areas=NULL; 33 Vector* vec_average=NULL; 34 34 double* average=NULL; 35 35 … … 44 44 45 45 /*allocate: */ 46 partition_contributions= NewVec(npart);47 partition_areas= NewVec(npart);48 vec_average= NewVec(npart);46 partition_contributions=new Vector(npart); 47 partition_areas=new Vector(npart); 48 vec_average=new Vector(npart); 49 49 50 50 /*loop on each element, and add contribution of the element to the partition (surface weighted average): */ … … 55 55 56 56 /*Assemble: */ 57 VecAssemblyBegin(partition_contributions); 58 VecAssemblyEnd(partition_contributions); 59 60 VecAssemblyBegin(partition_areas); 61 VecAssemblyEnd(partition_areas); 57 partition_contributions->Assemble(); 58 partition_areas->Assemble(); 62 59 63 60 /*We have the partition_areas and the partition_contributions for each partition -> compute the surfae weighted average: */ 64 VecPointwiseDivide(vec_average,partition_contributions,partition_areas);61 vec_average->PointwiseDivide(partition_contributions,partition_areas); 65 62 66 63 /*serialize:*/ 67 VecToMPISerial(&average,vec_average);64 average=vec_average->ToMPISerial(); 68 65 69 66 /*Free ressources:*/ 70 67 xfree((void**)&qmu_part); 71 VecFree(&partition_contributions);72 VecFree(&partition_areas);73 VecFree(&vec_average);68 xdelete(&partition_contributions); 69 xdelete(&partition_areas); 70 xdelete(&vec_average); 74 71 75 72 /*Assign output pointers:*/
Note:
See TracChangeset
for help on using the changeset viewer.