Changeset 1648
- Timestamp:
- 08/11/09 15:12:47 (16 years ago)
- Location:
- issm/trunk/src/c
- Files:
-
- 21 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk/src/c/ModelProcessorx/CreateDataSets.cpp
r1120 r1648 14 14 #include "./Model.h" 15 15 #include "../shared/shared.h" 16 #include "../EnumDefinitions/EnumDefinitions.h" 16 17 17 18 … … 24 25 25 26 /*This is just a high level driver: */ 26 if ( strcmp(model->analysis_type,"control")==0){27 if (model->analysis_type==ControlAnalysisEnum()){ 27 28 28 if ( strcmp(model->sub_analysis_type,"horiz")==0){29 if (model->sub_analysis_type==HorizAnalysisEnum()){ 29 30 30 31 CreateElementsNodesAndMaterialsDiagnosticHoriz(pelements,pnodes,pmaterials, model,model_handle); … … 34 35 35 36 } 36 else if ( strcmp(model->sub_analysis_type,"vert")==0){37 else if (model->sub_analysis_type==VertAnalysisEnum()){ 37 38 38 39 CreateElementsNodesAndMaterialsDiagnosticVert(pelements,pnodes,pmaterials, model,model_handle); … … 41 42 42 43 } 43 else if ( strcmp(model->sub_analysis_type,"stokes")==0){44 else if (model->sub_analysis_type==StokesAnalysisEnum()){ 44 45 45 46 CreateElementsNodesAndMaterialsDiagnosticStokes(pelements,pnodes,pmaterials, model,model_handle); … … 49 50 50 51 } 51 else if ( strcmp(model->sub_analysis_type,"hutter")==0){52 else if (model->sub_analysis_type==HutterAnalysisEnum()){ 52 53 53 54 CreateElementsNodesAndMaterialsDiagnosticHutter(pelements,pnodes,pmaterials, model,model_handle); … … 59 60 60 61 } 61 else if ( strcmp(model->analysis_type,"diagnostic")==0){62 else if (model->analysis_type==DiagnosticAnalysisEnum()){ 62 63 63 if ( strcmp(model->sub_analysis_type,"horiz")==0){64 if (model->sub_analysis_type==HorizAnalysisEnum()){ 64 65 65 66 CreateElementsNodesAndMaterialsDiagnosticHoriz(pelements,pnodes,pmaterials, model,model_handle); … … 69 70 70 71 } 71 else if ( strcmp(model->sub_analysis_type,"vert")==0){72 else if (model->sub_analysis_type==VertAnalysisEnum()){ 72 73 73 74 CreateElementsNodesAndMaterialsDiagnosticVert(pelements,pnodes,pmaterials, model,model_handle); … … 76 77 77 78 } 78 else if ( strcmp(model->sub_analysis_type,"stokes")==0){79 else if (model->sub_analysis_type==StokesAnalysisEnum()){ 79 80 80 81 CreateElementsNodesAndMaterialsDiagnosticStokes(pelements,pnodes,pmaterials, model,model_handle); … … 83 84 84 85 } 85 else if ( strcmp(model->sub_analysis_type,"hutter")==0){86 else if (model->sub_analysis_type==HutterAnalysisEnum()){ 86 87 87 88 CreateElementsNodesAndMaterialsDiagnosticHutter(pelements,pnodes,pmaterials, model,model_handle); … … 91 92 } 92 93 } 93 else if ( strcmp(model->analysis_type,"slope_compute")==0){94 else if (model->analysis_type==SlopeComputeAnalysisEnum()){ 94 95 95 96 CreateElementsNodesAndMaterialsSlopeCompute(pelements,pnodes,pmaterials, model,model_handle); … … 98 99 99 100 } 100 else if ( strcmp(model->analysis_type,"thermal")==0){101 else if (model->analysis_type==ThermalAnalysisEnum()){ 101 102 102 103 CreateElementsNodesAndMaterialsThermal(pelements,pnodes,pmaterials, model,model_handle); … … 106 107 107 108 } 108 else if ( strcmp(model->analysis_type,"melting")==0){109 else if (model->analysis_type==MeltingAnalysisEnum()){ 109 110 110 111 CreateElementsNodesAndMaterialsMelting(pelements,pnodes,pmaterials, model,model_handle); … … 113 114 CreateParametersMelting(pparameters,model,model_handle); 114 115 } 115 else if ( strcmp(model->analysis_type,"prognostic")==0){116 else if (model->analysis_type==PrognosticAnalysisEnum()){ 116 117 117 118 CreateElementsNodesAndMaterialsPrognostic(pelements,pnodes,pmaterials, model,model_handle); … … 122 123 } 123 124 else{ 124 throw ErrorException(__FUNCT__,exprintf("%s% s%s%s"," analysis_type: ",model->analysis_type," sub_analysis_type: ",model->sub_analysis_type," not supported yet!"));125 throw ErrorException(__FUNCT__,exprintf("%s%i%s%i%s"," analysis_type: ",model->analysis_type," sub_analysis_type: ",model->sub_analysis_type," not supported yet!")); 125 126 } 126 127 -
issm/trunk/src/c/ModelProcessorx/CreateParameters.cpp
r765 r1648 21 21 Param* param = NULL; 22 22 int count=1; 23 int analysis_type;24 int sub_analysis_type;25 23 int numberofdofspernode; 26 24 int dim; … … 29 27 /*Initialize dataset: */ 30 28 parameters = new DataSet(ParametersEnum()); 31 32 //Get analysis_type: 33 analysis_type=AnalysisTypeAsEnum(model->analysis_type); 34 sub_analysis_type=AnalysisTypeAsEnum(model->sub_analysis_type); 35 29 30 //analysis and subanalysis 36 31 count++; 37 32 param= new Param(count,"analysis_type",INTEGER); 38 param->SetInteger( analysis_type);33 param->SetInteger(model->analysis_type); 39 34 parameters->AddObject(param); 40 35 41 36 count++; 42 37 param= new Param(count,"sub_analysis_type",INTEGER); 43 param->SetInteger( sub_analysis_type);38 param->SetInteger(model->sub_analysis_type); 44 39 parameters->AddObject(param); 45 40 … … 196 191 197 192 /*Deal with numberofdofspernode: */ 198 DistributeNumDofs(&numberofdofspernode, analysis_type,sub_analysis_type);193 DistributeNumDofs(&numberofdofspernode,model->analysis_type,model->sub_analysis_type); 199 194 200 195 count++; -
issm/trunk/src/c/ModelProcessorx/DiagnosticHoriz/CreateElementsNodesAndMaterialsDiagnosticHoriz.cpp
r1628 r1648 37 37 Matpar* matpar = NULL; 38 38 39 int analysis_type;40 int sub_analysis_type;41 42 39 /*output: */ 43 40 int* epart=NULL; //element partitioning. … … 154 151 if (!model->ismacayealpattyn)goto cleanup_and_return; 155 152 156 /*Get analysis_type: */157 analysis_type=AnalysisTypeAsEnum(model->analysis_type);158 sub_analysis_type=AnalysisTypeAsEnum(model->sub_analysis_type);159 160 161 153 /*Width of elements: */ 162 154 if(strcmp(model->meshtype,"2d")==0){ … … 583 575 584 576 /*Get number of dofs per node: */ 585 DistributeNumDofs(&node_numdofs, analysis_type,sub_analysis_type);577 DistributeNumDofs(&node_numdofs,model->analysis_type,model->sub_analysis_type); 586 578 587 579 for (i=0;i<model->numberofnodes;i++){ -
issm/trunk/src/c/ModelProcessorx/DiagnosticHutter/CreateElementsNodesAndMaterialsDiagnosticHutter.cpp
r1104 r1648 39 39 Sing* sing = NULL; 40 40 41 int analysis_type;42 int sub_analysis_type;43 44 41 /*output: */ 45 42 int* epart=NULL; //element partitioning. … … 118 115 if (!model->ishutter)goto cleanup_and_return; 119 116 120 /*Get analysis_type: */121 analysis_type=AnalysisTypeAsEnum(model->analysis_type);122 sub_analysis_type=AnalysisTypeAsEnum(model->sub_analysis_type);123 124 117 /*Width of elements: */ 125 118 if(strcmp(model->meshtype,"2d")==0){ … … 374 367 375 368 /*Get number of dofs per node: */ 376 DistributeNumDofs(&node_numdofs, analysis_type,sub_analysis_type);369 DistributeNumDofs(&node_numdofs,model->analysis_type,model->sub_analysis_type); 377 370 378 371 for (i=0;i<model->numberofnodes;i++){ -
issm/trunk/src/c/ModelProcessorx/DiagnosticStokes/CreateElementsNodesAndMaterialsDiagnosticStokes.cpp
r1628 r1648 37 37 Matpar* matpar = NULL; 38 38 39 int analysis_type;40 int sub_analysis_type;41 42 39 /*output: */ 43 40 int* epart=NULL; //element partitioning. … … 129 126 if (!model->isstokes)goto cleanup_and_return; 130 127 131 /*Get analysis_type: */132 analysis_type=AnalysisTypeAsEnum(model->analysis_type);133 sub_analysis_type=AnalysisTypeAsEnum(model->sub_analysis_type);134 135 128 /*Width of elements: */ 136 129 if(strcmp(model->meshtype,"2d")==0){ … … 413 406 414 407 /*Get number of dofs per node: */ 415 DistributeNumDofs(&node_numdofs, analysis_type,sub_analysis_type);408 DistributeNumDofs(&node_numdofs,model->analysis_type,model->sub_analysis_type); 416 409 417 410 for (i=0;i<model->numberofnodes;i++){ -
issm/trunk/src/c/ModelProcessorx/DiagnosticVert/CreateElementsNodesAndMaterialsDiagnosticVert.cpp
r1628 r1648 36 36 Matpar* matpar = NULL; 37 37 38 int analysis_type;39 int sub_analysis_type;40 41 38 /*output: */ 42 39 int* epart=NULL; //element partitioning. … … 138 135 if (strcmp(model->meshtype,"2d")==0)goto cleanup_and_return; 139 136 140 /*Get analysis_type: */141 analysis_type=AnalysisTypeAsEnum(model->analysis_type);142 sub_analysis_type=AnalysisTypeAsEnum(model->sub_analysis_type);143 144 137 #ifdef _PARALLEL_ 145 138 /*Determine parallel partitioning of elements: we use Metis for now. First load the data, then partition*/ … … 331 324 332 325 /*Get number of dofs per node: */ 333 DistributeNumDofs(&node_numdofs, analysis_type,sub_analysis_type);326 DistributeNumDofs(&node_numdofs,model->analysis_type,model->sub_analysis_type); 334 327 335 328 for (i=0;i<model->numberofnodes;i++){ -
issm/trunk/src/c/ModelProcessorx/Melting/CreateElementsNodesAndMaterialsMelting.cpp
r1628 r1648 35 35 Matice* matice = NULL; 36 36 Matpar* matpar = NULL; 37 38 int analysis_type;39 int sub_analysis_type;40 37 41 38 /*output: */ … … 125 122 materials = new DataSet(MaterialsEnum()); 126 123 127 /*Get analysis_type: */128 analysis_type=AnalysisTypeAsEnum(model->analysis_type);129 sub_analysis_type=AnalysisTypeAsEnum(model->sub_analysis_type);130 131 124 /*Width of elements: */ 132 125 if(strcmp(model->meshtype,"2d")==0)throw ErrorException(__FUNCT__," error message: 2d temperature computations not supported yet!"); … … 378 371 379 372 /*Get number of dofs per node: */ 380 DistributeNumDofs(&node_numdofs, analysis_type,sub_analysis_type);373 DistributeNumDofs(&node_numdofs,model->analysis_type,model->sub_analysis_type); 381 374 382 375 for (i=0;i<model->numberofnodes;i++){ -
issm/trunk/src/c/ModelProcessorx/Melting/CreateParametersMelting.cpp
r765 r1648 28 28 29 29 /* get initial melting if transient*/ 30 if( strcmp(model->sub_analysis_type,"transient")==0){30 if(model->sub_analysis_type==TransientAnalysisEnum()){ 31 31 32 32 /*Get melting: */ -
issm/trunk/src/c/ModelProcessorx/Model.cpp
r1628 r1648 35 35 model->repository=NULL; 36 36 model->meshtype=NULL; 37 model->analysis_type= NULL;38 model->sub_analysis_type= NULL;37 model->analysis_type=0; 38 model->sub_analysis_type=0; 39 39 model->qmu_analysis=0; 40 40 model->solverstring=NULL; … … 265 265 xfree((void**)&model->meshtype); 266 266 xfree((void**)&model->name); 267 xfree((void**)&model->analysis_type);268 xfree((void**)&model->sub_analysis_type);269 267 270 268 xfree((void**)&model->riftinfo); … … 303 301 304 302 /*In ModelInit, we get all the data that is not difficult to get, and that is small: */ 305 306 303 ModelFetchData((void**)&model->name,NULL,NULL,model_handle,"name","String",NULL); 307 ModelFetchData((void**)&model->analysis_type,NULL,NULL,model_handle,"analysis_type"," String",NULL);308 ModelFetchData((void**)&model->sub_analysis_type,NULL,NULL,model_handle,"sub_analysis_type"," String",NULL);304 ModelFetchData((void**)&model->analysis_type,NULL,NULL,model_handle,"analysis_type","Integer",NULL); 305 ModelFetchData((void**)&model->sub_analysis_type,NULL,NULL,model_handle,"sub_analysis_type","Integer",NULL); 309 306 ModelFetchData((void**)&model->qmu_analysis,NULL,NULL,model_handle,"qmu_analysis","Integer",NULL); 310 311 307 ModelFetchData((void**)&model->meshtype,NULL,NULL,model_handle,"type","String",NULL); 312 308 /*!Get numberofelements and numberofnodes: */ -
issm/trunk/src/c/ModelProcessorx/Model.h
r1628 r1648 16 16 char* repository; 17 17 char* meshtype; 18 char*analysis_type;19 char*sub_analysis_type;18 int analysis_type; 19 int sub_analysis_type; 20 20 int qmu_analysis; 21 21 char* solverstring; -
issm/trunk/src/c/ModelProcessorx/Prognostic/CreateElementsNodesAndMaterialsPrognostic.cpp
r1628 r1648 37 37 Matpar* matpar = NULL; 38 38 39 int analysis_type;40 int sub_analysis_type;41 42 39 /*output: */ 43 40 int* epart=NULL; //element partitioning. … … 148 145 materials = new DataSet(MaterialsEnum()); 149 146 150 151 /*Get analysis_type: */152 analysis_type=AnalysisTypeAsEnum(model->analysis_type);153 sub_analysis_type=AnalysisTypeAsEnum(model->sub_analysis_type);154 155 156 147 /*Width of elements: */ 157 148 if(strcmp(model->meshtype,"2d")==0){ … … 450 441 451 442 /*Get number of dofs per node: */ 452 DistributeNumDofs(&node_numdofs, analysis_type,sub_analysis_type);443 DistributeNumDofs(&node_numdofs,model->analysis_type,model->sub_analysis_type); 453 444 454 445 for (i=0;i<model->numberofnodes;i++){ -
issm/trunk/src/c/ModelProcessorx/SlopeCompute/CreateElementsNodesAndMaterialsSlopeCompute.cpp
r1628 r1648 35 35 Penta* penta = NULL; 36 36 37 int analysis_type;38 int sub_analysis_type;39 40 37 /*output: */ 41 38 int* epart=NULL; //element partitioning. … … 129 126 if (!model->isstokes & !model->ishutter)goto cleanup_and_return; 130 127 131 /*Get analysis_type: */132 analysis_type=AnalysisTypeAsEnum(model->analysis_type);133 sub_analysis_type=AnalysisTypeAsEnum(model->sub_analysis_type);134 135 128 /*Width of elements: */ 136 129 if(strcmp(model->meshtype,"2d")==0){ … … 389 382 390 383 /*Get number of dofs per node: */ 391 DistributeNumDofs(&node_numdofs, analysis_type,sub_analysis_type);384 DistributeNumDofs(&node_numdofs,model->analysis_type,model->sub_analysis_type); 392 385 393 386 for (i=0;i<model->numberofnodes;i++){ -
issm/trunk/src/c/ModelProcessorx/Thermal/CreateElementsNodesAndMaterialsThermal.cpp
r1628 r1648 37 37 Matpar* matpar = NULL; 38 38 39 int analysis_type;40 int sub_analysis_type;41 42 39 /*output: */ 43 40 int* epart=NULL; //element partitioning. … … 126 123 materials = new DataSet(MaterialsEnum()); 127 124 128 129 /*Get analysis_type: */130 analysis_type=AnalysisTypeAsEnum(model->analysis_type);131 sub_analysis_type=AnalysisTypeAsEnum(model->sub_analysis_type);132 133 125 /*Width of elements: */ 134 126 if(strcmp(model->meshtype,"2d")==0){ … … 380 372 381 373 /*Get number of dofs per node: */ 382 DistributeNumDofs(&node_numdofs, analysis_type,sub_analysis_type);374 DistributeNumDofs(&node_numdofs,model->analysis_type,model->sub_analysis_type); 383 375 384 376 for (i=0;i<model->numberofnodes;i++){ -
issm/trunk/src/c/ModelProcessorx/Thermal/CreateParametersThermal.cpp
r960 r1648 66 66 67 67 /* get initial temperature and melting if transient*/ 68 if( strcmp(model->sub_analysis_type,"transient")==0){68 if(model->sub_analysis_type==TransientAnalysisEnum()){ 69 69 70 70 /*Get melting and temperature: */ -
issm/trunk/src/c/parallel/CreateFemModel.cpp
r614 r1648 10 10 #include "../issm.h" 11 11 12 void CreateFemModel(FemModel* femmodel,ConstDataHandle MODEL, char* analysis_type,char*sub_analysis_type){12 void CreateFemModel(FemModel* femmodel,ConstDataHandle MODEL,int analysis_type,int sub_analysis_type){ 13 13 14 14 /*Model output: */ … … 36 36 37 37 _printf_(" specifying analysis\n"); 38 if (analysis_type!= NULL){39 model->analysis_type= (char*)xmalloc((strlen(analysis_type)+1)*sizeof(char)); strcpy(model->analysis_type,analysis_type);38 if (analysis_type!=0){ 39 model->analysis_type=analysis_type; 40 40 } 41 if (sub_analysis_type!= NULL){42 model->sub_analysis_type= (char*)xmalloc((strlen(sub_analysis_type)+1)*sizeof(char)); strcpy(model->sub_analysis_type,sub_analysis_type);41 if (sub_analysis_type!=0){ 42 model->sub_analysis_type=sub_analysis_type; 43 43 } 44 44 -
issm/trunk/src/c/parallel/control.cpp
r1271 r1648 64 64 _printf_("read and create finite element model:\n"); 65 65 _printf_("\n reading control horiz model data:\n"); 66 CreateFemModel(&femmodels[0],fid, "control","horiz");66 CreateFemModel(&femmodels[0],fid,ControlAnalysisEnum(),HorizAnalysisEnum()); 67 67 _printf_("\n reading control vert model data:\n"); 68 CreateFemModel(&femmodels[1],fid, "control","vert");68 CreateFemModel(&femmodels[1],fid,ControlAnalysisEnum(),VertAnalysisEnum()); 69 69 _printf_("\n reading control stokes model data:\n"); 70 CreateFemModel(&femmodels[2],fid, "control","stokes");70 CreateFemModel(&femmodels[2],fid,ControlAnalysisEnum(),StokesAnalysisEnum()); 71 71 _printf_("\n reading control hutter model data:\n"); 72 CreateFemModel(&femmodels[3],fid, "control","hutter");72 CreateFemModel(&femmodels[3],fid,ControlAnalysisEnum(),HutterAnalysisEnum()); 73 73 _printf_("\n reading surface and bed slope computation model data:\n"); 74 CreateFemModel(&femmodels[4],fid, "slope_compute","");74 CreateFemModel(&femmodels[4],fid,SlopeComputeAnalysisEnum(),NoneAnalysisEnum()); 75 75 76 76 _printf_("initialize inputs:\n"); -
issm/trunk/src/c/parallel/diagnostic.cpp
r1271 r1648 61 61 _printf_("read and create finite element model:\n"); 62 62 _printf_("\n reading diagnostic horiz model data:\n"); 63 CreateFemModel(&femmodels[0],fid, "diagnostic","horiz");63 CreateFemModel(&femmodels[0],fid,DiagnosticAnalysisEnum(),HorizAnalysisEnum()); 64 64 _printf_("\n reading diagnostic vert model data:\n"); 65 CreateFemModel(&femmodels[1],fid, "diagnostic","vert");65 CreateFemModel(&femmodels[1],fid,DiagnosticAnalysisEnum(),VertAnalysisEnum()); 66 66 _printf_("\n reading diagnostic stokes model data:\n"); 67 CreateFemModel(&femmodels[2],fid, "diagnostic","stokes");67 CreateFemModel(&femmodels[2],fid,DiagnosticAnalysisEnum(),StokesAnalysisEnum()); 68 68 _printf_("\n reading diagnostic hutter model data:\n"); 69 CreateFemModel(&femmodels[3],fid, "diagnostic","hutter");69 CreateFemModel(&femmodels[3],fid,DiagnosticAnalysisEnum(),HutterAnalysisEnum()); 70 70 _printf_("\n reading surface and bed slope computation model data:\n"); 71 CreateFemModel(&femmodels[4],fid,"slope_compute",""); 72 71 CreateFemModel(&femmodels[4],fid,SlopeComputeAnalysisEnum(),NoneAnalysisEnum()); 73 72 74 73 _printf_("initialize inputs:\n"); -
issm/trunk/src/c/parallel/parallel.h
r1265 r1648 43 43 void ControlTemporaryResults(FemModel* fems,double* param_g,double* J,int n,ParameterInputs* inputs); 44 44 45 void CreateFemModel(FemModel* femmodel,ConstDataHandle MODEL, char* analysis_type,char*sub_analysis_type);45 void CreateFemModel(FemModel* femmodel,ConstDataHandle MODEL,int analysis_type,int sub_analysis_type); 46 46 //int BatchDebug(Mat* Kgg,Vec* pg,FemModel* femmodel,char* filename); 47 47 void ProcessResults(DataSet** presults,FemModel* fems,int analysis_type); -
issm/trunk/src/c/parallel/prognostic.cpp
r1271 r1648 65 65 66 66 _printf_("read and create finite element model:\n"); 67 CreateFemModel(&fem,fid, "prognostic","");67 CreateFemModel(&fem,fid,PrognosticAnalysisEnum(),NoneAnalysisEnum()); 68 68 69 69 //retrieve parameters used to fill inputs -
issm/trunk/src/c/parallel/thermal.cpp
r1271 r1648 64 64 65 65 _printf_("read and create thermal finite element model:\n"); 66 CreateFemModel(&femmodels[0],fid, "thermal",NULL);66 CreateFemModel(&femmodels[0],fid,ThermalAnalysisEnum(),0); 67 67 _printf_("read and create melting finite element model:\n"); 68 CreateFemModel(&femmodels[1],fid, "melting",NULL);68 CreateFemModel(&femmodels[1],fid,MeltingAnalysisEnum(),0); 69 69 70 70 _printf_("initialize inputs:\n"); -
issm/trunk/src/c/parallel/transient.cpp
r1271 r1648 66 66 _printf_("read and create finite element model:\n"); 67 67 _printf_("\n reading diagnostic horiz model data:\n"); 68 CreateFemModel(&femmodels[0],fid, "diagnostic","horiz");68 CreateFemModel(&femmodels[0],fid,DiagnosticAnalysisEnum(),HorizAnalysisEnum()); 69 69 _printf_("\n reading diagnostic vert model data:\n"); 70 CreateFemModel(&femmodels[1],fid, "diagnostic","vert");70 CreateFemModel(&femmodels[1],fid,DiagnosticAnalysisEnum(),VertAnalysisEnum()); 71 71 _printf_("\n reading diagnostic stokes model data:\n"); 72 CreateFemModel(&femmodels[2],fid, "diagnostic","stokes");72 CreateFemModel(&femmodels[2],fid,DiagnosticAnalysisEnum(),StokesAnalysisEnum()); 73 73 _printf_("\n reading diagnostic hutter model data:\n"); 74 CreateFemModel(&femmodels[3],fid, "diagnostic","hutter");74 CreateFemModel(&femmodels[3],fid,DiagnosticAnalysisEnum(),HutterAnalysisEnum()); 75 75 _printf_("\n reading surface and bed slope computation model data:\n"); 76 CreateFemModel(&femmodels[4],fid, "slope_compute","");76 CreateFemModel(&femmodels[4],fid,SlopeComputeAnalysisEnum(),NoneAnalysisEnum()); 77 77 _printf_("\n reading prognositc model data:\n"); 78 CreateFemModel(&femmodels[5],fid, "prognostic","");78 CreateFemModel(&femmodels[5],fid,PrognosticAnalysisEnum(),NoneAnalysisEnum()); 79 79 80 80 /*Do we run in 3d?, in which case we need thermal and melting also:*/ … … 82 82 if(dim==3){ 83 83 _printf_("read and create thermal finite element model:\n"); 84 CreateFemModel(&femmodels[6],fid, "thermal","transient");84 CreateFemModel(&femmodels[6],fid,ThermalAnalysisEnum(),TransientAnalysisEnum()); 85 85 _printf_("read and create melting finite element model:\n"); 86 CreateFemModel(&femmodels[7],fid, "melting","transient");86 CreateFemModel(&femmodels[7],fid,MeltingAnalysisEnum(),TransientAnalysisEnum()); 87 87 } 88 88
Note:
See TracChangeset
for help on using the changeset viewer.