Changeset 9610


Ignore:
Timestamp:
09/06/11 11:11:00 (14 years ago)
Author:
Mathieu Morlighem
Message:

Added friction object

Location:
issm/trunk
Files:
7 added
6 deleted
65 edited

Legend:

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

    r9607 r9610  
    1818        SurfaceforcingsAblationRateEnum,
    1919        SurfaceforcingsMassBalanceEnum,
     20        FrictionCoefficientEnum,
     21        FrictionPEnum,
     22        FrictionQEnum,
    2023        /*}}}*/
    2124        /*Datasets {{{1*/
     
    174177        ControlTypeEnum,
    175178        ConvergedEnum,
    176         DragCoefficientEnum,
    177         DragPEnum,
    178         DragQEnum,
    179179        DtEnum,
    180180        TimeAdaptEnum,
  • issm/trunk/src/c/EnumDefinitions/EnumToModelField.cpp

    r9607 r9610  
    22* \brief: output string associated with enum, that corresponds  to a model field
    33* for example: ThicknessEnum corresponds to model field thickness
    4 *              DragCoefficientEnum corresponds to model field drag
     4*              FrictionCoefficientEnum corresponds to model field drag
    55*/
    66
     
    1414
    1515                case ThicknessEnum : return "thickness";
    16                 case DragCoefficientEnum : return "drag_coefficient";
     16                case FrictionCoefficientEnum : return "drag_coefficient";
    1717                case RheologyBEnum : return "rheology_B";
    1818                case RheologyBbarEnum : return "rheology_B";
  • issm/trunk/src/c/modules/EnumToStringx/EnumToStringx.cpp

    r9607 r9610  
    2222                case SurfaceforcingsAblationRateEnum : return "SurfaceforcingsAblationRate";
    2323                case SurfaceforcingsMassBalanceEnum : return "SurfaceforcingsMassBalance";
     24                case FrictionCoefficientEnum : return "FrictionCoefficient";
     25                case FrictionPEnum : return "FrictionP";
     26                case FrictionQEnum : return "FrictionQ";
    2427                case ConstraintsEnum : return "Constraints";
    2528                case ElementsEnum : return "Elements";
     
    141144                case ControlTypeEnum : return "ControlType";
    142145                case ConvergedEnum : return "Converged";
    143                 case DragCoefficientEnum : return "DragCoefficient";
    144                 case DragPEnum : return "DragP";
    145                 case DragQEnum : return "DragQ";
    146146                case DtEnum : return "Dt";
    147147                case TimeAdaptEnum : return "TimeAdapt";
  • issm/trunk/src/c/modules/ModelProcessorx/Control/UpdateElementsAndMaterialsControl.cpp

    r9405 r9610  
    4646                        case VxEnum:   iomodel->FetchData(1,VxEnum); break;
    4747                        case VyEnum:   iomodel->FetchData(1,VyEnum); break;
    48                         case DragCoefficientEnum: iomodel->FetchData(1,DragCoefficientEnum); break;
     48                        case FrictionCoefficientEnum: iomodel->FetchData(1,FrictionCoefficientEnum); break;
    4949                        case RheologyBbarEnum:    iomodel->FetchData(1,RheologyBEnum); break;
    5050                        default: _error_("Control %s not implemented yet",EnumToStringx((int)iomodel->Data(ControlTypeEnum)[i]));
     
    6666       
    6767        /*Free data: */
    68         iomodel->DeleteData(1+4+5,ElementsEnum,ControlTypeEnum,WeightsEnum,CmMinEnum,CmMaxEnum,DhdtEnum,VxEnum,VyEnum,DragCoefficientEnum,RheologyBEnum);
     68        iomodel->DeleteData(1+4+5,ElementsEnum,ControlTypeEnum,WeightsEnum,CmMinEnum,CmMaxEnum,DhdtEnum,VxEnum,VyEnum,FrictionCoefficientEnum,RheologyBEnum);
    6969}
  • issm/trunk/src/c/modules/ModelProcessorx/DiagnosticHoriz/UpdateElementsDiagnosticHoriz.cpp

    r9607 r9610  
    5252        iomodel->FetchDataToInput(elements,SurfaceEnum);
    5353        iomodel->FetchDataToInput(elements,BedEnum);
    54         iomodel->FetchDataToInput(elements,DragCoefficientEnum);
    55         iomodel->FetchDataToInput(elements,DragPEnum);
    56         iomodel->FetchDataToInput(elements,DragQEnum);
     54        iomodel->FetchDataToInput(elements,FrictionCoefficientEnum);
     55        iomodel->FetchDataToInput(elements,FrictionPEnum);
     56        iomodel->FetchDataToInput(elements,FrictionQEnum);
    5757        iomodel->FetchDataToInput(elements,ElementOnIceShelfEnum);
    5858        iomodel->FetchDataToInput(elements,ElementOnWaterEnum);
  • issm/trunk/src/c/modules/ModelProcessorx/Enthalpy/UpdateElementsEnthalpy.cpp

    r9405 r9610  
    4242        iomodel->FetchDataToInput(elements,SurfaceEnum);
    4343        iomodel->FetchDataToInput(elements,BedEnum);
    44         iomodel->FetchDataToInput(elements,DragCoefficientEnum);
    45         iomodel->FetchDataToInput(elements,DragPEnum);
    46         iomodel->FetchDataToInput(elements,DragQEnum);
     44        iomodel->FetchDataToInput(elements,FrictionCoefficientEnum);
     45        iomodel->FetchDataToInput(elements,FrictionPEnum);
     46        iomodel->FetchDataToInput(elements,FrictionQEnum);
    4747        iomodel->FetchDataToInput(elements,ElementOnIceShelfEnum);
    4848        iomodel->FetchDataToInput(elements,ElementOnBedEnum);
  • issm/trunk/src/c/modules/ModelProcessorx/Hydrology/UpdateElementsHydrology.cpp

    r9405 r9610  
    3535        iomodel->FetchDataToInput(elements,SurfaceEnum);
    3636        iomodel->FetchDataToInput(elements,BedEnum);
    37         iomodel->FetchDataToInput(elements,DragCoefficientEnum);
    38         iomodel->FetchDataToInput(elements,DragPEnum);
    39         iomodel->FetchDataToInput(elements,DragQEnum);
     37        iomodel->FetchDataToInput(elements,FrictionCoefficientEnum);
     38        iomodel->FetchDataToInput(elements,FrictionPEnum);
     39        iomodel->FetchDataToInput(elements,FrictionQEnum);
    4040        iomodel->FetchDataToInput(elements,ElementOnIceShelfEnum);
    4141        iomodel->FetchDataToInput(elements,ElementOnBedEnum);
  • issm/trunk/src/c/modules/ModelProcessorx/Melting/UpdateElementsMelting.cpp

    r9607 r9610  
    4343        iomodel->FetchDataToInput(elements,SurfaceEnum);
    4444        iomodel->FetchDataToInput(elements,BedEnum);
    45         iomodel->FetchDataToInput(elements,DragCoefficientEnum);
    46         iomodel->FetchDataToInput(elements,DragPEnum);
    47         iomodel->FetchDataToInput(elements,DragQEnum);
     45        iomodel->FetchDataToInput(elements,FrictionCoefficientEnum);
     46        iomodel->FetchDataToInput(elements,FrictionPEnum);
     47        iomodel->FetchDataToInput(elements,FrictionQEnum);
    4848        iomodel->FetchDataToInput(elements,ElementOnIceShelfEnum);
    4949        iomodel->FetchDataToInput(elements,ElementOnBedEnum);
  • issm/trunk/src/c/modules/ModelProcessorx/Thermal/UpdateElementsThermal.cpp

    r9571 r9610  
    4444        iomodel->FetchDataToInput(elements,SurfaceEnum);
    4545        iomodel->FetchDataToInput(elements,BedEnum);
    46         iomodel->FetchDataToInput(elements,DragCoefficientEnum);
    47         iomodel->FetchDataToInput(elements,DragPEnum);
    48         iomodel->FetchDataToInput(elements,DragQEnum);
     46        iomodel->FetchDataToInput(elements,FrictionCoefficientEnum);
     47        iomodel->FetchDataToInput(elements,FrictionPEnum);
     48        iomodel->FetchDataToInput(elements,FrictionQEnum);
    4949        iomodel->FetchDataToInput(elements,ElementOnIceShelfEnum);
    5050        iomodel->FetchDataToInput(elements,ElementOnBedEnum);
  • issm/trunk/src/c/modules/Responsex/Responsex.cpp

    r9320 r9610  
    4242                case DragCoefficientAbsGradientEnum:DragCoefficientAbsGradientx(responses, elements,nodes, vertices, loads, materials, parameters,process_units,weight_index); break;
    4343                case RheologyBbarEnum:RheologyBbarx(responses, elements,nodes, vertices, loads, materials, parameters,process_units); break;
    44                 case DragCoefficientEnum:NodalValuex(responses, DragCoefficientEnum,elements,nodes, vertices, loads, materials, parameters,process_units); break;
     44                case FrictionCoefficientEnum:NodalValuex(responses, FrictionCoefficientEnum,elements,nodes, vertices, loads, materials, parameters,process_units); break;
    4545                default: _error_(" response descriptor \"%s\" not supported yet!",response_descriptor); break;
    4646        }
  • issm/trunk/src/c/modules/StringToEnumx/StringToEnumx.cpp

    r9607 r9610  
    2020        else if (strcmp(name,"SurfaceforcingsAblationRate")==0) return SurfaceforcingsAblationRateEnum;
    2121        else if (strcmp(name,"SurfaceforcingsMassBalance")==0) return SurfaceforcingsMassBalanceEnum;
     22        else if (strcmp(name,"FrictionCoefficient")==0) return FrictionCoefficientEnum;
     23        else if (strcmp(name,"FrictionP")==0) return FrictionPEnum;
     24        else if (strcmp(name,"FrictionQ")==0) return FrictionQEnum;
    2225        else if (strcmp(name,"Constraints")==0) return ConstraintsEnum;
    2326        else if (strcmp(name,"Elements")==0) return ElementsEnum;
     
    139142        else if (strcmp(name,"ControlType")==0) return ControlTypeEnum;
    140143        else if (strcmp(name,"Converged")==0) return ConvergedEnum;
    141         else if (strcmp(name,"DragCoefficient")==0) return DragCoefficientEnum;
    142         else if (strcmp(name,"DragP")==0) return DragPEnum;
    143         else if (strcmp(name,"DragQ")==0) return DragQEnum;
    144144        else if (strcmp(name,"Dt")==0) return DtEnum;
    145145        else if (strcmp(name,"TimeAdapt")==0) return TimeAdaptEnum;
  • issm/trunk/src/c/objects/Elements/Penta.cpp

    r9607 r9610  
    44094409        switch(control_type){
    44104410
    4411                 case DragCoefficientEnum:
     4411                case FrictionCoefficientEnum:
    44124412                        inputs->GetParameterValue(&approximation,ApproximationEnum);
    44134413                        switch(approximation){
     
    45284528        Input* vx_input=inputs->GetInput(VxEnum);                           _assert_(vx_input);
    45294529        Input* vy_input=inputs->GetInput(VyEnum);                           _assert_(vy_input);
    4530         Input* dragcoefficient_input=inputs->GetInput(DragCoefficientEnum); _assert_(dragcoefficient_input);
     4530        Input* dragcoefficient_input=inputs->GetInput(FrictionCoefficientEnum); _assert_(dragcoefficient_input);
    45314531
    45324532        /*Build frictoin element, needed later: */
     
    45974597        for(i=0;i<NUMVERTICES2D;i++) for(j=0;j<2;j++) xyz_list_tria[i][j]=xyz_list[i][j];
    45984598        GetDofList1(&doflist1[0]);
    4599         Input* drag_input    =inputs->GetInput(DragCoefficientEnum); _assert_(drag_input);
     4599        Input* drag_input    =inputs->GetInput(FrictionCoefficientEnum); _assert_(drag_input);
    46004600        Input* vx_input      =inputs->GetInput(VxEnum);              _assert_(vx_input);
    46014601        Input* vy_input      =inputs->GetInput(VyEnum);              _assert_(vy_input);
     
    51965196                                        }
    51975197                                        break;
    5198                                 case DragCoefficientEnum:
    5199                                         if (iomodel->Data(DragCoefficientEnum)){
    5200                                                 for(j=0;j<6;j++)nodeinputs[j]=iomodel->Data(DragCoefficientEnum)[penta_vertex_ids[j]-1];
     5198                                case FrictionCoefficientEnum:
     5199                                        if (iomodel->Data(FrictionCoefficientEnum)){
     5200                                                for(j=0;j<6;j++)nodeinputs[j]=iomodel->Data(FrictionCoefficientEnum)[penta_vertex_ids[j]-1];
    52015201                                                for(j=0;j<6;j++)cmmininputs[j]=iomodel->Data(CmMinEnum)[(penta_vertex_ids[j]-1)*num_control_type+i];
    52025202                                                for(j=0;j<6;j++)cmmaxinputs[j]=iomodel->Data(CmMaxEnum)[(penta_vertex_ids[j]-1)*num_control_type+i];
    5203                                                 this->inputs->AddInput(new ControlInput(DragCoefficientEnum,PentaVertexInputEnum,nodeinputs,cmmininputs,cmmaxinputs,i+1));
     5203                                                this->inputs->AddInput(new ControlInput(FrictionCoefficientEnum,PentaVertexInputEnum,nodeinputs,cmmininputs,cmmaxinputs,i+1));
    52045204                                        }
    52055205                                        break;
     
    65996599                                name==VzObsEnum ||
    66006600                                name==TemperatureEnum ||
    6601                                 name==DragCoefficientEnum ||
     6601                                name==FrictionCoefficientEnum ||
    66026602                                name==GradientEnum ||
    66036603                                name==OldGradientEnum  ||
  • issm/trunk/src/c/objects/Elements/Tria.cpp

    r9607 r9610  
    14051405        Input* thickness_input=inputs->GetInput(ThicknessEnum); _assert_(thickness_input);
    14061406        Input* surface_input=inputs->GetInput(SurfaceEnum);     _assert_(surface_input);
    1407         Input* drag_input=inputs->GetInput(DragCoefficientEnum);_assert_(drag_input);
     1407        Input* drag_input=inputs->GetInput(FrictionCoefficientEnum);_assert_(drag_input);
    14081408
    14091409        /* Start  looping on the number of gaussian points: */
     
    22762276        GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES);
    22772277        Input* weights_input=inputs->GetInput(WeightsEnum);         _assert_(weights_input);
    2278         Input* drag_input   =inputs->GetInput(DragCoefficientEnum); _assert_(drag_input);
     2278        Input* drag_input   =inputs->GetInput(FrictionCoefficientEnum); _assert_(drag_input);
    22792279
    22802280        /* Start looping on the number of gaussian points: */
     
    26942694        /*First deal with ∂/∂alpha(KU-F)*/
    26952695        switch(control_type){
    2696                 case DragCoefficientEnum:
     2696                case FrictionCoefficientEnum:
    26972697                        GradjDragMacAyeal(gradient);
    26982698                        break;
     
    28732873        Input* vx_input=inputs->GetInput(VxEnum);                           _assert_(vx_input);
    28742874        Input* vy_input=inputs->GetInput(VyEnum);                           _assert_(vy_input);
    2875         Input* dragcoefficient_input=inputs->GetInput(DragCoefficientEnum); _assert_(dragcoefficient_input);
     2875        Input* dragcoefficient_input=inputs->GetInput(FrictionCoefficientEnum); _assert_(dragcoefficient_input);
    28762876
    28772877        /* Start  looping on the number of gaussian points: */
     
    29442944        GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES);
    29452945        GetDofList1(&doflist1[0]);
    2946         Input* dragcoefficient_input=inputs->GetInput(DragCoefficientEnum); _assert_(dragcoefficient_input);
     2946        Input* dragcoefficient_input=inputs->GetInput(FrictionCoefficientEnum); _assert_(dragcoefficient_input);
    29472947        Input* weights_input=inputs->GetInput(WeightsEnum);                 _assert_(weights_input);
    29482948
     
    33133313                                        }
    33143314                                        break;
    3315                                 case DragCoefficientEnum:
    3316                                         if (iomodel->Data(DragCoefficientEnum)){
    3317                                                 for(j=0;j<3;j++)nodeinputs[j]=iomodel->Data(DragCoefficientEnum)[tria_vertex_ids[j]-1];
     3315                                case FrictionCoefficientEnum:
     3316                                        if (iomodel->Data(FrictionCoefficientEnum)){
     3317                                                for(j=0;j<3;j++)nodeinputs[j]=iomodel->Data(FrictionCoefficientEnum)[tria_vertex_ids[j]-1];
    33183318                                                for(j=0;j<3;j++)cmmininputs[j]=iomodel->Data(CmMinEnum)[(tria_vertex_ids[j]-1)*num_control_type+i];
    33193319                                                for(j=0;j<3;j++)cmmaxinputs[j]=iomodel->Data(CmMaxEnum)[(tria_vertex_ids[j]-1)*num_control_type+i];
    3320                                                 this->inputs->AddInput(new ControlInput(DragCoefficientEnum,TriaVertexInputEnum,nodeinputs,cmmininputs,cmmaxinputs,i+1));
     3320                                                this->inputs->AddInput(new ControlInput(FrictionCoefficientEnum,TriaVertexInputEnum,nodeinputs,cmmininputs,cmmaxinputs,i+1));
    33213321                                        }
    33223322                                        break;
     
    39923992                                name==VxObsEnum ||
    39933993                                name==VyObsEnum ||
    3994                                 name==DragCoefficientEnum ||
     3994                                name==FrictionCoefficientEnum ||
    39953995                                name==GradientEnum ||
    39963996                                name==OldGradientEnum
  • issm/trunk/src/c/objects/Loads/Friction.cpp

    r9336 r9610  
    7373
    7474        /*Recover parameters: */
    75         inputs->GetParameterValue(&drag_p,DragPEnum);
    76         inputs->GetParameterValue(&drag_q,DragQEnum);
     75        inputs->GetParameterValue(&drag_p,FrictionPEnum);
     76        inputs->GetParameterValue(&drag_q,FrictionQEnum);
    7777        this->GetParameterValue(&thickness, gauss,ThicknessEnum);
    7878        this->GetParameterValue(&bed, gauss,BedEnum);
    79         this->GetParameterValue(&drag_coefficient, gauss,DragCoefficientEnum);
     79        this->GetParameterValue(&drag_coefficient, gauss,FrictionCoefficientEnum);
    8080
    8181        /*Get material parameters: */
     
    137137
    138138        /*Recover parameters: */
    139         inputs->GetParameterValue(&drag_p,DragPEnum);
    140         inputs->GetParameterValue(&drag_q,DragQEnum);
     139        inputs->GetParameterValue(&drag_p,FrictionPEnum);
     140        inputs->GetParameterValue(&drag_q,FrictionQEnum);
    141141        this->GetParameterValue(&thickness, gauss,ThicknessEnum);
    142142        this->GetParameterValue(&bed, gauss,BedEnum);
    143         this->GetParameterValue(&drag_coefficient, gauss,DragCoefficientEnum);
     143        this->GetParameterValue(&drag_coefficient, gauss,FrictionCoefficientEnum);
    144144
    145145        /*Get material parameters: */
     
    203203
    204204        /*Recover parameters: */
    205         inputs->GetParameterValue(&drag_p,DragPEnum);
    206         inputs->GetParameterValue(&drag_q,DragQEnum);
     205        inputs->GetParameterValue(&drag_p,FrictionPEnum);
     206        inputs->GetParameterValue(&drag_q,FrictionQEnum);
    207207        this->GetParameterValue(&thickness, gauss,ThicknessEnum);
    208208        this->GetParameterValue(&bed, gauss,BedEnum);
    209         this->GetParameterValue(&drag_coefficient, gauss,DragCoefficientEnum);
     209        this->GetParameterValue(&drag_coefficient, gauss,FrictionCoefficientEnum);
    210210
    211211        /*Get material parameters: */
     
    269269
    270270        /*Recover parameters: */
    271         inputs->GetParameterValue(&drag_p,DragPEnum);
    272         inputs->GetParameterValue(&drag_q,DragQEnum);
     271        inputs->GetParameterValue(&drag_p,FrictionPEnum);
     272        inputs->GetParameterValue(&drag_q,FrictionQEnum);
    273273        this->GetParameterValue(&thickness, gauss,ThicknessEnum);
    274274        this->GetParameterValue(&bed, gauss,BedEnum);
    275         this->GetParameterValue(&drag_coefficient, gauss,DragCoefficientEnum);
     275        this->GetParameterValue(&drag_coefficient, gauss,FrictionCoefficientEnum);
    276276
    277277        /*Get material parameters: */
  • issm/trunk/src/m/classes/model/model.m

    r9607 r9610  
    1616                 flaim     = modelfield('default',0,'marshall',false);
    1717                 surfaceforcings = modelfield('default',0,'marshall',true);
     18                 friction  = modelfield('default',0,'marshall',true);
    1819
    1920                 %FIXME: all other fields should belong to other classes
     
    119120                 %Physical parameters
    120121
    121                  drag_coefficient = modelfield('default',NaN,'marshall',true,'format','DoubleMat','mattype',1);
    122                  drag_p           = modelfield('default',NaN,'marshall',true,'format','DoubleMat','mattype',2);
    123                  drag_q           = modelfield('default',NaN,'marshall',true,'format','DoubleMat','mattype',2);
    124122                 rheology_B       = modelfield('default',NaN,'marshall',true,'format','DoubleMat','mattype',1);
    125123                 rheology_n       = modelfield('default',NaN,'marshall',true,'format','DoubleMat','mattype',2);
     
    408406
    409407                         %Field name change
    410                          if isfield(structmd,'drag'), md.drag_coefficient=structmd.drag; end
    411                          if isfield(structmd,'p'), md.drag_p=structmd.p; end
    412                          if isfield(structmd,'q'), md.drag_q=structmd.p; end
     408                         if isfield(structmd,'drag'), md.friction.coefficient=structmd.drag; end
     409                         if isfield(structmd,'p'), md.friction.p=structmd.p; end
     410                         if isfield(structmd,'q'), md.friction.q=structmd.p; end
    413411                         if isfield(structmd,'B'), md.rheology_B=structmd.B; end
    414412                         if isfield(structmd,'n'), md.rheology_n=structmd.n; end
     
    438436                         if isfield(structmd,'dakota_analysis'), md.dakota_analysis=structmd.dakota_analysis; end
    439437                         if isfield(structmd,'surface_mass_balance'), md.surfaceforcings.mass_balance=structmd.surface_mass_balance; end
     438                         if isfield(structmd,'drag_coefficient'), md.friction.coefficient=structmd.drag_coefficient; end
     439                         if isfield(structmd,'drag_p'), md.friction.p=structmd.drag_p; end
     440                         if isfield(structmd,'drag_q'), md.friction.q=structmd.drag_q; end
    440441
    441442                         %Field changes
     
    489490                         end
    490491                         if isnumeric(md.control_type),
    491                                  if (structmd.control_type==143), md.control_type={'DragCoefficient'}; end
     492                                 if (structmd.control_type==143), md.control_type={'FrictionCoefficient'}; end
    492493                                 if (structmd.control_type==190), md.control_type={'RheologyBbar'}; end
    493494                                 if (structmd.control_type==147), md.control_type={'Dhdt'}; end
     
    545546                         md.flaim=flaim;
    546547                         md.surfaceforcings=surfaceforcings;
     548                         md.friction=friction;
    547549
    548550                         %Materials parameters
     
    674676                         %parameter to be inferred by control methods (only
    675677                         %drag and B are supported yet)
    676                          md.control_type={'DragCoefficient'};
     678                         md.control_type={'FrictionCoefficient'};
    677679
    678680                         %number of steps in the control methods
  • issm/trunk/src/m/enum/EnumToModelField.m

    r9357 r9610  
    2121                case VyObsEnum(), string='vy_obs'; return
    2222                case BasalMeltingRateEnum(), string='basal_melting_rate'; return
    23       case SurfaceAccumulationRateEnum(), string='surface_accumulation_rate'; return
    24                 case SurfaceAblationRateEnum(), string='surface_ablation_rate'; return
    25                 case SurfaceMassBalanceEnum(), string='surface_mass_balance'; return
     23      case SurfaceforcingsAccumulationRateEnum(), string='surface_accumulation_rate'; return
     24                case SurfaceforcingsAblationRateEnum(), string='surface_ablation_rate'; return
     25                case SurfaceforcingsMassBalanceEnum(), string='surface_mass_balance'; return
    2626                otherwise, error(['Enum ' num2str(enum)  ' not found associated to any model field']);
    2727
  • issm/trunk/src/m/model/basalstress.m

    r9597 r9610  
    99
    1010%compute exponents
    11 s=averaging(md,1./md.drag_p,0);
    12 r=averaging(md,md.drag_q./md.drag_p,0);
     11s=averaging(md,1./md.friction.p,0);
     12r=averaging(md,md.friction.q./md.friction.p,0);
    1313
    1414%compute horizontal velocity
     
    1818
    1919%compute basal drag
    20 bx=(md.constants.g*(md.rho_ice*md.thickness+md.rho_water*md.bed)).^r.*(md.drag_coefficient).^2.*ubx.^s;
    21 by=(md.constants.g*(md.rho_ice*md.thickness+md.rho_water*md.bed)).^r.*(md.drag_coefficient).^2.*uby.^s;
    22 b=(md.constants.g*(md.rho_ice*md.thickness+md.rho_water*md.bed)).^r.*(md.drag_coefficient).^2.*ub.^s;
     20bx=(md.constants.g*(md.rho_ice*md.thickness+md.rho_water*md.bed)).^r.*(md.friction.coefficient).^2.*ubx.^s;
     21by=(md.constants.g*(md.rho_ice*md.thickness+md.rho_water*md.bed)).^r.*(md.friction.coefficient).^2.*uby.^s;
     22b=(md.constants.g*(md.rho_ice*md.thickness+md.rho_water*md.bed)).^r.*(md.friction.coefficient).^2.*ub.^s;
  • issm/trunk/src/m/model/collapse.m

    r9607 r9610  
    1919
    2020%drag is limited to nodes that are on the bedrock.
    21 md.drag_coefficient=project2d(md,md.drag_coefficient,1);
     21md.friction.coefficient=project2d(md,md.friction.coefficient,1);
    2222
    2323%p and q (same deal, except for element that are on the bedrock: )
    24 md.drag_p=project2d(md,md.drag_p,1);
    25 md.drag_q=project2d(md,md.drag_q,1);
     24md.friction.p=project2d(md,md.friction.p,1);
     25md.friction.q=project2d(md,md.friction.q,1);
    2626
    2727%observations
  • issm/trunk/src/m/model/display/displayparameters.m

    r9451 r9610  
    2525fielddisplay(md,'g','acceleration due to gravity [m/s^2]');
    2626
    27 disp(sprintf('\n      Friction parameters (Sigma= drag^2 * Neff ^r * u ^s, with Neff=rho_ice*g*thickness+rho_ice*g*bed, r=q/p and s=1/p)'));
    28 fielddisplay(md,'drag_coefficient','friction coefficient [IS]');
    29 fielddisplay(md,'drag_p','p exponent');
    30 fielddisplay(md,'drag_q','q exponent');
     27
  • issm/trunk/src/m/model/extrude.m

    r9607 r9610  
    123123%Ok, now deal with the other fields from the 2d mesh:
    124124
    125 %drag_coefficient is limited to nodes that are on the bedrock.
    126 md.drag_coefficient=project3d(md,'vector',md.drag_coefficient,'type','node','layer',1);
     125%drag coefficient is limited to nodes that are on the bedrock.
     126md.friction.coefficient=project3d(md,'vector',md.friction.coefficient,'type','node','layer',1);
    127127
    128128%p and q (same deal, except for element that are on the bedrock: )
    129 md.drag_p=project3d(md,'vector',md.drag_p,'type','element');
    130 md.drag_q=project3d(md,'vector',md.drag_q,'type','element');
     129md.friction.p=project3d(md,'vector',md.friction.p,'type','element');
     130md.friction.q=project3d(md,'vector',md.friction.q,'type','element');
    131131
    132132%observations
  • issm/trunk/src/m/model/ismodelselfconsistent.m

    r9607 r9610  
    8282%}}}
    8383%NO NAN {{{1
    84 fields={'numberofelements','numberofnodes','x','y','z','drag_coefficient','drag_p','drag_q',...
     84fields={'numberofelements','numberofnodes','x','y','z','friction.coefficient','friction.p','friction.q',...
    8585        'rho_ice','rho_water','rheology_B','elementoniceshelf','surface','thickness','bed','constants.g','lowmem','nsteps','maxiter',...
    8686        'eps_res','max_nonlinear_iterations','rheology_n','nodeonbed','nodeonsurface','elementonbed','elementonsurface','elementconnectivity'};
     
    8888%}}}}
    8989%FIELDS >= 0 {{{1
    90 fields={'numberofelements','numberofnodes','elements','drag_coefficient','drag_p','drag_q',...
     90fields={'numberofelements','numberofnodes','elements','friction.coefficient','friction.p','friction.q',...
    9191        'rho_ice','rho_water','rheology_B','elementoniceshelf','thickness','constants.g','eps_res','max_nonlinear_iterations','eps_rel','eps_abs','nsteps','maxiter',...
    9292        'lowmem','rheology_n','nodeonbed','nodeonsurface','elementonbed','elementonsurface'};
     
    9494%}}}
    9595%FIELDS > 0 {{{1
    96 fields={'numberofelements','numberofnodes','elements','drag_p',...
     96fields={'numberofelements','numberofnodes','elements','friction.p',...
    9797        'rho_ice','rho_water','rheology_B','thickness','constants.g','max_nonlinear_iterations','eps_res','eps_rel','eps_abs','maxiter'};
    9898checkgreaterstrict(md,fields,0);
    9999%}}}
    100100%SIZE NUMBEROFELEMENTS {{{1
    101 fields={'drag_p','drag_q','elementoniceshelf','rheology_n','elementonbed'};
     101fields={'friction.p','friction.q','elementoniceshelf','rheology_n','elementonbed'};
    102102checksize(md,fields,[md.numberofelements 1]);
    103103%}}}
    104104%SIZE NUMBEROFNODES {{{1
    105 fields={'x','y','z','rheology_B','drag_coefficient','basal_melting_rate','surface','thickness','bed','nodeonbed','nodeonsurface'};
     105fields={'x','y','z','rheology_B','friction.coefficient','basal_melting_rate','surface','thickness','bed','nodeonbed','nodeonsurface'};
    106106checksize(md,fields,[md.numberofnodes 1]);
    107107%}}}
  • issm/trunk/src/m/model/parametercontroloptimization.m

    r9536 r9610  
    3030md2.eps_cm=NaN;
    3131md2.nsteps=getfieldvalue(options,'nsteps',5);
    32 md2.control_type=getfieldvalue(options,'md2.control_type',{'DragCoefficient'});
     32md2.control_type=getfieldvalue(options,'md2.control_type',{'FrictionCoefficient'});
    3333md2.maxiter=10*ones(md2.nsteps,1);
    3434md2.cm_jump=0.99*ones(md2.nsteps,1);
  • issm/trunk/src/m/model/parameterization/parametercontroldrag.m

    r9542 r9610  
    2121
    2222%control type
    23 md.control_type={'DragCoefficient'};
     23md.control_type={'FrictionCoefficient'};
    2424
    2525%weights
  • issm/trunk/src/m/model/plot/plot_basaldrag.m

    r9597 r9610  
    1717
    1818%compute exponents
    19 s=averaging(md,1./md.drag_p,0);
    20 r=averaging(md,md.drag_q./md.drag_p,0);
     19s=averaging(md,1./md.friction.p,0);
     20r=averaging(md,md.friction.q./md.friction.p,0);
    2121
    2222%compute horizontal velocity
     
    3030
    3131%compute basal drag
    32 drag=(max(md.constants.g*(md.rho_ice*md.thickness+md.rho_water*md.bed),0)).^r.*(md.drag_coefficient).^2.*ub.^s/1000;
     32drag=(max(md.constants.g*(md.rho_ice*md.thickness+md.rho_water*md.bed),0)).^r.*(md.friction.coefficient).^2.*ub.^s/1000;
    3333
    3434%Figure out if this is a Section plot
  • issm/trunk/src/m/qmu/qmu_correlation.m

    r4786 r9610  
    66%
    77%
    8 %   Example: mass_flux_drag_correlation=qmu_correlation(md,'drag','mass_flux');
    9 %
     8%   Example:
     9%      mass_flux_drag_correlation=qmu_correlation(md,'drag','mass_flux');
    1010
    1111if ~isfield(md.dakotaresults,'dresp_dat'),
  • issm/trunk/test/NightlyRun/test337.m

    r9541 r9610  
    66%control parameters
    77md.control_analysis=1;
    8 md.control_type={'DragCoefficient'};
     8md.control_type={'FrictionCoefficient'};
    99md.cm_min=1*ones(md.numberofnodes,1);
    1010md.cm_max=200*ones(md.numberofnodes,1);
     
    2121
    2222%Fields and tolerances to track changes
    23 field_names     ={'Gradient' 'Misfits' 'DragCoefficient' 'Pressure' 'Vel' 'Vx' 'Vy'};
     23field_names     ={'Gradient' 'Misfits' 'FrictionCoefficient' 'Pressure' 'Vel' 'Vx' 'Vy'};
    2424field_tolerances={1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13};
    2525field_values={...
    2626        PatchToVec(md.results.DiagnosticSolution.Gradient1),...
    2727        md.results.DiagnosticSolution.J,...
    28         PatchToVec(md.results.DiagnosticSolution.DragCoefficient),...
     28        PatchToVec(md.results.DiagnosticSolution.FrictionCoefficient),...
    2929        PatchToVec(md.results.DiagnosticSolution.Pressure),...
    3030        PatchToVec(md.results.DiagnosticSolution.Vel),...
  • issm/trunk/test/NightlyRun/test338.m

    r9541 r9610  
    66%control parameters
    77md.control_analysis=1;
    8 md.control_type={'DragCoefficient'};
     8md.control_type={'FrictionCoefficient'};
    99md.cm_min=1*ones(md.numberofnodes,1);
    1010md.cm_max=200*ones(md.numberofnodes,1);
     
    2121
    2222%Fields and tolerances to track changes
    23 field_names     ={'Gradient' 'Misfits' 'DragCoefficient' 'Pressure' 'Vel' 'Vx' 'Vy'};
     23field_names     ={'Gradient' 'Misfits' 'FrictionCoefficient' 'Pressure' 'Vel' 'Vx' 'Vy'};
    2424field_tolerances={1e-12,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13};
    2525field_values={...
    2626        PatchToVec(md.results.DiagnosticSolution.Gradient1),...
    2727        md.results.DiagnosticSolution.J,...
    28         PatchToVec(md.results.DiagnosticSolution.DragCoefficient),...
     28        PatchToVec(md.results.DiagnosticSolution.FrictionCoefficient),...
    2929        PatchToVec(md.results.DiagnosticSolution.Pressure),...
    3030        PatchToVec(md.results.DiagnosticSolution.Vel),...
  • issm/trunk/test/NightlyRun/test339.m

    r9541 r9610  
    77%control parameters
    88md.control_analysis=1;
    9 md.control_type={'DragCoefficient'};
     9md.control_type={'FrictionCoefficient'};
    1010md.cm_min=1*ones(md.numberofnodes,1);
    1111md.cm_max=200*ones(md.numberofnodes,1);
     
    2222
    2323%Fields and tolerances to track changes
    24 field_names     ={'Gradient' 'Misfits' 'DragCoefficient' 'Pressure' 'Vel' 'Vx' 'Vy'};
     24field_names     ={'Gradient' 'Misfits' 'FrictionCoefficient' 'Pressure' 'Vel' 'Vx' 'Vy'};
    2525field_tolerances={1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13};
    2626field_values={...
    2727        PatchToVec(md.results.DiagnosticSolution.Gradient1),...
    2828        md.results.DiagnosticSolution.J,...
    29         PatchToVec(md.results.DiagnosticSolution.DragCoefficient),...
     29        PatchToVec(md.results.DiagnosticSolution.FrictionCoefficient),...
    3030        PatchToVec(md.results.DiagnosticSolution.Pressure),...
    3131        PatchToVec(md.results.DiagnosticSolution.Vel),...
  • issm/trunk/test/NightlyRun/test340.m

    r9541 r9610  
    77%control parameters
    88md.control_analysis=1;
    9 md.control_type={'DragCoefficient'};
     9md.control_type={'FrictionCoefficient'};
    1010md.cm_min=1*ones(md.numberofnodes,1);
    1111md.cm_max=200*ones(md.numberofnodes,1);
     
    2222
    2323%Fields and tolerances to track changes
    24 field_names     ={'Gradient' 'Misfits' 'DragCoefficient' 'Pressure' 'Vel' 'Vx' 'Vy'};
     24field_names     ={'Gradient' 'Misfits' 'FrictionCoefficient' 'Pressure' 'Vel' 'Vx' 'Vy'};
    2525field_tolerances={1e-12,1e-12,1e-12,1e-12,1e-12,1e-12,1e-12,1e-12,1e-12,1e-12};
    2626field_values={...
    2727        PatchToVec(md.results.DiagnosticSolution.Gradient1),...
    2828        md.results.DiagnosticSolution.J,...
    29         PatchToVec(md.results.DiagnosticSolution.DragCoefficient),...
     29        PatchToVec(md.results.DiagnosticSolution.FrictionCoefficient),...
    3030        PatchToVec(md.results.DiagnosticSolution.Pressure),...
    3131        PatchToVec(md.results.DiagnosticSolution.Vel),...
  • issm/trunk/test/NightlyRun/test341.m

    r9541 r9610  
    77%control parameters
    88md.control_analysis=1;
    9 md.control_type={'DragCoefficient'};
     9md.control_type={'FrictionCoefficient'};
    1010md.cm_min=1*ones(md.numberofnodes,1);
    1111md.cm_max=200*ones(md.numberofnodes,1);
     
    2222
    2323%Fields and tolerances to track changes
    24 field_names     ={'Gradient' 'Misfits' 'DragCoefficient' 'Pressure' 'Vel' 'Vx' 'Vy'};
     24field_names     ={'Gradient' 'Misfits' 'FrictionCoefficient' 'Pressure' 'Vel' 'Vx' 'Vy'};
    2525field_tolerances={1e-09,1e-08,1e-09,1e-09,1e-09,1e-09,1e-09,1e-09,1e-09,1e-09};
    2626field_values={...
    2727        PatchToVec(md.results.DiagnosticSolution.Gradient1),...
    2828        md.results.DiagnosticSolution.J,...
    29         PatchToVec(md.results.DiagnosticSolution.DragCoefficient),...
     29        PatchToVec(md.results.DiagnosticSolution.FrictionCoefficient),...
    3030        PatchToVec(md.results.DiagnosticSolution.Pressure),...
    3131        PatchToVec(md.results.DiagnosticSolution.Vel),...
  • issm/trunk/test/NightlyRun/test342.m

    r9541 r9610  
    77%control parameters
    88md.control_analysis=1;
    9 md.control_type={'DragCoefficient'};
     9md.control_type={'FrictionCoefficient'};
    1010md.cm_min=1*ones(md.numberofnodes,1);
    1111md.cm_max=200*ones(md.numberofnodes,1);
     
    2222
    2323%Fields and tolerances to track changes
    24 field_names     ={'Gradient' 'Misfits' 'DragCoefficient' 'Pressure' 'Vel' 'Vx' 'Vy'};
     24field_names     ={'Gradient' 'Misfits' 'FrictionCoefficient' 'Pressure' 'Vel' 'Vx' 'Vy'};
    2525field_tolerances={1e-08,1e-07,1e-10,1e-10,1e-09,1e-09,1e-09};
    2626field_values={...
    2727        PatchToVec(md.results.DiagnosticSolution.Gradient1),...
    2828        md.results.DiagnosticSolution.J,...
    29         PatchToVec(md.results.DiagnosticSolution.DragCoefficient),...
     29        PatchToVec(md.results.DiagnosticSolution.FrictionCoefficient),...
    3030        PatchToVec(md.results.DiagnosticSolution.Pressure),...
    3131        PatchToVec(md.results.DiagnosticSolution.Vel),...
  • issm/trunk/test/NightlyRun/test343.m

    r9541 r9610  
    77%control parameters
    88md.control_analysis=1;
    9 md.control_type={'DragCoefficient'};
     9md.control_type={'FrictionCoefficient'};
    1010md.cm_min=1*ones(md.numberofnodes,1);
    1111md.cm_max=200*ones(md.numberofnodes,1);
     
    2222
    2323%Fields and tolerances to track changes
    24 field_names     ={'Gradient' 'Misfits' 'DragCoefficient' 'Pressure' 'Vel' 'Vx' 'Vy'};
     24field_names     ={'Gradient' 'Misfits' 'FrictionCoefficient' 'Pressure' 'Vel' 'Vx' 'Vy'};
    2525field_tolerances={1e-08,1e-09,1e-09,1e-09,1e-09,1e-09,1e-09,1e-09,1e-09,1e-09};
    2626field_values={...
    2727        PatchToVec(md.results.DiagnosticSolution.Gradient1),...
    2828        md.results.DiagnosticSolution.J,...
    29         PatchToVec(md.results.DiagnosticSolution.DragCoefficient),...
     29        PatchToVec(md.results.DiagnosticSolution.FrictionCoefficient),...
    3030        PatchToVec(md.results.DiagnosticSolution.Pressure),...
    3131        PatchToVec(md.results.DiagnosticSolution.Vel),...
  • issm/trunk/test/NightlyRun/test344.m

    r9541 r9610  
    77%control parameters
    88md.control_analysis=1;
    9 md.control_type={'DragCoefficient'};
     9md.control_type={'FrictionCoefficient'};
    1010md.cm_min=1*ones(md.numberofnodes,1);
    1111md.cm_max=200*ones(md.numberofnodes,1);
     
    2222
    2323%Fields and tolerances to track changes
    24 field_names     ={'Gradient' 'Misfits' 'DragCoefficient' 'Pressure' 'Vel' 'Vx' 'Vy'};
     24field_names     ={'Gradient' 'Misfits' 'FrictionCoefficient' 'Pressure' 'Vel' 'Vx' 'Vy'};
    2525field_tolerances={1e-06,1e-08,1e-09,1e-09,1e-09,1e-09,1e-09,1e-09,1e-09,1e-09};
    2626field_values={...
    2727        PatchToVec(md.results.DiagnosticSolution.Gradient1),...
    2828        md.results.DiagnosticSolution.J,...
    29         PatchToVec(md.results.DiagnosticSolution.DragCoefficient),...
     29        PatchToVec(md.results.DiagnosticSolution.FrictionCoefficient),...
    3030        PatchToVec(md.results.DiagnosticSolution.Pressure),...
    3131        PatchToVec(md.results.DiagnosticSolution.Vel),...
  • issm/trunk/test/NightlyRun/test423.m

    r9571 r9610  
    1414%variables
    1515md.variables.rho_ice=normal_uncertain('RhoIce',md.rho_ice,0.01);
    16 md.variables.drag_coefficient=normal_uncertain('scaled_DragCoefficient',1,.01);
    17 %md.variables.drag_coefficient=normal_uncertain('scaled_DragCoefficient',1,.01*ones(md.npart,1));
     16md.variables.drag_coefficient=normal_uncertain('scaled_FrictionCoefficient',1,.01);
     17%md.variables.drag_coefficient=normal_uncertain('scaled_FrictionCoefficient',1,.01*ones(md.npart,1));
    1818
    1919%responses
     
    3838%Fields and tolerances to track changes
    3939md=tres(md,'dakota');
    40 md.results.dakota.importancefactors=importancefactors(md,'scaled_DragCoefficient','MaxVel')';
     40md.results.dakota.importancefactors=importancefactors(md,'scaled_FrictionCoefficient','MaxVel')';
    4141field_names     ={'importancefactors'};
    4242field_tolerances={1e-10};
  • issm/trunk/test/NightlyRun/test424.m

    r9571 r9610  
    1515%variables
    1616md.variables.rho_ice=normal_uncertain('RhoIce',md.rho_ice,0.01);
    17 md.variables.drag_coefficient=normal_uncertain('scaled_DragCoefficient',1,0.01);
     17md.variables.drag_coefficient=normal_uncertain('scaled_FrictionCoefficient',1,0.01);
    1818
    1919%responses
     
    3737%Fields and tolerances to track changes
    3838md=tres(md,'dakota');
    39 md.results.dakota.importancefactors=importancefactors(md,'scaled_DragCoefficient','MaxVel')';
     39md.results.dakota.importancefactors=importancefactors(md,'scaled_FrictionCoefficient','MaxVel')';
    4040field_names     ={'importancefactors'};
    4141field_tolerances={1e-10};
  • issm/trunk/test/NightlyRun/test425.m

    r9571 r9610  
    1414%variables
    1515md.variables.rho_ice=normal_uncertain('RhoIce',md.rho_ice,0.01);
    16 md.variables.drag_coefficient=normal_uncertain('scaled_DragCoefficient',1,0.01);
     16md.variables.drag_coefficient=normal_uncertain('scaled_FrictionCoefficient',1,0.01);
    1717
    1818%responses
     
    3838%Fields and tolerances to track changes
    3939md=tres(md,'dakota');
    40 md.results.dakota.importancefactors=importancefactors(md,'scaled_DragCoefficient','MaxVel')';
     40md.results.dakota.importancefactors=importancefactors(md,'scaled_FrictionCoefficient','MaxVel')';
    4141field_names     ={'importancefactors'};
    4242field_tolerances={1e-10};
  • issm/trunk/test/NightlyRun/test426.m

    r9571 r9610  
    1414%variables
    1515md.variables.rho_ice=normal_uncertain('RhoIce',md.rho_ice,0.01);
    16 md.variables.drag_coefficient=normal_uncertain('scaled_DragCoefficient',1,0.01);
     16md.variables.drag_coefficient=normal_uncertain('scaled_FrictionCoefficient',1,0.01);
    1717
    1818%responses
     
    3838%Fields and tolerances to track changes
    3939md=tres(md,'dakota');
    40 md.results.dakota.importancefactors=importancefactors(md,'scaled_DragCoefficient','MaxVel')';
     40md.results.dakota.importancefactors=importancefactors(md,'scaled_FrictionCoefficient','MaxVel')';
    4141field_names     ={'importancefactors'};
    4242field_tolerances={1e-10};
  • issm/trunk/test/NightlyRun/test427.m

    r9571 r9610  
    2020
    2121%variables
    22 md.variables.drag_coefficient=normal_uncertain('scaled_DragCoefficient',1,0.01);
     22md.variables.drag_coefficient=normal_uncertain('scaled_FrictionCoefficient',1,0.01);
    2323
    2424%responses
  • issm/trunk/test/NightlyRun/test428.m

    r9571 r9610  
    2020
    2121%variables
    22 md.variables.drag_coefficient=normal_uncertain('scaled_DragCoefficient',1,0.01);
     22md.variables.drag_coefficient=normal_uncertain('scaled_FrictionCoefficient',1,0.01);
    2323
    2424%responses
  • issm/trunk/test/NightlyRun/test429.m

    r9541 r9610  
    77%control parameters
    88md.control_analysis=1;
    9 md.control_type={'DragCoefficient'};
     9md.control_type={'FrictionCoefficient'};
    1010md.cm_min=1*ones(md.numberofnodes,1);
    1111md.cm_max=200*ones(md.numberofnodes,1);
     
    2323
    2424%Fields and tolerances to track changes
    25 field_names     ={'Gradient' 'Misfits' 'DragCoefficient' 'Pressure' 'Vel' 'Vx' 'Vy' 'Vz' 'Temperature' 'BasalMeltingRate'};
     25field_names     ={'Gradient' 'Misfits' 'FrictionCoefficient' 'Pressure' 'Vel' 'Vx' 'Vy' 'Vz' 'Temperature' 'BasalMeltingRate'};
    2626field_tolerances={1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13};
    2727field_values={...
    2828        PatchToVec(md.results.SteadystateSolution.Gradient1),...
    2929        md.results.SteadystateSolution.J,...
    30         PatchToVec(md.results.SteadystateSolution.DragCoefficient),...
     30        PatchToVec(md.results.SteadystateSolution.FrictionCoefficient),...
    3131        PatchToVec(md.results.SteadystateSolution.Pressure),...
    3232        PatchToVec(md.results.SteadystateSolution.Vel),...
  • issm/trunk/test/NightlyRun/test430.m

    r9541 r9610  
    77%control parameters
    88md.control_analysis=1;
    9 md.control_type={'DragCoefficient'};
     9md.control_type={'FrictionCoefficient'};
    1010md.cm_min=1*ones(md.numberofnodes,1);
    1111md.cm_max=200*ones(md.numberofnodes,1);
     
    2323
    2424%Fields and tolerances to track changes
    25 field_names     ={'Gradient' 'Misfits' 'DragCoefficient' 'Pressure' 'Vel' 'Vx' 'Vy' 'Vz' 'Temperature' 'BasalMeltingRate'};
     25field_names     ={'Gradient' 'Misfits' 'FrictionCoefficient' 'Pressure' 'Vel' 'Vx' 'Vy' 'Vz' 'Temperature' 'BasalMeltingRate'};
    2626field_tolerances={1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-9,1e-13,1e-6};
    2727field_values={...
    2828        PatchToVec(md.results.SteadystateSolution.Gradient1),...
    2929        md.results.SteadystateSolution.J,...
    30         PatchToVec(md.results.SteadystateSolution.DragCoefficient),...
     30        PatchToVec(md.results.SteadystateSolution.FrictionCoefficient),...
    3131        PatchToVec(md.results.SteadystateSolution.Pressure),...
    3232        PatchToVec(md.results.SteadystateSolution.Vel),...
  • issm/trunk/test/NightlyRun/test431.m

    r9541 r9610  
    77%control parameters
    88md.control_analysis=1;
    9 md.control_type={'DragCoefficient'};
     9md.control_type={'FrictionCoefficient'};
    1010md.cm_min=1*ones(md.numberofnodes,1);
    1111md.cm_max=200*ones(md.numberofnodes,1);
     
    2323
    2424%Fields and tolerances to track changes
    25 field_names     ={'Gradient' 'Misfits' 'DragCoefficient' 'Pressure' 'Vel' 'Vx' 'Vy' 'Vz' 'Temperature' 'BasalMeltingRate'};
     25field_names     ={'Gradient' 'Misfits' 'FrictionCoefficient' 'Pressure' 'Vel' 'Vx' 'Vy' 'Vz' 'Temperature' 'BasalMeltingRate'};
    2626field_tolerances={1e-08,1e-08,1e-08,1e-08,1e-08,1e-08,1e-08,1e-08,1e-08,1e-06};
    2727field_values={...
    2828        PatchToVec(md.results.SteadystateSolution.Gradient1),...
    2929        md.results.SteadystateSolution.J,...
    30         PatchToVec(md.results.SteadystateSolution.DragCoefficient),...
     30        PatchToVec(md.results.SteadystateSolution.FrictionCoefficient),...
    3131        PatchToVec(md.results.SteadystateSolution.Pressure),...
    3232        PatchToVec(md.results.SteadystateSolution.Vel),...
  • issm/trunk/test/NightlyRun/test432.m

    r9541 r9610  
    77%control parameters
    88md.control_analysis=1;
    9 md.control_type={'DragCoefficient'};
     9md.control_type={'FrictionCoefficient'};
    1010md.cm_min=1*ones(md.numberofnodes,1);
    1111md.cm_max=200*ones(md.numberofnodes,1);
     
    2323
    2424%Fields and tolerances to track changes
    25 field_names     ={'Gradient' 'Misfits' 'DragCoefficient' 'Pressure' 'Vel' 'Vx' 'Vy' 'Vz' 'Temperature' 'BasalMeltingRate'};
     25field_names     ={'Gradient' 'Misfits' 'FrictionCoefficient' 'Pressure' 'Vel' 'Vx' 'Vy' 'Vz' 'Temperature' 'BasalMeltingRate'};
    2626field_tolerances={1e-08,1e-07,1e-08,1e-08,1e-08,1e-08,1e-08,1e-07,1e-08,1e-05};
    2727field_values={...
    2828        PatchToVec(md.results.SteadystateSolution.Gradient1),...
    2929        md.results.SteadystateSolution.J,...
    30         PatchToVec(md.results.SteadystateSolution.DragCoefficient),...
     30        PatchToVec(md.results.SteadystateSolution.FrictionCoefficient),...
    3131        PatchToVec(md.results.SteadystateSolution.Pressure),...
    3232        PatchToVec(md.results.SteadystateSolution.Vel),...
  • issm/trunk/test/NightlyRun/test434.m

    r9571 r9610  
    1313
    1414%Dakota options
    15 md.variables.drag_coefficient=normal_uncertain('scaled_DragCoefficient',1,0.01);
     15md.variables.drag_coefficient=normal_uncertain('scaled_FrictionCoefficient',1,0.01);
    1616
    1717md.responses.MaxVel=response_function('MaxVel',[],[0.0001 0.001 0.01 0.25 0.5 0.75 0.99 0.999 0.9999]);
  • issm/trunk/test/NightlyRun/test523.m

    r9541 r9610  
    77%control parameters
    88md.control_analysis=1;
    9 md.control_type={'DragCoefficient'};
     9md.control_type={'FrictionCoefficient'};
    1010md.cm_min=1*ones(md.numberofnodes,1);
    1111md.cm_max=200*ones(md.numberofnodes,1);
     
    2222
    2323%Fields and tolerances to track changes
    24 field_names     ={'Gradient' 'Misfits' 'DragCoefficient' 'Pressure' 'Vel' 'Vx' 'Vy'};
     24field_names     ={'Gradient' 'Misfits' 'FrictionCoefficient' 'Pressure' 'Vel' 'Vx' 'Vy'};
    2525field_tolerances={1e-11,1e-11,1e-11,1e-11,1e-11,1e-11,1e-11,1e-11,1e-11,1e-11};
    2626field_values={...
    2727        PatchToVec(md.results.DiagnosticSolution.Gradient1),...
    2828        md.results.DiagnosticSolution.J,...
    29         PatchToVec(md.results.DiagnosticSolution.DragCoefficient),...
     29        PatchToVec(md.results.DiagnosticSolution.FrictionCoefficient),...
    3030        PatchToVec(md.results.DiagnosticSolution.Pressure),...
    3131        PatchToVec(md.results.DiagnosticSolution.Vel),...
  • issm/trunk/test/NightlyRun/test524.m

    r9541 r9610  
    77%control parameters
    88md.control_analysis=1;
    9 md.control_type={'DragCoefficient'};
     9md.control_type={'FrictionCoefficient'};
    1010md.cm_min=1*ones(md.numberofnodes,1);
    1111md.cm_max=200*ones(md.numberofnodes,1);
     
    2222
    2323%Fields and tolerances to track changes
    24 field_names     ={'Gradient' 'Misfits' 'DragCoefficient' 'Pressure' 'Vel' 'Vx' 'Vy'};
     24field_names     ={'Gradient' 'Misfits' 'FrictionCoefficient' 'Pressure' 'Vel' 'Vx' 'Vy'};
    2525field_tolerances={1e-11,1e-11,1e-11,1e-11,1e-11,1e-11,1e-11,1e-11,1e-11,1e-11};
    2626field_values={...
    2727        PatchToVec(md.results.DiagnosticSolution.Gradient1),...
    2828        md.results.DiagnosticSolution.J,...
    29         PatchToVec(md.results.DiagnosticSolution.DragCoefficient),...
     29        PatchToVec(md.results.DiagnosticSolution.FrictionCoefficient),...
    3030        PatchToVec(md.results.DiagnosticSolution.Pressure),...
    3131        PatchToVec(md.results.DiagnosticSolution.Vel),...
  • issm/trunk/test/NightlyRun/test525.m

    r9541 r9610  
    77%control parameters
    88md.control_analysis=1;
    9 md.control_type={'DragCoefficient'};
     9md.control_type={'FrictionCoefficient'};
    1010md.cm_min=1*ones(md.numberofnodes,1);
    1111md.cm_max=200*ones(md.numberofnodes,1);
     
    2323
    2424%Fields and tolerances to track changes
    25 field_names     ={'Gradient' 'Misfits' 'DragCoefficient' 'Pressure' 'Vel' 'Vx' 'Vy' 'Vz' 'Temperature' 'BasalMeltingRate'};
     25field_names     ={'Gradient' 'Misfits' 'FrictionCoefficient' 'Pressure' 'Vel' 'Vx' 'Vy' 'Vz' 'Temperature' 'BasalMeltingRate'};
    2626field_tolerances={1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13};
    2727field_values={...
    2828        PatchToVec(md.results.SteadystateSolution.Gradient1),...
    2929        md.results.SteadystateSolution.J,...
    30         PatchToVec(md.results.SteadystateSolution.DragCoefficient),...
     30        PatchToVec(md.results.SteadystateSolution.FrictionCoefficient),...
    3131        PatchToVec(md.results.SteadystateSolution.Pressure),...
    3232        PatchToVec(md.results.SteadystateSolution.Vel),...
  • issm/trunk/test/NightlyRun/test526.m

    r9541 r9610  
    77%control parameters
    88md.control_analysis=1;
    9 md.control_type={'DragCoefficient'};
     9md.control_type={'FrictionCoefficient'};
    1010md.cm_min=1*ones(md.numberofnodes,1);
    1111md.cm_max=200*ones(md.numberofnodes,1);
     
    2323
    2424%Fields and tolerances to track changes
    25 field_names     ={'Gradient' 'Misfits' 'DragCoefficient' 'Pressure' 'Vel' 'Vx' 'Vy' 'Vz' 'Temperature' 'BasalMeltingRate'};
     25field_names     ={'Gradient' 'Misfits' 'FrictionCoefficient' 'Pressure' 'Vel' 'Vx' 'Vy' 'Vz' 'Temperature' 'BasalMeltingRate'};
    2626field_tolerances={1e-10,1e-10,1e-10,1e-10,1e-6,1e-6,1e-6,1e-6,1e-6,1e-06};
    2727field_values={...
    2828        PatchToVec(md.results.SteadystateSolution.Gradient1),...
    2929        md.results.SteadystateSolution.J,...
    30         PatchToVec(md.results.SteadystateSolution.DragCoefficient),...
     30        PatchToVec(md.results.SteadystateSolution.FrictionCoefficient),...
    3131        PatchToVec(md.results.SteadystateSolution.Pressure),...
    3232        PatchToVec(md.results.SteadystateSolution.Vel),...
  • issm/trunk/test/Par/79North.par

    r9607 r9610  
    1717%Friction
    1818pos=find(md.elementoniceshelf);
    19 md.drag_coefficient=50*ones(md.numberofnodes,1);
    20 md.drag_coefficient(md.elements(pos,:))=0;
    21 md.drag_p=ones(md.numberofelements,1);
    22 md.drag_q=ones(md.numberofelements,1);
     19md.friction.coefficient=50*ones(md.numberofnodes,1);
     20md.friction.coefficient(md.elements(pos,:))=0;
     21md.friction.p=ones(md.numberofelements,1);
     22md.friction.q=ones(md.numberofelements,1);
    2323
    2424%Ice shelf melting and surface mass balance
  • issm/trunk/test/Par/ISMIPA.par

    r9481 r9610  
    77
    88disp('      creating drag');
    9 md.drag_coefficient=200*ones(md.numberofnodes,1); %q=1.
     9md.friction.coefficient=200*ones(md.numberofnodes,1); %q=1.
    1010%Take care of iceshelves: no basal drag
    1111pos=find(md.elementoniceshelf);
    12 md.drag_coefficient(md.elements(pos,:))=0;
    13 md.drag_p=ones(md.numberofelements,1);
    14 md.drag_q=ones(md.numberofelements,1);
     12md.friction.coefficient(md.elements(pos,:))=0;
     13md.friction.p=ones(md.numberofelements,1);
     14md.friction.q=ones(md.numberofelements,1);
    1515
    1616disp('      creating flow law paramter');
  • issm/trunk/test/Par/ISMIPB.par

    r9481 r9610  
    77
    88disp('      creating drag');
    9 md.drag_coefficient=200*ones(md.numberofnodes,1); %q=1.
     9md.friction.coefficient=200*ones(md.numberofnodes,1); %q=1.
    1010%Take care of iceshelves: no basal drag
    1111pos=find(md.elementoniceshelf);
    12 md.drag_coefficient(md.elements(pos,:))=0;
    13 md.drag_p=ones(md.numberofelements,1);
    14 md.drag_q=ones(md.numberofelements,1);
     12md.friction.coefficient(md.elements(pos,:))=0;
     13md.friction.p=ones(md.numberofelements,1);
     14md.friction.q=ones(md.numberofelements,1);
    1515
    1616disp('      creating flow law paramter');
  • issm/trunk/test/Par/ISMIPC.par

    r9597 r9610  
    77
    88disp('      creating drag');
    9 %md.drag_coefficient=sqrt(md.constants.yts.*(1000+1000*sin(md.x*2*pi/max(md.x/2)).*sin(md.y*2*pi/max(md.x/2)))./(md.constants.g*(md.rho_ice*md.thickness+md.rho_water*md.bed)));
    10 md.drag_coefficient=sqrt(md.constants.yts.*(1000+1000*sin(md.x*2*pi/max(md.x)).*sin(md.y*2*pi/max(md.x))));
     9%md.friction.coefficient=sqrt(md.constants.yts.*(1000+1000*sin(md.x*2*pi/max(md.x/2)).*sin(md.y*2*pi/max(md.x/2)))./(md.constants.g*(md.rho_ice*md.thickness+md.rho_water*md.bed)));
     10md.friction.coefficient=sqrt(md.constants.yts.*(1000+1000*sin(md.x*2*pi/max(md.x)).*sin(md.y*2*pi/max(md.x))));
    1111%Take care of iceshelves: no basal drag
    1212pos=find(md.elementoniceshelf);
    13 md.drag_coefficient(md.elements(pos,:))=0;
    14 md.drag_p=ones(md.numberofelements,1);
    15 md.drag_q=zeros(md.numberofelements,1);
     13md.friction.coefficient(md.elements(pos,:))=0;
     14md.friction.p=ones(md.numberofelements,1);
     15md.friction.q=zeros(md.numberofelements,1);
    1616
    1717disp('      creating flow law paramter');
  • issm/trunk/test/Par/ISMIPD.par

    r9597 r9610  
    77
    88disp('      creating drag');
    9 md.drag_coefficient=sqrt(md.constants.yts.*(1000+1000*sin(md.x*2*pi/max(md.x))));
     9md.friction.coefficient=sqrt(md.constants.yts.*(1000+1000*sin(md.x*2*pi/max(md.x))));
    1010%Take care of iceshelves: no basal drag
    1111pos=find(md.elementoniceshelf);
    12 md.drag_coefficient(md.elements(pos,:))=0;
    13 md.drag_p=ones(md.numberofelements,1);
    14 md.drag_q=zeros(md.numberofelements,1);
     12md.friction.coefficient(md.elements(pos,:))=0;
     13md.friction.p=ones(md.numberofelements,1);
     14md.friction.q=zeros(md.numberofelements,1);
    1515
    1616disp('      creating flow law paramter');
  • issm/trunk/test/Par/ISMIPE.par

    r9481 r9610  
    1919
    2020disp('      creating drag');
    21 md.drag_coefficient=zeros(md.numberofnodes,1);
    22 md.drag_p=ones(md.numberofelements,1);
    23 md.drag_q=ones(md.numberofelements,1);
     21md.friction.coefficient=zeros(md.numberofnodes,1);
     22md.friction.p=ones(md.numberofelements,1);
     23md.friction.q=ones(md.numberofelements,1);
    2424
    2525disp('      creating flow law paramter');
  • issm/trunk/test/Par/ISMIPF.par

    r9597 r9610  
    99
    1010disp('      creating drag');
    11 md.drag_coefficient=sqrt(md.constants.yts/(2.140373*10^-7*1000))*ones(md.numberofnodes,1);
    12 md.drag_p=ones(md.numberofelements,1);
    13 md.drag_q=zeros(md.numberofelements,1);
     11md.friction.coefficient=sqrt(md.constants.yts/(2.140373*10^-7*1000))*ones(md.numberofnodes,1);
     12md.friction.p=ones(md.numberofelements,1);
     13md.friction.q=zeros(md.numberofelements,1);
    1414
    1515disp('      creating flow law paramter');
  • issm/trunk/test/Par/Pig.par

    r9455 r9610  
    2222%Friction
    2323pos=find(md.elementoniceshelf);
    24 md.drag_coefficient=50*ones(md.numberofnodes,1);
    25 md.drag_coefficient(md.elements(pos,:))=0;
    26 md.drag_p=ones(md.numberofelements,1);
    27 md.drag_q=ones(md.numberofelements,1);
     24md.friction.coefficient=50*ones(md.numberofnodes,1);
     25md.friction.coefficient(md.elements(pos,:))=0;
     26md.friction.p=ones(md.numberofelements,1);
     27md.friction.q=ones(md.numberofelements,1);
    2828
    2929%Numerical parameters
  • issm/trunk/test/Par/RoundSheetEISMINT.par

    r9607 r9610  
    66
    77disp('      creating drag');
    8 md.drag_coefficient=20*ones(md.numberofnodes,1); %q=1. %no drag is specified in the analytical solution
    9 md.drag_p=ones(md.numberofelements,1);
    10 md.drag_q=ones(md.numberofelements,1);
     8md.friction.coefficient=20*ones(md.numberofnodes,1); %q=1. %no drag is specified in the analytical solution
     9md.friction.p=ones(md.numberofelements,1);
     10md.friction.q=ones(md.numberofelements,1);
    1111
    1212disp('      creating temperatures');
  • issm/trunk/test/Par/RoundSheetShelf.par

    r9607 r9610  
    5151%Friction
    5252pos=find(md.elementoniceshelf);
    53 md.drag_coefficient=20*ones(md.numberofnodes,1);
    54 md.drag_coefficient(md.elements(pos,:))=0;
    55 md.drag_p=ones(md.numberofelements,1);
    56 md.drag_q=ones(md.numberofelements,1);
     53md.friction.coefficient=20*ones(md.numberofnodes,1);
     54md.friction.coefficient(md.elements(pos,:))=0;
     55md.friction.p=ones(md.numberofelements,1);
     56md.friction.q=ones(md.numberofelements,1);
    5757
    5858%Numerical parameters
  • issm/trunk/test/Par/RoundSheetStaticEISMINT.par

    r9607 r9610  
    99
    1010disp('      creating drag');
    11 md.drag_coefficient=20*ones(md.numberofnodes,1); %q=1. %no drag is specified in the analytical solution
     11md.friction.coefficient=20*ones(md.numberofnodes,1); %q=1. %no drag is specified in the analytical solution
    1212%Take care of iceshelves: no basal drag
    1313pos=find(md.elementoniceshelf);
    14 md.drag_coefficient(md.elements(pos,:))=0;
    15 md.drag_p=ones(md.numberofelements,1);
    16 md.drag_q=ones(md.numberofelements,1);
     14md.friction.coefficient(md.elements(pos,:))=0;
     15md.friction.p=ones(md.numberofelements,1);
     16md.friction.q=ones(md.numberofelements,1);
    1717
    1818disp('      creating temperatures');
  • issm/trunk/test/Par/SquareEISMINT.par

    r9607 r9610  
    99
    1010disp('      creating drag');
    11 md.drag_coefficient=200*ones(md.numberofnodes,1); %q=1.
     11md.friction.coefficient=200*ones(md.numberofnodes,1); %q=1.
    1212%Take care of iceshelves: no basal drag
    1313pos=find(md.elementoniceshelf);
    14 md.drag_coefficient(md.elements(pos,:))=0;
    15 md.drag_p=ones(md.numberofelements,1);
    16 md.drag_q=ones(md.numberofelements,1);
     14md.friction.coefficient(md.elements(pos,:))=0;
     15md.friction.p=ones(md.numberofelements,1);
     16md.friction.q=ones(md.numberofelements,1);
    1717
    1818disp('      creating temperature');
  • issm/trunk/test/Par/SquareSheetConstrained.par

    r9455 r9610  
    2525%Friction
    2626pos=find(md.elementoniceshelf);
    27 md.drag_coefficient=20*ones(md.numberofnodes,1);
    28 md.drag_coefficient(md.elements(pos,:))=0;
    29 md.drag_p=ones(md.numberofelements,1);
    30 md.drag_q=ones(md.numberofelements,1);
     27md.friction.coefficient=20*ones(md.numberofnodes,1);
     28md.friction.coefficient(md.elements(pos,:))=0;
     29md.friction.p=ones(md.numberofelements,1);
     30md.friction.q=ones(md.numberofelements,1);
    3131
    3232%Numerical parameters
  • issm/trunk/test/Par/SquareSheetShelf.par

    r9607 r9610  
    3232%Friction
    3333pos=find(md.elementoniceshelf);
    34 md.drag_coefficient=20*ones(md.numberofnodes,1);
    35 md.drag_coefficient(md.elements(pos,:))=0;
    36 md.drag_p=ones(md.numberofelements,1);
    37 md.drag_q=ones(md.numberofelements,1);
     34md.friction.coefficient=20*ones(md.numberofnodes,1);
     35md.friction.coefficient(md.elements(pos,:))=0;
     36md.friction.p=ones(md.numberofelements,1);
     37md.friction.q=ones(md.numberofelements,1);
    3838
    3939%Numerical parameters
  • issm/trunk/test/Par/SquareShelf.par

    r9455 r9610  
    2525%Friction
    2626pos=find(md.elementoniceshelf);
    27 md.drag_coefficient=20*ones(md.numberofnodes,1);
    28 md.drag_coefficient(md.elements(pos,:))=0;
    29 md.drag_p=ones(md.numberofelements,1);
    30 md.drag_q=ones(md.numberofelements,1);
     27md.friction.coefficient=20*ones(md.numberofnodes,1);
     28md.friction.coefficient(md.elements(pos,:))=0;
     29md.friction.p=ones(md.numberofelements,1);
     30md.friction.q=ones(md.numberofelements,1);
    3131
    3232%Numerical parameters
  • issm/trunk/test/Par/SquareShelfConstrained.par

    r9607 r9610  
    2929%Friction
    3030pos=find(md.elementoniceshelf);
    31 md.drag_coefficient=20*ones(md.numberofnodes,1);
    32 md.drag_coefficient(md.elements(pos,:))=0;
    33 md.drag_p=ones(md.numberofelements,1);
    34 md.drag_q=ones(md.numberofelements,1);
     31md.friction.coefficient=20*ones(md.numberofnodes,1);
     32md.friction.coefficient(md.elements(pos,:))=0;
     33md.friction.p=ones(md.numberofelements,1);
     34md.friction.q=ones(md.numberofelements,1);
    3535
    3636%Numerical parameters
  • issm/trunk/test/Par/SquareThermal.par

    r9607 r9610  
    1515
    1616disp('      creating drag');
    17 md.drag_coefficient=200*ones(md.numberofnodes,1); %q=1.
     17md.friction.coefficient=200*ones(md.numberofnodes,1); %q=1.
    1818%Take care of iceshelves: no basal drag
    1919pos=find(md.elementoniceshelf);
    20 md.drag_coefficient(md.elements(pos,:))=0;
    21 md.drag_p=ones(md.numberofelements,1);
    22 md.drag_q=ones(md.numberofelements,1);
     20md.friction.coefficient(md.elements(pos,:))=0;
     21md.friction.p=ones(md.numberofelements,1);
     22md.friction.q=ones(md.numberofelements,1);
    2323
    2424disp('      creating temperatures');
Note: See TracChangeset for help on using the changeset viewer.