Changeset 3436
- Timestamp:
- 04/07/10 16:45:45 (15 years ago)
- Location:
- issm/trunk/src/c/ModelProcessorx
- Files:
-
- 8 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk/src/c/ModelProcessorx/Balancedthickness/CreateConstraintsBalancedthickness.cpp
r3332 r3436 15 15 16 16 int i; 17 int count ;17 int count=0; 18 18 19 19 DataSet* constraints = NULL; 20 20 Spc* spc = NULL; 21 int node1,node2; 21 22 22 /*spc intermediary data: */23 int spc_sid;24 int spc_node;25 int spc_dof;26 double spc_value;27 28 double* spcthickness=NULL;29 30 23 /*Create constraints: */ 31 24 constraints = new DataSet(ConstraintsEnum()); 32 25 33 26 /*Fetch data: */ 34 IoModelFetchData(& spcthickness,NULL,NULL,iomodel_handle,"spcthickness");27 IoModelFetchData(&iomodel->spcthickness,NULL,NULL,iomodel_handle,"spcthickness"); 35 28 36 count=0; 37 29 count=1; 38 30 /*Create spcs from x,y,z, as well as the spc values on those spcs: */ 39 31 for (i=0;i<iomodel->numberofnodes;i++){ -
issm/trunk/src/c/ModelProcessorx/Balancedthickness/CreateParametersBalancedthickness.cpp
r3332 r3436 40 40 IoModelFetchData(&vz,NULL,NULL,iomodel_handle,"vz"); 41 41 42 u_g=(double*)xcalloc(iomodel->numberof nodes*3,sizeof(double));42 u_g=(double*)xcalloc(iomodel->numberofvertices*3,sizeof(double)); 43 43 44 if(vx) for(i=0;i<iomodel->numberof nodes;i++)u_g[3*i+0]=vx[i]/iomodel->yts;45 if(vy) for(i=0;i<iomodel->numberof nodes;i++)u_g[3*i+1]=vy[i]/iomodel->yts;46 if(vz) for(i=0;i<iomodel->numberof nodes;i++)u_g[3*i+2]=vz[i]/iomodel->yts;44 if(vx) for(i=0;i<iomodel->numberofvertices;i++)u_g[3*i+0]=vx[i]/iomodel->yts; 45 if(vy) for(i=0;i<iomodel->numberofvertices;i++)u_g[3*i+1]=vy[i]/iomodel->yts; 46 if(vz) for(i=0;i<iomodel->numberofvertices;i++)u_g[3*i+2]=vz[i]/iomodel->yts; 47 47 48 48 count++; 49 49 param= new Param(count,"u_g",DOUBLEVEC); 50 param->SetDoubleVec(u_g,3*iomodel->numberof nodes,3);50 param->SetDoubleVec(u_g,3*iomodel->numberofvertices,3); 51 51 parameters->AddObject(param); 52 52 … … 59 59 /*Get melting: */ 60 60 IoModelFetchData(&melting,NULL,NULL,iomodel_handle,"melting"); 61 if(melting) for(i=0;i<iomodel->numberof nodes;i++)melting[i]=melting[i]/iomodel->yts;61 if(melting) for(i=0;i<iomodel->numberofvertices;i++)melting[i]=melting[i]/iomodel->yts; 62 62 63 63 count++; 64 64 param= new Param(count,"m_g",DOUBLEVEC); 65 if(melting) param->SetDoubleVec(melting,iomodel->numberof nodes,1);65 if(melting) param->SetDoubleVec(melting,iomodel->numberofvertices,1); 66 66 else param->SetDoubleVec(melting,0,1); 67 67 parameters->AddObject(param); … … 72 72 /*Get accumulation: */ 73 73 IoModelFetchData(&accumulation,NULL,NULL,iomodel_handle,"accumulation"); 74 if(accumulation) for(i=0;i<iomodel->numberof nodes;i++)accumulation[i]=accumulation[i]/iomodel->yts;74 if(accumulation) for(i=0;i<iomodel->numberofvertices;i++)accumulation[i]=accumulation[i]/iomodel->yts; 75 75 76 76 count++; 77 77 param= new Param(count,"a_g",DOUBLEVEC); 78 if(accumulation) param->SetDoubleVec(accumulation,iomodel->numberof nodes,1);78 if(accumulation) param->SetDoubleVec(accumulation,iomodel->numberofvertices,1); 79 79 else param->SetDoubleVec(accumulation,0,0); 80 80 parameters->AddObject(param); -
issm/trunk/src/c/ModelProcessorx/Balancedvelocities/CreateParametersBalancedvelocities.cpp
r3332 r3436 40 40 IoModelFetchData(&vz,NULL,NULL,iomodel_handle,"vz"); 41 41 42 u_g=(double*)xcalloc(iomodel->numberof nodes*3,sizeof(double));42 u_g=(double*)xcalloc(iomodel->numberofvertices*3,sizeof(double)); 43 43 44 if(vx) for(i=0;i<iomodel->numberof nodes;i++)u_g[3*i+0]=vx[i]/iomodel->yts;45 if(vy) for(i=0;i<iomodel->numberof nodes;i++)u_g[3*i+1]=vy[i]/iomodel->yts;46 if(vz) for(i=0;i<iomodel->numberof nodes;i++)u_g[3*i+2]=vz[i]/iomodel->yts;44 if(vx) for(i=0;i<iomodel->numberofvertices;i++)u_g[3*i+0]=vx[i]/iomodel->yts; 45 if(vy) for(i=0;i<iomodel->numberofvertices;i++)u_g[3*i+1]=vy[i]/iomodel->yts; 46 if(vz) for(i=0;i<iomodel->numberofvertices;i++)u_g[3*i+2]=vz[i]/iomodel->yts; 47 47 48 48 count++; 49 49 param= new Param(count,"u_g",DOUBLEVEC); 50 param->SetDoubleVec(u_g,3*iomodel->numberof nodes,3);50 param->SetDoubleVec(u_g,3*iomodel->numberofvertices,3); 51 51 parameters->AddObject(param); 52 52 … … 62 62 count++; 63 63 param= new Param(count,"h_g",DOUBLEVEC); 64 if(thickness) param->SetDoubleVec(thickness,iomodel->numberof nodes,1);64 if(thickness) param->SetDoubleVec(thickness,iomodel->numberofvertices,1); 65 65 else param->SetDoubleVec(thickness,0,0); 66 66 parameters->AddObject(param); … … 71 71 /*Get melting: */ 72 72 IoModelFetchData(&melting,NULL,NULL,iomodel_handle,"melting"); 73 if(melting) for(i=0;i<iomodel->numberof nodes;i++)melting[i]=melting[i]/iomodel->yts;73 if(melting) for(i=0;i<iomodel->numberofvertices;i++)melting[i]=melting[i]/iomodel->yts; 74 74 75 75 count++; 76 76 param= new Param(count,"m_g",DOUBLEVEC); 77 if(melting) param->SetDoubleVec(melting,iomodel->numberof nodes,1);77 if(melting) param->SetDoubleVec(melting,iomodel->numberofvertices,1); 78 78 else param->SetDoubleVec(melting,0,1); 79 79 parameters->AddObject(param); … … 84 84 /*Get accumulation: */ 85 85 IoModelFetchData(&accumulation,NULL,NULL,iomodel_handle,"accumulation"); 86 if(accumulation) for(i=0;i<iomodel->numberof nodes;i++)accumulation[i]=accumulation[i]/iomodel->yts;86 if(accumulation) for(i=0;i<iomodel->numberofvertices;i++)accumulation[i]=accumulation[i]/iomodel->yts; 87 87 88 88 count++; 89 89 param= new Param(count,"a_g",DOUBLEVEC); 90 if(accumulation) param->SetDoubleVec(accumulation,iomodel->numberof nodes,1);90 if(accumulation) param->SetDoubleVec(accumulation,iomodel->numberofvertices,1); 91 91 else param->SetDoubleVec(accumulation,0,0); 92 92 parameters->AddObject(param); -
issm/trunk/src/c/ModelProcessorx/Control/CreateParametersControl.cpp
r3332 r3436 181 181 count++; 182 182 param= new Param(count,"weights",DOUBLEVEC); 183 param->SetDoubleVec(iomodel->weights,iomodel->numberof nodes);183 param->SetDoubleVec(iomodel->weights,iomodel->numberofvertices); 184 184 parameters->AddObject(param); 185 185 … … 194 194 IoModelFetchData(&control_parameter,NULL,NULL,iomodel_handle,iomodel->control_type); 195 195 196 u_g_obs=(double*)xcalloc(iomodel->numberof nodes*2,sizeof(double));197 if(vx_obs)for(i=0;i<iomodel->numberof nodes;i++)u_g_obs[2*i+0]=vx_obs[i]/iomodel->yts;198 if(vy_obs)for(i=0;i<iomodel->numberof nodes;i++)u_g_obs[2*i+1]=vy_obs[i]/iomodel->yts;196 u_g_obs=(double*)xcalloc(iomodel->numberofvertices*2,sizeof(double)); 197 if(vx_obs)for(i=0;i<iomodel->numberofvertices;i++)u_g_obs[2*i+0]=vx_obs[i]/iomodel->yts; 198 if(vy_obs)for(i=0;i<iomodel->numberofvertices;i++)u_g_obs[2*i+1]=vy_obs[i]/iomodel->yts; 199 199 200 200 count++; 201 201 param= new Param(count,"u_g_obs",DOUBLEVEC); 202 param->SetDoubleVec(u_g_obs,2*iomodel->numberof nodes,2);202 param->SetDoubleVec(u_g_obs,2*iomodel->numberofvertices,2); 203 203 parameters->AddObject(param); 204 204 205 param_g=(double*)xcalloc(iomodel->numberof nodes,sizeof(double));206 for(i=0;i<iomodel->numberof nodes;i++)param_g[i]=control_parameter[i];205 param_g=(double*)xcalloc(iomodel->numberofvertices,sizeof(double)); 206 for(i=0;i<iomodel->numberofvertices;i++)param_g[i]=control_parameter[i]; 207 207 208 208 count++; 209 209 param= new Param(count,"param_g",DOUBLEVEC); 210 param->SetDoubleVec(param_g,iomodel->numberof nodes,1);210 param->SetDoubleVec(param_g,iomodel->numberofvertices,1); 211 211 parameters->AddObject(param); 212 212 -
issm/trunk/src/c/ModelProcessorx/Melting/CreateParametersMelting.cpp
r3332 r3436 33 33 IoModelFetchData(&melting,NULL,NULL,iomodel_handle,"melting"); 34 34 if(melting) { 35 for(i=0;i<iomodel->numberof nodes;i++)melting[i]=melting[i]/iomodel->yts; //m/s instead of m/yr35 for(i=0;i<iomodel->numberofvertices;i++)melting[i]=melting[i]/iomodel->yts; //m/s instead of m/yr 36 36 } 37 37 else{ 38 for(i=0;i<iomodel->numberof nodes;i++)melting[i]=0;38 for(i=0;i<iomodel->numberofvertices;i++)melting[i]=0; 39 39 } 40 40 41 41 count++; 42 42 param= new Param(count,"m_g",DOUBLEVEC); 43 if(melting) param->SetDoubleVec(melting,iomodel->numberof nodes);43 if(melting) param->SetDoubleVec(melting,iomodel->numberofvertices); 44 44 else param->SetDoubleVec(melting,0); 45 45 parameters->AddObject(param); -
issm/trunk/src/c/ModelProcessorx/Prognostic/CreateParametersPrognostic.cpp
r3332 r3436 41 41 IoModelFetchData(&vz,NULL,NULL,iomodel_handle,"vz"); 42 42 43 u_g=(double*)xcalloc(iomodel->numberof nodes*3,sizeof(double));43 u_g=(double*)xcalloc(iomodel->numberofvertices*3,sizeof(double)); 44 44 45 if(vx) for(i=0;i<iomodel->numberof nodes;i++)u_g[3*i+0]=vx[i]/iomodel->yts;46 if(vy) for(i=0;i<iomodel->numberof nodes;i++)u_g[3*i+1]=vy[i]/iomodel->yts;47 if(vz) for(i=0;i<iomodel->numberof nodes;i++)u_g[3*i+2]=vz[i]/iomodel->yts;45 if(vx) for(i=0;i<iomodel->numberofvertices;i++)u_g[3*i+0]=vx[i]/iomodel->yts; 46 if(vy) for(i=0;i<iomodel->numberofvertices;i++)u_g[3*i+1]=vy[i]/iomodel->yts; 47 if(vz) for(i=0;i<iomodel->numberofvertices;i++)u_g[3*i+2]=vz[i]/iomodel->yts; 48 48 49 49 count++; 50 50 param= new Param(count,"u_g",DOUBLEVEC); 51 param->SetDoubleVec(u_g,3*iomodel->numberof nodes,3);51 param->SetDoubleVec(u_g,3*iomodel->numberofvertices,3); 52 52 parameters->AddObject(param); 53 53 … … 65 65 count++; 66 66 param= new Param(count,"p_g",DOUBLEVEC); 67 if(pressure) param->SetDoubleVec(pressure,iomodel->numberof nodes,1);67 if(pressure) param->SetDoubleVec(pressure,iomodel->numberofvertices,1); 68 68 else param->SetDoubleVec(pressure,0,0); 69 69 parameters->AddObject(param); … … 80 80 count++; 81 81 param= new Param(count,"t_g",DOUBLEVEC); 82 if(temperature) param->SetDoubleVec(temperature,iomodel->numberof nodes,1);82 if(temperature) param->SetDoubleVec(temperature,iomodel->numberofvertices,1); 83 83 else param->SetDoubleVec(temperature,0,0); 84 84 parameters->AddObject(param); … … 93 93 count++; 94 94 param= new Param(count,"h_g",DOUBLEVEC); 95 if(thickness) param->SetDoubleVec(thickness,iomodel->numberof nodes,1);95 if(thickness) param->SetDoubleVec(thickness,iomodel->numberofvertices,1); 96 96 else param->SetDoubleVec(thickness,0,0); 97 97 parameters->AddObject(param); … … 105 105 count++; 106 106 param= new Param(count,"s_g",DOUBLEVEC); 107 if(surface) param->SetDoubleVec(surface,iomodel->numberof nodes,1);107 if(surface) param->SetDoubleVec(surface,iomodel->numberofvertices,1); 108 108 else param->SetDoubleVec(surface,0,0); 109 109 parameters->AddObject(param); … … 117 117 count++; 118 118 param= new Param(count,"b_g",DOUBLEVEC); 119 if(bed) param->SetDoubleVec(bed,iomodel->numberof nodes,1);119 if(bed) param->SetDoubleVec(bed,iomodel->numberofvertices,1); 120 120 else param->SetDoubleVec(bed,0,0); 121 121 parameters->AddObject(param); … … 126 126 /*Get melting: */ 127 127 IoModelFetchData(&melting,NULL,NULL,iomodel_handle,"melting"); 128 if(melting) for(i=0;i<iomodel->numberof nodes;i++)melting[i]=melting[i]/iomodel->yts;128 if(melting) for(i=0;i<iomodel->numberofvertices;i++)melting[i]=melting[i]/iomodel->yts; 129 129 130 130 count++; 131 131 param= new Param(count,"m_g",DOUBLEVEC); 132 if(melting) param->SetDoubleVec(melting,iomodel->numberof nodes,1);132 if(melting) param->SetDoubleVec(melting,iomodel->numberofvertices,1); 133 133 else param->SetDoubleVec(melting,0,1); 134 134 parameters->AddObject(param); … … 139 139 /*Get accumulation: */ 140 140 IoModelFetchData(&accumulation,NULL,NULL,iomodel_handle,"accumulation"); 141 if(accumulation) for(i=0;i<iomodel->numberof nodes;i++)accumulation[i]=accumulation[i]/iomodel->yts;141 if(accumulation) for(i=0;i<iomodel->numberofvertices;i++)accumulation[i]=accumulation[i]/iomodel->yts; 142 142 143 143 count++; 144 144 param= new Param(count,"a_g",DOUBLEVEC); 145 if(accumulation) param->SetDoubleVec(accumulation,iomodel->numberof nodes,1);145 if(accumulation) param->SetDoubleVec(accumulation,iomodel->numberofvertices,1); 146 146 else param->SetDoubleVec(accumulation,0,0); 147 147 parameters->AddObject(param); -
issm/trunk/src/c/ModelProcessorx/Qmu/CreateParametersQmu.cpp
r3332 r3436 187 187 } 188 188 189 MeshPartitionx(&epart, &part,iomodel->numberofelements,iomodel->numberof nodes,iomodel->elements, iomodel->numberofelements2d,iomodel->numberofnodes2d,iomodel->elements2d,iomodel->numlayers,elements_width, iomodel->meshtype,iomodel->qmu_npart);190 191 dpart=(double*)xmalloc(iomodel->numberof nodes*sizeof(double));192 for(i=0;i<iomodel->numberof nodes;i++)dpart[i]=part[i];189 MeshPartitionx(&epart, &part,iomodel->numberofelements,iomodel->numberofvertices,iomodel->elements, iomodel->numberofelements2d,iomodel->numberofvertices2d,iomodel->elements2d,iomodel->numlayers,elements_width, iomodel->meshtype,iomodel->qmu_npart); 190 191 dpart=(double*)xmalloc(iomodel->numberofvertices*sizeof(double)); 192 for(i=0;i<iomodel->numberofvertices;i++)dpart[i]=part[i]; 193 193 } 194 194 195 195 count++; 196 196 param= new Param(count,"qmu_part",DOUBLEVEC); 197 param->SetDoubleVec(dpart,iomodel->numberof nodes,1);197 param->SetDoubleVec(dpart,iomodel->numberofvertices,1); 198 198 parameters->AddObject(param); 199 199 … … 214 214 count++; 215 215 param= new Param(count,descriptor,DOUBLEVEC); 216 param->SetDoubleVec(dakota_parameter,iomodel->numberof nodes,1);216 param->SetDoubleVec(dakota_parameter,iomodel->numberofvertices,1); 217 217 parameters->AddObject(param); 218 218 … … 284 284 IoModelFetchData(&iomodel->fit,NULL,NULL,iomodel_handle,"fit"); 285 285 286 u_g_obs=(double*)xcalloc(iomodel->numberof nodes*2,sizeof(double));287 if(vx_obs)for(i=0;i<iomodel->numberof nodes;i++)u_g_obs[2*i+0]=vx_obs[i]/iomodel->yts;288 if(vy_obs)for(i=0;i<iomodel->numberof nodes;i++)u_g_obs[2*i+1]=vy_obs[i]/iomodel->yts;286 u_g_obs=(double*)xcalloc(iomodel->numberofvertices*2,sizeof(double)); 287 if(vx_obs)for(i=0;i<iomodel->numberofvertices;i++)u_g_obs[2*i+0]=vx_obs[i]/iomodel->yts; 288 if(vy_obs)for(i=0;i<iomodel->numberofvertices;i++)u_g_obs[2*i+1]=vy_obs[i]/iomodel->yts; 289 289 290 290 count++; 291 291 param= new Param(count,"velocity_obs",DOUBLEVEC); 292 param->SetDoubleVec(u_g_obs,2*iomodel->numberof nodes,2);292 param->SetDoubleVec(u_g_obs,2*iomodel->numberofvertices,2); 293 293 parameters->AddObject(param); 294 294 -
issm/trunk/src/c/ModelProcessorx/Thermal/CreateParametersThermal.cpp
r3332 r3436 44 44 IoModelFetchData(&vz,NULL,NULL,iomodel_handle,"vz"); 45 45 46 u_g=(double*)xcalloc(iomodel->numberof nodes*3,sizeof(double));46 u_g=(double*)xcalloc(iomodel->numberofvertices*3,sizeof(double)); 47 47 48 if(vx) for(i=0;i<iomodel->numberof nodes;i++)u_g[3*i+0]=vx[i]/iomodel->yts;49 if(vy) for(i=0;i<iomodel->numberof nodes;i++)u_g[3*i+1]=vy[i]/iomodel->yts;50 if(vz) for(i=0;i<iomodel->numberof nodes;i++)u_g[3*i+2]=vz[i]/iomodel->yts;48 if(vx) for(i=0;i<iomodel->numberofvertices;i++)u_g[3*i+0]=vx[i]/iomodel->yts; 49 if(vy) for(i=0;i<iomodel->numberofvertices;i++)u_g[3*i+1]=vy[i]/iomodel->yts; 50 if(vz) for(i=0;i<iomodel->numberofvertices;i++)u_g[3*i+2]=vz[i]/iomodel->yts; 51 51 52 52 count++; 53 53 param= new Param(count,"u_g",DOUBLEVEC); 54 param->SetDoubleVec(u_g,3*iomodel->numberof nodes,3);54 param->SetDoubleVec(u_g,3*iomodel->numberofvertices,3); 55 55 parameters->AddObject(param); 56 56 … … 65 65 count++; 66 66 param= new Param(count,"p_g",DOUBLEVEC); 67 if(pressure) param->SetDoubleVec(pressure,iomodel->numberof nodes,1);67 if(pressure) param->SetDoubleVec(pressure,iomodel->numberofvertices,1); 68 68 else param->SetDoubleVec(pressure,0,0); 69 69 parameters->AddObject(param); … … 80 80 count++; 81 81 param= new Param(count,"t_g",DOUBLEVEC); 82 if(temperature) param->SetDoubleVec(temperature,iomodel->numberof nodes,1);82 if(temperature) param->SetDoubleVec(temperature,iomodel->numberofvertices,1); 83 83 else ISSMERROR(exprintf("Missing initial temperature")); 84 84 parameters->AddObject(param);
Note:
See TracChangeset
for help on using the changeset viewer.