Ignore:
Timestamp:
03/13/12 19:59:59 (13 years ago)
Author:
Eric.Larour
Message:

Completed separation of Petsc from ISSM. Matrix and Vector
are now the vehicles for Mat and Vec objects when running with
Petsc, or double* when running with a custom made type of matrix (still
to be finished).

File:
1 edited

Legend:

Unmodified
Added
Removed
  • issm/trunk-jpl/src/c/modules/AverageOntoPartitionx/AverageOntoPartitionx.cpp

    r9650 r11695  
    2929
    3030        /*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;
    3434        double* average=NULL;
    3535
     
    4444
    4545        /*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);
    4949
    5050        /*loop on each element, and add contribution of the element to the partition (surface weighted average): */
     
    5555
    5656        /*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();
    6259
    6360        /*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);
    6562
    6663        /*serialize:*/
    67         VecToMPISerial(&average,vec_average);
     64        average=vec_average->ToMPISerial();
    6865
    6966        /*Free ressources:*/
    7067        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);
    7471
    7572        /*Assign output pointers:*/
Note: See TracChangeset for help on using the changeset viewer.