Changeset 2016
- Timestamp:
- 08/27/09 13:52:15 (16 years ago)
- Location:
- issm/trunk/src/c/parallel
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk/src/c/parallel/ControlInitialization.cpp
r1881 r2016 51 51 int dof012[3]={0,1,2}; 52 52 int dof3[1]={3}; 53 double* dofset=NULL; 53 54 54 55 /*first recover parameters common to all solutions:*/ … … 113 114 if(debug)_printf_("%s\n"," combining horizontal and vertical velocities..."); 114 115 VecFree(&ug); ug=NewVec(numberofnodes*3); 115 VecMerge(ug,ug_horiz,dofsetgen(2,&dof01[0],3,numberofnodes*3),numberofnodes*2);116 VecMerge(ug,ug_vert,dofsetgen(1,&dof2[0],3,numberofnodes*3),numberofnodes*1);116 xfree((void**)&dofset);dofset=dofsetgen(2,&dof01[0],3,numberofnodes*3); VecMerge(ug,ug_horiz,dofset,numberofnodes*2); 117 xfree((void**)&dofset);dofset=dofsetgen(1,&dof2[0],3,numberofnodes*3); VecMerge(ug,ug_vert,dofset,numberofnodes*1); 117 118 VecFree(&ug_vert); VecFree(&ug_horiz); 118 119 … … 122 123 VecScale(pg,1.0/stokesreconditioning); 123 124 ug_stokes=NewVec(fem_ds->nodesets->GetGSize()); 124 VecMerge(ug_stokes,ug,dofsetgen(3,dof012,4,numberofnodes*4),numberofnodes*3);125 VecMerge(ug_stokes,pg,dofsetgen(1,dof3,4,numberofnodes*4),numberofnodes);125 xfree((void**)&dofset);dofset=dofsetgen(3,dof012,4,numberofnodes*4); VecMerge(ug_stokes,ug,dofset,numberofnodes*3); 126 xfree((void**)&dofset);dofset=dofsetgen(1,dof3,4,numberofnodes*4); VecMerge(ug_stokes,pg,dofset,numberofnodes); 126 127 127 128 //Add in inputs … … 131 132 //update spcs 132 133 if(debug)_printf_("%s\n"," update boundary conditions for stokes using velocities previously computed..."); 133 VecMerge(fem_ds->yg,ug,dofsetgen(3,dof012,4,numberofnodes*4),3*numberofnodes); 134 xfree((void**)&dofset);dofset=dofsetgen(3,dof012,4,numberofnodes*4); VecMerge(fem_ds->yg,ug,dofset,3*numberofnodes); 135 134 136 VecFree(&fem_ds->ys); VecFree(&fem_ds->ys0); 135 137 Reducevectorgtosx(&fem_ds->ys,&fem_ds->ys0, fem_ds->yg,fem_ds->nodesets); … … 147 149 /*Assign output*/ 148 150 model->SetActiveFormulation(fem_ds); 151 152 /*Free ressources:*/ 153 xfree((void**)&dofset); 154 149 155 } -
issm/trunk/src/c/parallel/diagnostic_core.cpp
r2003 r2016 179 179 180 180 //decondition" pressure 181 182 xfree((void**)&dofset);dofset=dofsetgen(1,dof3,4,numberofnodes*4); 183 VecFree(&pg);VecPartition(&pg, ug, dofset, numberofnodes*1); 181 VecFree(&pg); 182 xfree((void**)&dofset);dofset=dofsetgen(1,dof3,4,numberofnodes*4); VecPartition(&pg, ug, dofset, numberofnodes*1); 184 183 VecScale(pg,stokesreconditioning); 185 184 } -
issm/trunk/src/c/parallel/objectivefunctionC.cpp
r1972 r2016 51 51 DataSet* results_steadystate=NULL; 52 52 int dofs01[2]={0,1}; 53 double* dofset=NULL; 53 54 54 55 /*Recover active model: */ … … 103 104 //extract the correct number of dofs (3 or 4) 104 105 VecDuplicatePatch(&u_g_full,u_g);VecFree(&u_g); 105 if(!isstokes)VecPartition(&u_g, u_g_full, dofsetgen(2,dofs01,3,numberofnodes*3), numberofnodes*2); 106 if(!isstokes){ 107 xfree((void**)& dofset);dofset=dofsetgen(2,dofs01,3,numberofnodes*3); VecPartition(&u_g, u_g_full, dofset, numberofnodes*2); 108 } 106 109 VecFree(&u_g_full); 107 110 } … … 120 123 xfree((void**)¶m_g_copy); 121 124 xfree((void**)&u_g_double); 125 xfree((void**)&dofset); 122 126 123 127 return J;
Note:
See TracChangeset
for help on using the changeset viewer.