Changeset 3086
- Timestamp:
- 02/23/10 11:06:53 (15 years ago)
- Location:
- issm/trunk/src/c
- Files:
-
- 2 added
- 18 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk/src/c/EnumDefinitions/EnumDefinitions.cpp
r2722 r3086 34 34 int TransientAnalysisEnum(void){ return 231; } 35 35 //slope 36 int Slope ComputeAnalysisEnum(void){ return 240; }36 int SlopecomputeAnalysisEnum(void){ return 240; } 37 37 int SurfaceXAnalysisEnum(void){ return 241; } 38 38 int SurfaceYAnalysisEnum(void){ return 242; } -
issm/trunk/src/c/EnumDefinitions/EnumDefinitions.h
r2722 r3086 35 35 int TransientAnalysisEnum(void); 36 36 //slope 37 int Slope ComputeAnalysisEnum(void);37 int SlopecomputeAnalysisEnum(void); 38 38 int SurfaceXAnalysisEnum(void); 39 39 int SurfaceYAnalysisEnum(void); -
issm/trunk/src/c/Makefile.am
r3050 r3086 656 656 ./parallel/balancedthickness_core.cpp\ 657 657 ./parallel/balancedvelocities_core.cpp\ 658 ./parallel/slopecompute_core.cpp\ 658 659 ./parallel/transient_core.cpp\ 659 660 ./parallel/transient_core_2d.cpp\ … … 686 687 bin_PROGRAMS = 687 688 else 688 bin_PROGRAMS = diagnostic.exe thermal.exe prognostic.exe balancedthickness.exe balancedvelocities.exe transient.exe steadystate.exe 689 bin_PROGRAMS = diagnostic.exe thermal.exe prognostic.exe balancedthickness.exe balancedvelocities.exe transient.exe steadystate.exe slopecompute.exe 689 690 endif 690 691 … … 709 710 balancedvelocities_exe_CXXFLAGS= -fPIC -D_PARALLEL_ 710 711 712 slopecompute_exe_SOURCES = parallel/slopecompute.cpp 713 slopecompute_exe_CXXFLAGS= -fPIC -D_PARALLEL_ 714 711 715 transient_exe_SOURCES = parallel/transient.cpp 712 716 transient_exe_CXXFLAGS= -fPIC -D_PARALLEL_ -
issm/trunk/src/c/ModelProcessorx/CreateDataSets.cpp
r2722 r3086 56 56 } 57 57 } 58 else if (iomodel->analysis_type==Slope ComputeAnalysisEnum()){58 else if (iomodel->analysis_type==SlopecomputeAnalysisEnum()){ 59 59 60 60 CreateElementsNodesAndMaterialsSlopeCompute(pelements,pnodes,pmaterials, iomodel,iomodel_handle); -
issm/trunk/src/c/objects/Penta.cpp
r3041 r3086 313 313 else throw ErrorException(__FUNCT__,exprintf("%s%i%s\n","sub_analysis: ",sub_analysis_type," not supported yet")); 314 314 } 315 else if (analysis_type==Slope ComputeAnalysisEnum()){315 else if (analysis_type==SlopecomputeAnalysisEnum()){ 316 316 317 317 CreateKMatrixSlopeCompute( Kgg,inputs,analysis_type,sub_analysis_type); … … 1425 1425 else throw ErrorException(__FUNCT__,exprintf("%s%i%s\n","sub_analysis: ",sub_analysis_type," not supported yet")); 1426 1426 } 1427 else if (analysis_type==Slope ComputeAnalysisEnum()){1427 else if (analysis_type==SlopecomputeAnalysisEnum()){ 1428 1428 1429 1429 CreatePVectorSlopeCompute( pg,inputs,analysis_type,sub_analysis_type); -
issm/trunk/src/c/objects/Tria.cpp
r3049 r3086 288 288 289 289 } 290 else if (analysis_type==Slope ComputeAnalysisEnum()){290 else if (analysis_type==SlopecomputeAnalysisEnum()){ 291 291 292 292 CreateKMatrixSlopeCompute( Kgg,inputs,analysis_type,sub_analysis_type); … … 1755 1755 else throw ErrorException(__FUNCT__,exprintf("%s%i%s\n","sub_analysis: ",sub_analysis_type," not supported yet")); 1756 1756 } 1757 else if (analysis_type==Slope ComputeAnalysisEnum()){1757 else if (analysis_type==SlopecomputeAnalysisEnum()){ 1758 1758 1759 1759 CreatePVectorSlopeCompute( pg,inputs,analysis_type,sub_analysis_type); -
issm/trunk/src/c/parallel/ControlInitialization.cpp
r2333 r3086 67 67 fem_ds=model->GetFormulation(DiagnosticAnalysisEnum(),StokesAnalysisEnum()); 68 68 fem_dhu=model->GetFormulation(DiagnosticAnalysisEnum(),HutterAnalysisEnum()); 69 fem_sl=model->GetFormulation(Slope ComputeAnalysisEnum());69 fem_sl=model->GetFormulation(SlopecomputeAnalysisEnum()); 70 70 71 71 //specific parameters for specific models … … 84 84 //compute slopes 85 85 if(verbose)_printf_("%s\n","computing bed slope (x and y derivatives)..."); 86 diagnostic_core_linear(&slopex,fem_sl,inputs,Slope ComputeAnalysisEnum(),BedXAnalysisEnum());87 diagnostic_core_linear(&slopey,fem_sl,inputs,Slope ComputeAnalysisEnum(),BedYAnalysisEnum());86 diagnostic_core_linear(&slopex,fem_sl,inputs,SlopecomputeAnalysisEnum(),BedXAnalysisEnum()); 87 diagnostic_core_linear(&slopey,fem_sl,inputs,SlopecomputeAnalysisEnum(),BedYAnalysisEnum()); 88 88 FieldExtrudex( slopex, fem_sl->elements,fem_sl->nodes,fem_sl->loads,fem_sl->materials,fem_sl->parameters,"slopex",0); 89 89 FieldExtrudex( slopey, fem_sl->elements,fem_sl->nodes,fem_sl->loads,fem_sl->materials,fem_sl->parameters,"slopey",0); -
issm/trunk/src/c/parallel/ProcessResults.cpp
r2892 r3086 75 75 double* surface=NULL; 76 76 77 Vec sx_g=NULL; 78 double* sx_g_serial=NULL; 79 double* slopex=NULL; 80 81 Vec sy_g=NULL; 82 double* sy_g_serial=NULL; 83 double* slopey=NULL; 84 77 85 Vec b_g=NULL; 78 86 double* b_g_serial=NULL; … … 115 123 fem_ds=model->GetFormulation(DiagnosticAnalysisEnum(),StokesAnalysisEnum()); 116 124 fem_dhu=model->GetFormulation(DiagnosticAnalysisEnum(),HutterAnalysisEnum()); 117 fem_sl=model->GetFormulation(Slope ComputeAnalysisEnum());125 fem_sl=model->GetFormulation(SlopecomputeAnalysisEnum()); 118 126 if(analysis_type==PrognosticAnalysisEnum()){ 119 127 fem_p=model->GetFormulation(PrognosticAnalysisEnum()); … … 407 415 VecFree(&s_g); 408 416 } 417 else if(strcmp(result->GetFieldName(),"sx_g")==0){ 418 /*easy, s_g is of size numberofnodes, on 1 dof, just repartition: */ 419 result->GetField(&sx_g); 420 VecToMPISerial(&sx_g_serial,sx_g); 421 fem_sl->parameters->FindParam(&numberofnodes,"numberofnodes"); 422 VecToMPISerial(&partition,fem_sl->partition->vector); 423 424 slopex=(double*)xmalloc(numberofnodes*sizeof(double)); 425 426 for(i=0;i<numberofnodes;i++){ 427 slopex[i]=sx_g_serial[(int)partition[i]]; 428 } 429 430 /*Ok, add pressure to newresults: */ 431 newresult=new Result(newresults->Size()+1,result->GetTime(),result->GetStep(),"slopex",slopex,numberofnodes); 432 newresults->AddObject(newresult); 433 434 /*do some cleanup: */ 435 xfree((void**)&sx_g_serial); 436 xfree((void**)&partition); 437 xfree((void**)&slopex); 438 VecFree(&sx_g); 439 } 440 else if(strcmp(result->GetFieldName(),"sy_g")==0){ 441 /*easy, s_g is of size numberofnodes, on 1 dof, just repartition: */ 442 result->GetField(&sy_g); 443 VecToMPISerial(&sy_g_serial,sy_g); 444 fem_sl->parameters->FindParam(&numberofnodes,"numberofnodes"); 445 VecToMPISerial(&partition,fem_sl->partition->vector); 446 447 slopey=(double*)xmalloc(numberofnodes*sizeof(double)); 448 449 for(i=0;i<numberofnodes;i++){ 450 slopey[i]=sy_g_serial[(int)partition[i]]; 451 } 452 453 /*Ok, add pressure to newresults: */ 454 newresult=new Result(newresults->Size()+1,result->GetTime(),result->GetStep(),"slopey",slopey,numberofnodes); 455 newresults->AddObject(newresult); 456 457 /*do some cleanup: */ 458 xfree((void**)&sy_g_serial); 459 xfree((void**)&partition); 460 xfree((void**)&slopey); 461 VecFree(&sy_g); 462 } 409 463 else if(strcmp(result->GetFieldName(),"b_g")==0){ 410 464 /*easy, b_g is of size numberofnodes, on 1 dof, just repartition: */ -
issm/trunk/src/c/parallel/balancedthickness.cpp
r2715 r3086 143 143 delete processedresults; 144 144 delete results; 145 delete model;146 145 delete inputs; 147 146 -
issm/trunk/src/c/parallel/diagnostic.cpp
r3044 r3086 90 90 91 91 _printf_("\n reading surface and bed slope computation model data:\n"); 92 model->AddFormulation(fid,Slope ComputeAnalysisEnum());92 model->AddFormulation(fid,SlopecomputeAnalysisEnum()); 93 93 94 94 /*get parameters: */ -
issm/trunk/src/c/parallel/diagnostic_core.cpp
r2333 r3086 77 77 fem_ds=model->GetFormulation(DiagnosticAnalysisEnum(),StokesAnalysisEnum()); 78 78 fem_dhu=model->GetFormulation(DiagnosticAnalysisEnum(),HutterAnalysisEnum()); 79 fem_sl=model->GetFormulation(Slope ComputeAnalysisEnum());79 fem_sl=model->GetFormulation(SlopecomputeAnalysisEnum()); 80 80 81 81 //specific parameters for specific models … … 93 93 94 94 if(verbose)_printf_("%s\n","computing surface slope (x and y derivatives)..."); 95 diagnostic_core_linear(&slopex,fem_sl,inputs,Slope ComputeAnalysisEnum(),SurfaceXAnalysisEnum());96 diagnostic_core_linear(&slopey,fem_sl,inputs,Slope ComputeAnalysisEnum(),SurfaceYAnalysisEnum());95 diagnostic_core_linear(&slopex,fem_sl,inputs,SlopecomputeAnalysisEnum(),SurfaceXAnalysisEnum()); 96 diagnostic_core_linear(&slopey,fem_sl,inputs,SlopecomputeAnalysisEnum(),SurfaceYAnalysisEnum()); 97 97 98 98 if (dim==3){ … … 161 161 162 162 if(verbose)_printf_("%s\n","computing bed slope (x and y derivatives)..."); 163 diagnostic_core_linear(&slopex,fem_sl,inputs,Slope ComputeAnalysisEnum(),BedXAnalysisEnum());164 diagnostic_core_linear(&slopey,fem_sl,inputs,Slope ComputeAnalysisEnum(),BedYAnalysisEnum());163 diagnostic_core_linear(&slopex,fem_sl,inputs,SlopecomputeAnalysisEnum(),BedXAnalysisEnum()); 164 diagnostic_core_linear(&slopey,fem_sl,inputs,SlopecomputeAnalysisEnum(),BedYAnalysisEnum()); 165 165 FieldExtrudex( slopex, fem_sl->elements,fem_sl->nodes,fem_sl->loads,fem_sl->materials,fem_sl->parameters,"slopex",0); 166 166 FieldExtrudex( slopey, fem_sl->elements,fem_sl->nodes,fem_sl->loads,fem_sl->materials,fem_sl->parameters,"slopey",0); -
issm/trunk/src/c/parallel/parallel.h
r2722 r3086 19 19 void balancedthickness_core(DataSet* results,Model* model, ParameterInputs* inputs); 20 20 void balancedvelocities_core(DataSet* results,Model* model, ParameterInputs* inputs); 21 void slopecompute_core(DataSet* results,Model* model, ParameterInputs* inputs); 21 22 void control_core(DataSet* results,Model* model, ParameterInputs* inputs); 22 23 -
issm/trunk/src/c/parallel/steadystate.cpp
r2586 r3086 93 93 94 94 _printf_("\n reading surface and bed slope computation model data:\n"); 95 model->AddFormulation(fid,Slope ComputeAnalysisEnum());95 model->AddFormulation(fid,SlopecomputeAnalysisEnum()); 96 96 97 97 _printf_("\n read and create thermal finite element model:\n"); -
issm/trunk/src/c/parallel/steadystate_core.cpp
r2333 r3086 58 58 fem_ds=model->GetFormulation(DiagnosticAnalysisEnum(),StokesAnalysisEnum()); 59 59 fem_dhu=model->GetFormulation(DiagnosticAnalysisEnum(),HutterAnalysisEnum()); 60 fem_sl=model->GetFormulation(Slope ComputeAnalysisEnum());60 fem_sl=model->GetFormulation(SlopecomputeAnalysisEnum()); 61 61 fem_t=model->GetFormulation(ThermalAnalysisEnum()); 62 62 fem_m=model->GetFormulation(MeltingAnalysisEnum()); -
issm/trunk/src/c/parallel/transient.cpp
r2629 r3086 91 91 92 92 _printf_("\n reading surface and bed slope computation model data:\n"); 93 model->AddFormulation(fid,Slope ComputeAnalysisEnum());93 model->AddFormulation(fid,SlopecomputeAnalysisEnum()); 94 94 95 95 _printf_("\n reading prognositc model data:\n"); -
issm/trunk/src/c/parallel/transient_core_2d.cpp
r2333 r3086 70 70 fem_ds=model->GetFormulation(DiagnosticAnalysisEnum(),StokesAnalysisEnum()); 71 71 fem_dhu=model->GetFormulation(DiagnosticAnalysisEnum(),HutterAnalysisEnum()); 72 fem_sl=model->GetFormulation(Slope ComputeAnalysisEnum());72 fem_sl=model->GetFormulation(SlopecomputeAnalysisEnum()); 73 73 fem_p=model->GetFormulation(PrognosticAnalysisEnum()); 74 74 -
issm/trunk/src/c/parallel/transient_core_3d.cpp
r2333 r3086 74 74 fem_ds=model->GetFormulation(DiagnosticAnalysisEnum(),StokesAnalysisEnum()); 75 75 fem_dhu=model->GetFormulation(DiagnosticAnalysisEnum(),HutterAnalysisEnum()); 76 fem_sl=model->GetFormulation(Slope ComputeAnalysisEnum());76 fem_sl=model->GetFormulation(SlopecomputeAnalysisEnum()); 77 77 fem_p=model->GetFormulation(PrognosticAnalysisEnum()); 78 78 fem_t=model->GetFormulation(ThermalAnalysisEnum()); -
issm/trunk/src/c/shared/Dofs/DistributeNumDofs.cpp
r2722 r3086 44 44 } 45 45 } 46 else if (analysis_type==Slope ComputeAnalysisEnum()){46 else if (analysis_type==SlopecomputeAnalysisEnum()){ 47 47 numdofs=1; 48 48 }
Note:
See TracChangeset
for help on using the changeset viewer.