Changeset 508
- Timestamp:
- 05/19/09 16:19:28 (16 years ago)
- Location:
- issm/trunk/src/c/parallel
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk/src/c/parallel/OutputControl.cpp
r472 r508 24 24 double* serial_ug=NULL; 25 25 int one=1; 26 int gsize;26 int u_g_size; 27 27 int nods; 28 28 … … 31 31 VecCopy(partition,partition_shifted); 32 32 VecShift(partition_shifted,1.0); //matlab indexing starts at 1 33 33 34 VecToMPISerial(&serial_partition,partition_shifted); 34 35 VecGetSize(partition,&nods); 36 37 VecToMPISerial(&serial_ug,u_g); 38 VecGetSize(u_g,&u_g_size); 35 39 36 VecToMPISerial(&serial_ug,u_g);37 38 40 /* Open output file to write raw binary data: */ 39 41 if(my_rank==0){ … … 43 45 WriteDataToDisk((void*)"control",NULL,NULL,"String",fid); 44 46 45 /*Write gsize: */46 gsize=nodesets->GetGSize();47 WriteDataToDisk(&gsize,NULL,NULL,"Integer",fid);48 49 47 /*Write partition: */ 50 48 WriteDataToDisk(serial_partition,&nods,&one,"Mat",fid); 51 49 52 50 /*Write solution to disk: */ 53 WriteDataToDisk(serial_ug,& gsize,&one,"Mat",fid);51 WriteDataToDisk(serial_ug,&u_g_size,&one,"Mat",fid); 54 52 55 53 /*Write parameter to disk: */ 56 WriteDataToDisk(p_g,& gsize,&one,"Mat",fid);54 WriteDataToDisk(p_g,&u_g_size,&one,"Mat",fid); 57 55 58 56 /*Write J to disk: */ -
issm/trunk/src/c/parallel/OutputDiagnostic.cpp
r507 r508 21 21 /*intermediary: */ 22 22 FemModel* fem_dh=NULL; 23 FemModel* fem_dv=NULL;24 FemModel* fem_dhu=NULL;25 FemModel* fem_ds=NULL;26 FemModel* fem_sl=NULL;27 int isstokes;28 23 29 24 NodeSets* nodesets=NULL; … … 34 29 Vec partition_shifted=NULL; 35 30 double* serial_partition=NULL; 36 37 31 double* serial_ug=NULL; 38 32 double* serial_pg=NULL; 33 int u_g_size; 34 int p_g_size; 39 35 int one=1; 40 int gsize;41 36 int nods; 42 37 43 38 /*recover fem models: */ 44 39 fem_dh=femmodels+0; 45 fem_dv=femmodels+1;46 fem_ds=femmodels+2;47 fem_dhu=femmodels+3;48 fem_sl=femmodels+4;49 40 50 fem_ds->parameters->FindParam((void*)&isstokes,"isstokes");51 52 41 /*Recover diagnostic horiz femmodel: */ 53 42 partition=fem_dh->partition; 54 43 55 if(isstokes){56 nodesets=fem_ds->nodesets;57 }58 else{59 nodesets=fem_dh->nodesets;60 }61 62 63 44 /*serialize outputs: */ 64 45 VecDuplicate(partition,&partition_shifted); 65 46 VecCopy(partition,partition_shifted); 66 47 VecShift(partition_shifted,1.0); //matlab indexing starts at 1 48 67 49 VecToMPISerial(&serial_partition,partition_shifted); 68 50 VecGetSize(partition,&nods); 69 51 70 52 VecToMPISerial(&serial_ug,u_g); 53 VecGetSize(u_g,&u_g_size); 54 71 55 VecToMPISerial(&serial_pg,p_g); 56 VecGetSize(p_g,&p_g_size); 72 57 73 58 /* Open output file to write raw binary data: */ … … 78 63 WriteDataToDisk(analysis_type,NULL,NULL,"String",fid); 79 64 80 /*Write uset.gsize: */81 gsize=nodesets->GetGSize();82 WriteDataToDisk(&gsize,NULL,NULL,"Integer",fid);83 84 65 /*Write partition: */ 85 66 WriteDataToDisk(serial_partition,&nods,&one,"Mat",fid); 86 67 87 68 /*Write solution to disk: */ 88 WriteDataToDisk(serial_ug,&gsize,&one,"Mat",fid); 89 90 /*Write pressure to disk, when running in stokes: */ 91 if(isstokes){ 92 WriteDataToDisk(serial_pg,&nods,&one,"Mat",fid); 93 } 69 WriteDataToDisk(serial_ug,&u_g_size,&one,"Mat",fid); 70 WriteDataToDisk(serial_pg,&p_g_size,&one,"Mat",fid); 94 71 95 72 /*Close file: */ -
issm/trunk/src/c/parallel/OutputThermal.cpp
r472 r508 21 21 22 22 /*intermediary: */ 23 FemModel femmodel;23 FemModel* fem=NULL; 24 24 NodeSets* nodesets=NULL; 25 25 Vec partition=NULL; … … 31 31 32 32 double* serial_tg=NULL; 33 int t_g_size; 33 34 double* serial_mg=NULL; 34 35 … … 38 39 39 40 int one=1; 40 int gsize;41 41 int nods; 42 42 43 43 /*Recover thermal horiz femmodel: */ 44 femmodel=femmodels[0]; 45 partition=femmodel.partition; 46 nodesets=femmodel.nodesets; 44 fem=femmodels+0; 45 46 partition=fem->partition; 47 nodesets=fem->nodesets; 47 48 48 fem models[0].parameters->FindParam((void*)&dt,"dt");49 fem models[0].parameters->FindParam((void*)&ndt,"ndt");50 fem models[0].parameters->FindParam((void*)&sub_analysis_type,"sub_analysis_type");49 fem->parameters->FindParam((void*)&dt,"dt"); 50 fem->parameters->FindParam((void*)&ndt,"ndt"); 51 fem->parameters->FindParam((void*)&sub_analysis_type,"sub_analysis_type"); 51 52 52 53 /*serialize outputs: */ … … 54 55 VecCopy(partition,partition_shifted); 55 56 VecShift(partition_shifted,1.0); //matlab indexing starts at 1 57 56 58 VecToMPISerial(&serial_partition,partition_shifted); 57 59 VecGetSize(partition,&nods); … … 71 73 WriteDataToDisk(analysis_type,NULL,NULL,"String",fid); 72 74 73 /*Write uset.gsize: */74 gsize=nodesets->GetGSize();75 WriteDataToDisk(&gsize,NULL,NULL,"Integer",fid);76 77 75 /*Write partition: */ 78 76 WriteDataToDisk(serial_partition,&nods,&one,"Mat",fid); … … 89 87 VecToMPISerial(&serial_mg,m_g[i]); 90 88 91 WriteDataToDisk(serial_tg,& gsize,&one,"Mat",fid);92 WriteDataToDisk(serial_mg,& gsize,&one,"Mat",fid);89 WriteDataToDisk(serial_tg,&nods,&one,"Mat",fid); 90 WriteDataToDisk(serial_mg,&nods,&one,"Mat",fid); 93 91 } 94 92
Note:
See TracChangeset
for help on using the changeset viewer.