Changeset 9218
- Timestamp:
- 08/09/11 11:50:24 (14 years ago)
- Location:
- issm/trunk/src
- Files:
-
- 2 added
- 5 deleted
- 20 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk/src/c/EnumDefinitions/EnumDefinitions.h
r9128 r9218 65 65 BalancethicknessSolutionEnum, 66 66 BalancethicknessAnalysisEnum, 67 BalancevelocitiesSolutionEnum,68 BalancevelocitiesAnalysisEnum,67 Fake31Enum, 68 Fake32Enum, 69 69 PrognosticSolutionEnum, 70 70 PrognosticAnalysisEnum, -
issm/trunk/src/c/Makefile.am
r9206 r9218 484 484 ./modules/ModelProcessorx/Balancethickness/CreateConstraintsBalancethickness.cpp\ 485 485 ./modules/ModelProcessorx/Balancethickness/CreateLoadsBalancethickness.cpp\ 486 ./modules/ModelProcessorx/Balancevelocities/UpdateElementsBalancevelocities.cpp\487 ./modules/ModelProcessorx/Balancevelocities/CreateNodesBalancevelocities.cpp\488 ./modules/ModelProcessorx/Balancevelocities/CreateConstraintsBalancevelocities.cpp\489 ./modules/ModelProcessorx/Balancevelocities/CreateLoadsBalancevelocities.cpp\490 486 ./modules/ModelProcessorx/Transient/UpdateElementsTransient.cpp\ 491 487 ./modules/ModelProcessorx/Qmu/CreateParametersQmu.cpp\ … … 1175 1171 ./modules/ModelProcessorx/Balancethickness/CreateConstraintsBalancethickness.cpp\ 1176 1172 ./modules/ModelProcessorx/Balancethickness/CreateLoadsBalancethickness.cpp\ 1177 ./modules/ModelProcessorx/Balancevelocities/UpdateElementsBalancevelocities.cpp\1178 ./modules/ModelProcessorx/Balancevelocities/CreateNodesBalancevelocities.cpp\1179 ./modules/ModelProcessorx/Balancevelocities/CreateConstraintsBalancevelocities.cpp\1180 ./modules/ModelProcessorx/Balancevelocities/CreateLoadsBalancevelocities.cpp\1181 1173 ./modules/ModelProcessorx/Transient/UpdateElementsTransient.cpp\ 1182 1174 ./modules/ModelProcessorx/Qmu/CreateParametersQmu.cpp\ … … 1400 1392 ./solutions/prognostic_core.cpp\ 1401 1393 ./solutions/balancethickness_core.cpp\ 1402 ./solutions/balancevelocities_core.cpp\1403 1394 ./solutions/surfaceslope_core.cpp\ 1404 1395 ./solutions/bedslope_core.cpp\ -
issm/trunk/src/c/modules/EnumToStringx/EnumToStringx.cpp
r9129 r9218 58 58 case BalancethicknessSolutionEnum : return "BalancethicknessSolution"; 59 59 case BalancethicknessAnalysisEnum : return "BalancethicknessAnalysis"; 60 case BalancevelocitiesSolutionEnum : return "BalancevelocitiesSolution";61 case BalancevelocitiesAnalysisEnum : return "BalancevelocitiesAnalysis";60 case Fake31Enum : return "Fake31"; 61 case Fake32Enum : return "Fake32"; 62 62 case PrognosticSolutionEnum : return "PrognosticSolution"; 63 63 case PrognosticAnalysisEnum : return "PrognosticAnalysis"; -
issm/trunk/src/c/modules/ModelProcessorx/CreateDataSets.cpp
r8483 r9218 109 109 break; 110 110 111 case BalancevelocitiesAnalysisEnum:112 CreateNodesBalancevelocities(pnodes, iomodel,iomodel_handle);113 CreateConstraintsBalancevelocities(pconstraints,iomodel,iomodel_handle);114 CreateLoadsBalancevelocities(ploads,iomodel,iomodel_handle);115 UpdateElementsBalancevelocities(elements,iomodel,iomodel_handle,analysis_counter,analysis_type);116 break;117 111 default: 118 112 _error_("%s%s%s"," analysis_type: ",EnumToStringx(analysis_type)," not supported yet!"); -
issm/trunk/src/c/modules/ModelProcessorx/DistributeNumDofs.cpp
r8483 r9218 90 90 numdofs=1; 91 91 } 92 else if (analysis_type==BalancevelocitiesAnalysisEnum){93 numdofs=1;94 }95 92 else _error_("analysis type: %i (%s) not implemented yet",analysis_type,EnumToStringx(analysis_type)); 96 93 -
issm/trunk/src/c/modules/ModelProcessorx/ModelProcessorx.h
r8483 r9218 91 91 void UpdateElementsBalancethickness(Elements* elements,IoModel* iomodel,FILE* iomodel_handle,int analysis_counter,int analysis_type); 92 92 93 /*balancedvelocities:*/94 void CreateNodesBalancevelocities(Nodes** pnodes,IoModel* iomodel,FILE* iomodel_handle);95 void CreateConstraintsBalancevelocities(Constraints** pconstraints,IoModel* iomodel,FILE* iomodel_handle);96 void CreateLoadsBalancevelocities(Loads** ploads, IoModel* iomodel, FILE* iomodel_handle);97 void UpdateElementsBalancevelocities(Elements* elements,IoModel* iomodel,FILE* iomodel_handle,int analysis_counter,int analysis_type);98 99 93 /*transient: */ 100 94 void UpdateElementsTransient(Elements* elements,Parameters* parameters,IoModel* iomodel,FILE* iomodel_handle,int analysis_counter,int analysis_type); -
issm/trunk/src/c/modules/StringToEnumx/StringToEnumx.cpp
r9129 r9218 56 56 else if (strcmp(name,"BalancethicknessSolution")==0) return BalancethicknessSolutionEnum; 57 57 else if (strcmp(name,"BalancethicknessAnalysis")==0) return BalancethicknessAnalysisEnum; 58 else if (strcmp(name," BalancevelocitiesSolution")==0) return BalancevelocitiesSolutionEnum;59 else if (strcmp(name," BalancevelocitiesAnalysis")==0) return BalancevelocitiesAnalysisEnum;58 else if (strcmp(name,"Fake31")==0) return Fake31Enum; 59 else if (strcmp(name,"Fake32")==0) return Fake32Enum; 60 60 else if (strcmp(name,"PrognosticSolution")==0) return PrognosticSolutionEnum; 61 61 else if (strcmp(name,"PrognosticAnalysis")==0) return PrognosticAnalysisEnum; -
issm/trunk/src/c/objects/Elements/Penta.cpp
r9217 r9218 661 661 Ke=CreateKMatrixBalancethickness(); 662 662 break; 663 case BalancevelocitiesAnalysisEnum:664 Ke=CreateKMatrixBalancevelocities();665 break;666 663 case ThermalAnalysisEnum: 667 664 Ke=CreateKMatrixThermal(); … … 704 701 Tria* tria=(Tria*)SpawnTria(0,1,2); //nodes 0, 1 and 2 make the new tria. 705 702 ElementMatrix* Ke=tria->CreateKMatrixBalancethickness(); 706 delete tria->matice; delete tria;707 708 /*Delete Vx and Vy averaged*/709 this->inputs->DeleteInput(VxAverageEnum);710 this->inputs->DeleteInput(VyAverageEnum);711 712 /*clean up and return*/713 return Ke;714 }715 /*}}}*/716 /*FUNCTION Penta::CreateKMatrixBalancevelocities {{{1*/717 ElementMatrix* Penta::CreateKMatrixBalancevelocities(void){718 719 /*Figure out if this penta is collapsed. If so, then bailout, except if it is at the720 bedrock, in which case we spawn a tria element using the 3 first nodes, and use it to build721 the stiffness matrix. */722 if (!IsOnBed()) return NULL;723 724 /*Depth Averaging Vx and Vy*/725 this->InputDepthAverageAtBase(VxEnum,VxAverageEnum);726 this->InputDepthAverageAtBase(VyEnum,VyAverageEnum);727 728 /*Spawn Tria element from the base of the Penta: */729 Tria* tria=(Tria*)SpawnTria(0,1,2); //nodes 0, 1 and 2 make the new tria.730 ElementMatrix* Ke=tria->CreateKMatrixBalancevelocities();731 703 delete tria->matice; delete tria; 732 704 … … 2390 2362 pe=CreatePVectorBalancethickness(); 2391 2363 break; 2392 case BalancevelocitiesAnalysisEnum:2393 pe=CreatePVectorBalancevelocities();2394 break;2395 2364 case ThermalAnalysisEnum: 2396 2365 pe=CreatePVectorThermal(); … … 2473 2442 Tria* tria=(Tria*)SpawnTria(0,1,2); //nodes 0, 1 and 2 make the new tria. 2474 2443 ElementVector* pe=tria->CreatePVectorBalancethickness(); 2475 delete tria->matice; delete tria;2476 2477 /*Delete Vx and Vy averaged*/2478 this->inputs->DeleteInput(VxAverageEnum);2479 this->inputs->DeleteInput(VyAverageEnum);2480 2481 /*Clean up and return*/2482 return pe;2483 }2484 /*}}}*/2485 /*FUNCTION Penta::CreatePVectorBalancevelocities {{{1*/2486 ElementVector* Penta::CreatePVectorBalancevelocities(void){2487 2488 if (!IsOnBed()) return NULL;2489 2490 /*Depth Averaging Vx and Vy*/2491 this->InputDepthAverageAtBase(VxEnum,VxAverageEnum);2492 this->InputDepthAverageAtBase(VyEnum,VyAverageEnum);2493 2494 /*Call Tria function*/2495 Tria* tria=(Tria*)SpawnTria(0,1,2); //nodes 0, 1 and 2 make the new tria.2496 ElementVector* pe=tria->CreatePVectorBalancevelocities();2497 2444 delete tria->matice; delete tria; 2498 2445 … … 5352 5299 else if (analysis_type==BalancethicknessAnalysisEnum){ 5353 5300 InputUpdateFromSolutionOneDofCollapsed(solution,ThicknessEnum); 5354 }5355 else if (analysis_type==BalancevelocitiesAnalysisEnum){5356 InputUpdateFromSolutionOneDofCollapsed(solution,VelEnum);5357 5301 } 5358 5302 else if (analysis_type==ThermalAnalysisEnum){ -
issm/trunk/src/c/objects/Elements/Penta.h
r9206 r9218 151 151 void BedNormal(double* bed_normal, double xyz_list[3][3]); 152 152 ElementMatrix* CreateKMatrixBalancethickness(void); 153 ElementMatrix* CreateKMatrixBalancevelocities(void);154 153 ElementMatrix* CreateKMatrixCouplingMacAyealPattyn(void); 155 154 ElementMatrix* CreateKMatrixCouplingMacAyealPattynViscous(void); … … 189 188 ElementMatrix* CreateKMatrixThermalShelf(void); 190 189 ElementVector* CreatePVectorBalancethickness(void); 191 ElementVector* CreatePVectorBalancevelocities(void);192 190 ElementVector* CreatePVectorAdjointHoriz(void); 193 191 ElementVector* CreatePVectorAdjointMacAyeal(void); -
issm/trunk/src/c/objects/Elements/Tria.cpp
r9217 r9218 414 414 Ke=CreateKMatrixAdjointBalancethickness(); 415 415 break; 416 case BalancevelocitiesAnalysisEnum:417 Ke=CreateKMatrixBalancevelocities();418 break;419 416 default: 420 417 _error_("analysis %i (%s) not supported yet",analysis_type,EnumToStringx(analysis_type)); … … 615 612 &Bprime[0][0],2,numdof,0, 616 613 &Ke->values[0],1); 617 }618 619 /*Clean up and return*/620 delete gauss;621 return Ke;622 }623 /*}}}*/624 /*FUNCTION Tria::CreateKMatrixBalancevelocities {{{1*/625 ElementMatrix* Tria::CreateKMatrixBalancevelocities(void){626 627 /*Constants*/628 const int numdof=NDOF1*NUMVERTICES;629 630 /*Intermediaries */631 int artdiff;632 int i,j,ig,dim;633 double nx,ny,norm,Jdettria;634 double dvx[2],dvy[2];635 double vx,vy,dvxdx,dvydy;636 double v_gauss[2]={0.0};637 double surface_normal[3];638 double surface_list[3];639 double xyz_list[NUMVERTICES][3];640 double B[2][NUMVERTICES];641 double Bprime[2][NUMVERTICES];642 double K[2][2]={0.0};643 double KDL[2][2]={0.0};644 double DLprime[2][2]={0.0};645 double DL_scalar;646 GaussTria *gauss=NULL;647 648 /*Initialize Element matrix*/649 ElementMatrix* Ke=new ElementMatrix(nodes,NUMVERTICES,this->parameters,NoneApproximationEnum);650 651 /*Retrieve all inputs and parameters*/652 GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES);653 this->parameters->FindParam(&artdiff,ArtDiffEnum);654 this->parameters->FindParam(&dim,DimEnum);655 Input* surface_input=inputs->GetInput(SurfaceEnum); _assert_(surface_input);656 Input* vxaverage_input=NULL;657 Input* vyaverage_input=NULL;658 if(dim==2){659 vxaverage_input=inputs->GetInput(VxEnum); _assert_(vxaverage_input);660 vyaverage_input=inputs->GetInput(VyEnum); _assert_(vyaverage_input);661 }662 else{663 vxaverage_input=inputs->GetInput(VxAverageEnum); _assert_(vxaverage_input);664 vyaverage_input=inputs->GetInput(VyAverageEnum); _assert_(vyaverage_input);665 }666 667 /*Modify z so that it reflects the surface*/668 GetParameterListOnVertices(&surface_list[0],SurfaceEnum);669 for(i=0;i<NUMVERTICES;i++) xyz_list[i][2]=surface_list[i];670 671 /*Get normal vector to the surface*/672 vxaverage_input->GetParameterAverage(&nx);673 vyaverage_input->GetParameterAverage(&ny);674 if(nx==0 && ny==0){675 SurfaceNormal(&surface_normal[0],xyz_list);676 nx=surface_normal[0];677 ny=surface_normal[1];678 }679 if(nx==0 && ny==0){680 nx=0; ny=1;681 }682 norm=pow( pow(nx,2)+pow(ny,2) , (double).5);683 nx=nx/norm; ny=ny/norm;684 685 //Create Artificial diffusivity once for all if requested686 if(artdiff){687 gauss=new GaussTria();688 gauss->GaussCenter();689 GetJacobianDeterminant2d(&Jdettria, &xyz_list[0][0],gauss);690 delete gauss;691 692 vxaverage_input->GetParameterAverage(&v_gauss[0]);693 vyaverage_input->GetParameterAverage(&v_gauss[1]);694 K[0][0]=pow(10,2)*pow(Jdettria,(double).5)/2.0*fabs(v_gauss[0]); //pow should be zero!!695 K[1][1]=pow(10,2)*pow(Jdettria,(double).5)/2.0*fabs(v_gauss[1]);696 }697 698 /* Start looping on the number of gaussian points: */699 gauss=new GaussTria(2);700 for (ig=gauss->begin();ig<gauss->end();ig++){701 702 gauss->GaussPoint(ig);703 704 GetJacobianDeterminant2d(&Jdettria, &xyz_list[0][0],gauss);705 GetBPrognostic(&B[0][0], &xyz_list[0][0], gauss);706 GetBprimePrognostic(&Bprime[0][0], &xyz_list[0][0], gauss);707 708 vxaverage_input->GetParameterValue(&vx,gauss);709 vyaverage_input->GetParameterValue(&vy,gauss);710 vxaverage_input->GetParameterDerivativeValue(&dvx[0],&xyz_list[0][0],gauss);711 vyaverage_input->GetParameterDerivativeValue(&dvy[0],&xyz_list[0][0],gauss);712 713 dvxdx=dvx[0];714 dvydy=dvy[1];715 DL_scalar=gauss->weight*Jdettria;716 717 DLprime[0][0]=DL_scalar*nx;718 DLprime[1][1]=DL_scalar*ny;719 720 TripleMultiply( &B[0][0],2,numdof,1,721 &DLprime[0][0],2,2,0,722 &Bprime[0][0],2,numdof,0,723 &Ke->values[0],1);724 725 if(artdiff){726 KDL[0][0]=DL_scalar*K[0][0];727 KDL[1][1]=DL_scalar*K[1][1];728 729 TripleMultiply( &Bprime[0][0],2,numdof,1,730 &KDL[0][0],2,2,0,731 &Bprime[0][0],2,numdof,0,732 &Ke->values[0],1);733 }734 614 } 735 615 … … 1312 1192 pe=CreatePVectorAdjointBalancethickness(); 1313 1193 break; 1314 case BalancevelocitiesAnalysisEnum:1315 pe=CreatePVectorBalancevelocities();1316 break;1317 1194 default: 1318 1195 _error_("analysis %i (%s) not supported yet",analysis_type,EnumToStringx(analysis_type)); … … 1419 1296 1420 1297 for(i=0;i<numdof;i++) pe->values[i]+=Jdettria*gauss->weight*(surface_mass_balance_g-basal_melting_g-dhdt_g)*L[i]; 1421 }1422 1423 /*Clean up and return*/1424 delete gauss;1425 return pe;1426 }1427 /*}}}*/1428 /*FUNCTION Tria::CreatePVectorBalancevelocities {{{1*/1429 ElementVector* Tria::CreatePVectorBalancevelocities(void){1430 1431 /*Constants*/1432 const int numdof=NDOF1*NUMVERTICES;1433 1434 /*Intermediaries */1435 int i,j,ig;1436 double xyz_list[NUMVERTICES][3];1437 double Jdettria,surface_mass_balance_g,basal_melting_g;1438 double L[NUMVERTICES];1439 GaussTria* gauss=NULL;1440 1441 /*Initialize Element vector*/1442 ElementVector* pe=new ElementVector(nodes,NUMVERTICES,this->parameters);1443 1444 /*Retrieve all inputs and parameters*/1445 GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES);1446 Input* surface_mass_balance_input=inputs->GetInput(SurfaceMassBalanceEnum); _assert_(surface_mass_balance_input);1447 Input* basal_melting_input=inputs->GetInput(BasalMeltingRateEnum); _assert_(basal_melting_input);1448 1449 /* Start looping on the number of gaussian points: */1450 gauss=new GaussTria(2);1451 for(ig=gauss->begin();ig<gauss->end();ig++){1452 1453 gauss->GaussPoint(ig);1454 1455 GetJacobianDeterminant2d(&Jdettria, &xyz_list[0][0],gauss);1456 GetL(&L[0], &xyz_list[0][0], gauss,NDOF1);1457 1458 surface_mass_balance_input->GetParameterValue(&surface_mass_balance_g,gauss);1459 basal_melting_input->GetParameterValue(&basal_melting_g,gauss);1460 1461 for(i=0;i<numdof;i++) pe->values[i]+=Jdettria*gauss->weight*(surface_mass_balance_g-basal_melting_g)*L[i];1462 1298 } 1463 1299 … … 3519 3355 InputUpdateFromSolutionAdjointBalancethickness( solution); 3520 3356 break; 3521 case BalancevelocitiesAnalysisEnum:3522 InputUpdateFromSolutionOneDof(solution,VelEnum);3523 break;3524 3357 default: 3525 3358 _error_("analysis %i (%s) not supported yet",analysis_type,EnumToStringx(analysis_type)); -
issm/trunk/src/c/objects/Elements/Tria.h
r9206 r9218 155 155 ElementMatrix* CreateKMatrixBalancethickness_DG(void); 156 156 ElementMatrix* CreateKMatrixBalancethickness_CG(void); 157 ElementMatrix* CreateKMatrixBalancevelocities(void);158 157 ElementMatrix* CreateKMatrixDiagnosticMacAyeal(void); 159 158 ElementMatrix* CreateKMatrixDiagnosticMacAyealViscous(void); … … 169 168 ElementVector* CreatePVectorBalancethickness_DG(void); 170 169 ElementVector* CreatePVectorBalancethickness_CG(void); 171 ElementVector* CreatePVectorBalancevelocities(void);172 170 ElementVector* CreatePVectorDiagnosticMacAyeal(void); 173 171 ElementVector* CreatePVectorAdjointHoriz(void); -
issm/trunk/src/c/objects/Node.cpp
r9002 r9218 108 108 } 109 109 110 /*Prognostic/ Melting/ Slopecompute/ Balance velocities/ Balancethickness*/110 /*Prognostic/ Melting/ Slopecompute/ Balancethickness*/ 111 111 if ( 112 112 analysis_type==PrognosticAnalysisEnum || … … 114 114 analysis_type==BedSlopeAnalysisEnum || 115 115 analysis_type==SurfaceSlopeAnalysisEnum || 116 analysis_type==BalancevelocitiesAnalysisEnum ||117 116 analysis_type==BalancethicknessAnalysisEnum 118 117 ){ -
issm/trunk/src/c/solutions/CorePointerFromSolutionEnum.cpp
r8483 r9218 43 43 solutioncore=&balancethickness_core; 44 44 break; 45 case BalancevelocitiesSolutionEnum:46 solutioncore=&balancevelocities_core;47 break;48 45 case SurfaceSlopeSolutionEnum: 49 46 solutioncore=&surfaceslope_core; -
issm/trunk/src/c/solutions/SolutionConfiguration.cpp
r8483 r9218 86 86 break; 87 87 88 case BalancevelocitiesSolutionEnum:89 numanalyses=1;90 analyses=(int*)xmalloc(numanalyses*sizeof(int));91 analyses[0]=BalancevelocitiesAnalysisEnum;92 break;93 94 88 case SurfaceSlopeSolutionEnum: 95 89 numanalyses=1; -
issm/trunk/src/c/solutions/solutions.h
r8483 r9218 28 28 void prognostic_core(FemModel* femmodel); 29 29 void balancethickness_core(FemModel* femmodel); 30 void balancevelocities_core(FemModel* femmodel);31 30 void slopecompute_core(FemModel* femmodel); 32 31 void steadystate_core(FemModel* femmodel); -
issm/trunk/src/m/model/ismodelselfconsistent.m
r9183 r9218 573 573 if any(sum(abs(md.vx(md.elements)),2)==0 & sum(abs(md.vy(md.elements)),2)==0) 574 574 message('model not consistent: at least one triangle has all its vertices with a zero velocity'); 575 end576 %}}}577 case BalancevelocitiesAnalysisEnum,578 % {{{2579 %VELOCITIES MELTING AND ACCUMULATION580 fields={'vx','vy','basal_melting_rate'};581 checksize(md,fields,[md.numberofnodes 1]);582 checknan(md,fields);583 584 %SPC585 if any((~isnan(md.spcvx(find(md.nodeonboundary))))~=1),586 message(['model not consistent: model ' md.name ' should have all the nodes on boundary constrained in field spcvx']);587 end588 589 if any((~isnan(md.spcvy(find(md.nodeonboundary))))~=1),590 message(['model not consistent: model ' md.name ' should have all the nodes on boundary constrained in field spcvy']);591 575 end 592 576 %}}} -
issm/trunk/src/m/model/process_solve_options.m
r8577 r9218 12 12 if ~ismember(solution_type,[DiagnosticSolutionEnum,PrognosticSolutionEnum,ThermalSolutionEnum,... 13 13 SteadystateSolutionEnum,ParametersSolutionEnum,TransientSolutionEnum,EnthalpySolutionEnum,... 14 BalancethicknessSolutionEnum,B alancevelocitiesSolutionEnum,BedSlopeSolutionEnum,SurfaceSlopeSolutionEnum,GroundingLineMigration2DSolutionEnum,HydrologySolutionEnum,FlaimSolutionEnum]),14 BalancethicknessSolutionEnum,BedSlopeSolutionEnum,SurfaceSlopeSolutionEnum,GroundingLineMigration2DSolutionEnum,HydrologySolutionEnum,FlaimSolutionEnum]), 15 15 error(['process_solve_options error message: solution_type ' EnumToString(solution_type) ' not supported yet!']); 16 16 end -
issm/trunk/src/m/model/solve.m
r8936 r9218 6 6 % where varargin is a lit of paired arguments of string OR enums 7 7 % 8 % solution types available comprise: 9 % DiagnosticSolutionEnum 10 % PrognosticSolutionEnum 11 % ThermalSolutionEnum 12 % SteadystateSolutionEnum 13 % ParametersSolutionEnum 14 % TransientSolutionEnum... 15 % BalancethicknessSolutionEnum 16 % BalancevelocitiesSolutionEnum 17 % BedSlopeSolutionEnum 18 % SurfaceSlopeSolutionEnum 19 % GroundingLineMigration2DSolutionEnum 20 % HydrologySolutionEnum 21 % FlaimSolutionEnum 8 % solution types available comprise: 9 % DiagnosticSolutionEnum 10 % PrognosticSolutionEnum 11 % ThermalSolutionEnum 12 % SteadystateSolutionEnum 13 % ParametersSolutionEnum 14 % TransientSolutionEnum... 15 % BalancethicknessSolutionEnum 16 % BedSlopeSolutionEnum 17 % SurfaceSlopeSolutionEnum 18 % GroundingLineMigration2DSolutionEnum 19 % HydrologySolutionEnum 20 % FlaimSolutionEnum 22 21 % 23 22 % Examples: -
issm/trunk/src/m/solutions/CorePointerFromSolutionEnum.m
r8495 r9218 13 13 case PrognosticSolutionEnum, solutioncore='prognostic_core'; 14 14 case BalancethicknessSolutionEnum, solutioncore='balancethickness_core'; 15 case BalancevelocitiesSolutionEnum, solutioncore='balancevelocities_core';16 15 case SurfaceSlopeSolutionEnum, solutioncore='surfaceslope_core'; 17 16 case BedSlopeSolutionEnum, solutioncore='bedslope_core'; -
issm/trunk/src/m/solutions/SolutionConfiguration.m
r8495 r9218 34 34 analyses=[BalancethicknessAnalysisEnum]; 35 35 36 case BalancevelocitiesSolutionEnum,37 numanalyses=1;38 analyses=[BalancevelocitiesAnalysisEnum];39 40 36 case SurfaceSlopeSolutionEnum, 41 37 numanalyses=1;
Note:
See TracChangeset
for help on using the changeset viewer.