Changeset 9218


Ignore:
Timestamp:
08/09/11 11:50:24 (14 years ago)
Author:
Mathieu Morlighem
Message:

removed balance velocities (not working) for code cleaning

Location:
issm/trunk/src
Files:
2 added
5 deleted
20 edited

Legend:

Unmodified
Added
Removed
  • issm/trunk/src/c/EnumDefinitions/EnumDefinitions.h

    r9128 r9218  
    6565        BalancethicknessSolutionEnum,
    6666        BalancethicknessAnalysisEnum,
    67         BalancevelocitiesSolutionEnum,
    68         BalancevelocitiesAnalysisEnum,
     67        Fake31Enum,
     68        Fake32Enum,
    6969        PrognosticSolutionEnum,
    7070        PrognosticAnalysisEnum,
  • issm/trunk/src/c/Makefile.am

    r9206 r9218  
    484484                                        ./modules/ModelProcessorx/Balancethickness/CreateConstraintsBalancethickness.cpp\
    485485                                        ./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\
    490486                                        ./modules/ModelProcessorx/Transient/UpdateElementsTransient.cpp\
    491487                                        ./modules/ModelProcessorx/Qmu/CreateParametersQmu.cpp\
     
    11751171                                        ./modules/ModelProcessorx/Balancethickness/CreateConstraintsBalancethickness.cpp\
    11761172                                        ./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\
    11811173                                        ./modules/ModelProcessorx/Transient/UpdateElementsTransient.cpp\
    11821174                                        ./modules/ModelProcessorx/Qmu/CreateParametersQmu.cpp\
     
    14001392                                        ./solutions/prognostic_core.cpp\
    14011393                                        ./solutions/balancethickness_core.cpp\
    1402                                         ./solutions/balancevelocities_core.cpp\
    14031394                                        ./solutions/surfaceslope_core.cpp\
    14041395                                        ./solutions/bedslope_core.cpp\
  • issm/trunk/src/c/modules/EnumToStringx/EnumToStringx.cpp

    r9129 r9218  
    5858                case BalancethicknessSolutionEnum : return "BalancethicknessSolution";
    5959                case BalancethicknessAnalysisEnum : return "BalancethicknessAnalysis";
    60                 case BalancevelocitiesSolutionEnum : return "BalancevelocitiesSolution";
    61                 case BalancevelocitiesAnalysisEnum : return "BalancevelocitiesAnalysis";
     60                case Fake31Enum : return "Fake31";
     61                case Fake32Enum : return "Fake32";
    6262                case PrognosticSolutionEnum : return "PrognosticSolution";
    6363                case PrognosticAnalysisEnum : return "PrognosticAnalysis";
  • issm/trunk/src/c/modules/ModelProcessorx/CreateDataSets.cpp

    r8483 r9218  
    109109                        break;
    110110
    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;
    117111                default:
    118112                        _error_("%s%s%s"," analysis_type: ",EnumToStringx(analysis_type)," not supported yet!");
  • issm/trunk/src/c/modules/ModelProcessorx/DistributeNumDofs.cpp

    r8483 r9218  
    9090                numdofs=1;
    9191        }
    92         else if (analysis_type==BalancevelocitiesAnalysisEnum){
    93                 numdofs=1;
    94         }
    9592        else _error_("analysis type: %i (%s) not implemented yet",analysis_type,EnumToStringx(analysis_type));
    9693
  • issm/trunk/src/c/modules/ModelProcessorx/ModelProcessorx.h

    r8483 r9218  
    9191void    UpdateElementsBalancethickness(Elements* elements,IoModel* iomodel,FILE* iomodel_handle,int analysis_counter,int analysis_type);
    9292
    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 
    9993/*transient: */
    10094void    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  
    5656        else if (strcmp(name,"BalancethicknessSolution")==0) return BalancethicknessSolutionEnum;
    5757        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;
    6060        else if (strcmp(name,"PrognosticSolution")==0) return PrognosticSolutionEnum;
    6161        else if (strcmp(name,"PrognosticAnalysis")==0) return PrognosticAnalysisEnum;
  • issm/trunk/src/c/objects/Elements/Penta.cpp

    r9217 r9218  
    661661                        Ke=CreateKMatrixBalancethickness();
    662662                        break;
    663                 case BalancevelocitiesAnalysisEnum:
    664                         Ke=CreateKMatrixBalancevelocities();
    665                         break;
    666663                case ThermalAnalysisEnum:
    667664                        Ke=CreateKMatrixThermal();
     
    704701        Tria* tria=(Tria*)SpawnTria(0,1,2); //nodes 0, 1 and 2 make the new tria.
    705702        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 the
    720           bedrock, in which case we spawn a tria element using the 3 first nodes, and use it to build
    721           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();
    731703        delete tria->matice; delete tria;
    732704
     
    23902362                        pe=CreatePVectorBalancethickness();
    23912363                        break;
    2392                 case BalancevelocitiesAnalysisEnum:
    2393                         pe=CreatePVectorBalancevelocities();
    2394                         break;
    23952364                case ThermalAnalysisEnum:
    23962365                        pe=CreatePVectorThermal();
     
    24732442        Tria* tria=(Tria*)SpawnTria(0,1,2); //nodes 0, 1 and 2 make the new tria.
    24742443        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();
    24972444        delete tria->matice; delete tria;
    24982445
     
    53525299        else if (analysis_type==BalancethicknessAnalysisEnum){
    53535300                InputUpdateFromSolutionOneDofCollapsed(solution,ThicknessEnum);
    5354         }
    5355         else if (analysis_type==BalancevelocitiesAnalysisEnum){
    5356                 InputUpdateFromSolutionOneDofCollapsed(solution,VelEnum);
    53575301        }
    53585302        else if (analysis_type==ThermalAnalysisEnum){
  • issm/trunk/src/c/objects/Elements/Penta.h

    r9206 r9218  
    151151                void      BedNormal(double* bed_normal, double xyz_list[3][3]);
    152152                ElementMatrix* CreateKMatrixBalancethickness(void);
    153                 ElementMatrix* CreateKMatrixBalancevelocities(void);
    154153                ElementMatrix* CreateKMatrixCouplingMacAyealPattyn(void);
    155154                ElementMatrix* CreateKMatrixCouplingMacAyealPattynViscous(void);
     
    189188                ElementMatrix* CreateKMatrixThermalShelf(void);
    190189                ElementVector* CreatePVectorBalancethickness(void);
    191                 ElementVector* CreatePVectorBalancevelocities(void);
    192190                ElementVector* CreatePVectorAdjointHoriz(void);
    193191                ElementVector* CreatePVectorAdjointMacAyeal(void);
  • issm/trunk/src/c/objects/Elements/Tria.cpp

    r9217 r9218  
    414414                        Ke=CreateKMatrixAdjointBalancethickness();
    415415                        break;
    416                 case BalancevelocitiesAnalysisEnum:
    417                         Ke=CreateKMatrixBalancevelocities();
    418                         break;
    419416                default:
    420417                        _error_("analysis %i (%s) not supported yet",analysis_type,EnumToStringx(analysis_type));
     
    615612                                        &Bprime[0][0],2,numdof,0,
    616613                                        &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 requested
    686         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                 }
    734614        }
    735615
     
    13121192                        pe=CreatePVectorAdjointBalancethickness();
    13131193                        break;
    1314                 case BalancevelocitiesAnalysisEnum:
    1315                         pe=CreatePVectorBalancevelocities();
    1316                         break;
    13171194                default:
    13181195                        _error_("analysis %i (%s) not supported yet",analysis_type,EnumToStringx(analysis_type));
     
    14191296
    14201297                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];
    14621298        }
    14631299
     
    35193355                        InputUpdateFromSolutionAdjointBalancethickness( solution);
    35203356                        break;
    3521                 case BalancevelocitiesAnalysisEnum:
    3522                         InputUpdateFromSolutionOneDof(solution,VelEnum);
    3523                         break;
    35243357                default:
    35253358                        _error_("analysis %i (%s) not supported yet",analysis_type,EnumToStringx(analysis_type));
  • issm/trunk/src/c/objects/Elements/Tria.h

    r9206 r9218  
    155155                ElementMatrix* CreateKMatrixBalancethickness_DG(void);
    156156                ElementMatrix* CreateKMatrixBalancethickness_CG(void);
    157                 ElementMatrix* CreateKMatrixBalancevelocities(void);
    158157                ElementMatrix* CreateKMatrixDiagnosticMacAyeal(void);
    159158                ElementMatrix* CreateKMatrixDiagnosticMacAyealViscous(void);
     
    169168                ElementVector* CreatePVectorBalancethickness_DG(void);
    170169                ElementVector* CreatePVectorBalancethickness_CG(void);
    171                 ElementVector* CreatePVectorBalancevelocities(void);
    172170                ElementVector* CreatePVectorDiagnosticMacAyeal(void);
    173171                ElementVector* CreatePVectorAdjointHoriz(void);
  • issm/trunk/src/c/objects/Node.cpp

    r9002 r9218  
    108108        }
    109109
    110         /*Prognostic/ Melting/ Slopecompute/ Balancevelocities/ Balancethickness*/
     110        /*Prognostic/ Melting/ Slopecompute/ Balancethickness*/
    111111        if (
    112112                                analysis_type==PrognosticAnalysisEnum ||
     
    114114                                analysis_type==BedSlopeAnalysisEnum ||
    115115                                analysis_type==SurfaceSlopeAnalysisEnum ||
    116                                 analysis_type==BalancevelocitiesAnalysisEnum ||
    117116                                analysis_type==BalancethicknessAnalysisEnum
    118117                                ){
  • issm/trunk/src/c/solutions/CorePointerFromSolutionEnum.cpp

    r8483 r9218  
    4343                        solutioncore=&balancethickness_core;
    4444                        break;
    45                 case BalancevelocitiesSolutionEnum:
    46                         solutioncore=&balancevelocities_core;
    47                         break;
    4845                case SurfaceSlopeSolutionEnum:
    4946                        solutioncore=&surfaceslope_core;
  • issm/trunk/src/c/solutions/SolutionConfiguration.cpp

    r8483 r9218  
    8686                        break;
    8787
    88                 case BalancevelocitiesSolutionEnum:
    89                         numanalyses=1;
    90                         analyses=(int*)xmalloc(numanalyses*sizeof(int));
    91                         analyses[0]=BalancevelocitiesAnalysisEnum;
    92                         break;
    93 
    9488                case SurfaceSlopeSolutionEnum:
    9589                        numanalyses=1;
  • issm/trunk/src/c/solutions/solutions.h

    r8483 r9218  
    2828void prognostic_core(FemModel* femmodel);
    2929void balancethickness_core(FemModel* femmodel);
    30 void balancevelocities_core(FemModel* femmodel);
    3130void slopecompute_core(FemModel* femmodel);
    3231void steadystate_core(FemModel* femmodel);
  • issm/trunk/src/m/model/ismodelselfconsistent.m

    r9183 r9218  
    573573                        if any(sum(abs(md.vx(md.elements)),2)==0 & sum(abs(md.vy(md.elements)),2)==0)
    574574                                message('model not consistent: at least one triangle has all its vertices with a zero velocity');
    575                         end
    576                         %}}}
    577                 case BalancevelocitiesAnalysisEnum,
    578                         % {{{2
    579                         %VELOCITIES MELTING AND ACCUMULATION
    580                         fields={'vx','vy','basal_melting_rate'};
    581                         checksize(md,fields,[md.numberofnodes 1]);
    582                         checknan(md,fields);
    583 
    584                         %SPC
    585                         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                         end
    588 
    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']);
    591575                        end
    592576                        %}}}
  • issm/trunk/src/m/model/process_solve_options.m

    r8577 r9218  
    1212if ~ismember(solution_type,[DiagnosticSolutionEnum,PrognosticSolutionEnum,ThermalSolutionEnum,...
    1313                SteadystateSolutionEnum,ParametersSolutionEnum,TransientSolutionEnum,EnthalpySolutionEnum,...
    14                 BalancethicknessSolutionEnum,BalancevelocitiesSolutionEnum,BedSlopeSolutionEnum,SurfaceSlopeSolutionEnum,GroundingLineMigration2DSolutionEnum,HydrologySolutionEnum,FlaimSolutionEnum]),
     14                BalancethicknessSolutionEnum,BedSlopeSolutionEnum,SurfaceSlopeSolutionEnum,GroundingLineMigration2DSolutionEnum,HydrologySolutionEnum,FlaimSolutionEnum]),
    1515        error(['process_solve_options error message: solution_type ' EnumToString(solution_type) ' not supported yet!']);
    1616end
  • issm/trunk/src/m/model/solve.m

    r8936 r9218  
    66%      where varargin is a lit of paired arguments of string OR enums
    77%
    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
    2221%
    2322%   Examples:
  • issm/trunk/src/m/solutions/CorePointerFromSolutionEnum.m

    r8495 r9218  
    1313        case PrognosticSolutionEnum,               solutioncore='prognostic_core';
    1414        case BalancethicknessSolutionEnum,         solutioncore='balancethickness_core';
    15         case BalancevelocitiesSolutionEnum,        solutioncore='balancevelocities_core';
    1615        case SurfaceSlopeSolutionEnum,             solutioncore='surfaceslope_core';
    1716        case BedSlopeSolutionEnum,                 solutioncore='bedslope_core';
  • issm/trunk/src/m/solutions/SolutionConfiguration.m

    r8495 r9218  
    3434                analyses=[BalancethicknessAnalysisEnum];
    3535
    36         case BalancevelocitiesSolutionEnum,
    37                 numanalyses=1;
    38                 analyses=[BalancevelocitiesAnalysisEnum];
    39 
    4036        case SurfaceSlopeSolutionEnum,
    4137                numanalyses=1;
Note: See TracChangeset for help on using the changeset viewer.