Changeset 9610
- Timestamp:
- 09/06/11 11:11:00 (14 years ago)
- Location:
- issm/trunk
- Files:
-
- 7 added
- 6 deleted
- 65 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk/src/c/EnumDefinitions/EnumDefinitions.h
r9607 r9610 18 18 SurfaceforcingsAblationRateEnum, 19 19 SurfaceforcingsMassBalanceEnum, 20 FrictionCoefficientEnum, 21 FrictionPEnum, 22 FrictionQEnum, 20 23 /*}}}*/ 21 24 /*Datasets {{{1*/ … … 174 177 ControlTypeEnum, 175 178 ConvergedEnum, 176 DragCoefficientEnum,177 DragPEnum,178 DragQEnum,179 179 DtEnum, 180 180 TimeAdaptEnum, -
issm/trunk/src/c/EnumDefinitions/EnumToModelField.cpp
r9607 r9610 2 2 * \brief: output string associated with enum, that corresponds to a model field 3 3 * for example: ThicknessEnum corresponds to model field thickness 4 * DragCoefficientEnum corresponds to model field drag4 * FrictionCoefficientEnum corresponds to model field drag 5 5 */ 6 6 … … 14 14 15 15 case ThicknessEnum : return "thickness"; 16 case DragCoefficientEnum : return "drag_coefficient";16 case FrictionCoefficientEnum : return "drag_coefficient"; 17 17 case RheologyBEnum : return "rheology_B"; 18 18 case RheologyBbarEnum : return "rheology_B"; -
issm/trunk/src/c/modules/EnumToStringx/EnumToStringx.cpp
r9607 r9610 22 22 case SurfaceforcingsAblationRateEnum : return "SurfaceforcingsAblationRate"; 23 23 case SurfaceforcingsMassBalanceEnum : return "SurfaceforcingsMassBalance"; 24 case FrictionCoefficientEnum : return "FrictionCoefficient"; 25 case FrictionPEnum : return "FrictionP"; 26 case FrictionQEnum : return "FrictionQ"; 24 27 case ConstraintsEnum : return "Constraints"; 25 28 case ElementsEnum : return "Elements"; … … 141 144 case ControlTypeEnum : return "ControlType"; 142 145 case ConvergedEnum : return "Converged"; 143 case DragCoefficientEnum : return "DragCoefficient";144 case DragPEnum : return "DragP";145 case DragQEnum : return "DragQ";146 146 case DtEnum : return "Dt"; 147 147 case TimeAdaptEnum : return "TimeAdapt"; -
issm/trunk/src/c/modules/ModelProcessorx/Control/UpdateElementsAndMaterialsControl.cpp
r9405 r9610 46 46 case VxEnum: iomodel->FetchData(1,VxEnum); break; 47 47 case VyEnum: iomodel->FetchData(1,VyEnum); break; 48 case DragCoefficientEnum: iomodel->FetchData(1,DragCoefficientEnum); break;48 case FrictionCoefficientEnum: iomodel->FetchData(1,FrictionCoefficientEnum); break; 49 49 case RheologyBbarEnum: iomodel->FetchData(1,RheologyBEnum); break; 50 50 default: _error_("Control %s not implemented yet",EnumToStringx((int)iomodel->Data(ControlTypeEnum)[i])); … … 66 66 67 67 /*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); 69 69 } -
issm/trunk/src/c/modules/ModelProcessorx/DiagnosticHoriz/UpdateElementsDiagnosticHoriz.cpp
r9607 r9610 52 52 iomodel->FetchDataToInput(elements,SurfaceEnum); 53 53 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); 57 57 iomodel->FetchDataToInput(elements,ElementOnIceShelfEnum); 58 58 iomodel->FetchDataToInput(elements,ElementOnWaterEnum); -
issm/trunk/src/c/modules/ModelProcessorx/Enthalpy/UpdateElementsEnthalpy.cpp
r9405 r9610 42 42 iomodel->FetchDataToInput(elements,SurfaceEnum); 43 43 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); 47 47 iomodel->FetchDataToInput(elements,ElementOnIceShelfEnum); 48 48 iomodel->FetchDataToInput(elements,ElementOnBedEnum); -
issm/trunk/src/c/modules/ModelProcessorx/Hydrology/UpdateElementsHydrology.cpp
r9405 r9610 35 35 iomodel->FetchDataToInput(elements,SurfaceEnum); 36 36 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); 40 40 iomodel->FetchDataToInput(elements,ElementOnIceShelfEnum); 41 41 iomodel->FetchDataToInput(elements,ElementOnBedEnum); -
issm/trunk/src/c/modules/ModelProcessorx/Melting/UpdateElementsMelting.cpp
r9607 r9610 43 43 iomodel->FetchDataToInput(elements,SurfaceEnum); 44 44 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); 48 48 iomodel->FetchDataToInput(elements,ElementOnIceShelfEnum); 49 49 iomodel->FetchDataToInput(elements,ElementOnBedEnum); -
issm/trunk/src/c/modules/ModelProcessorx/Thermal/UpdateElementsThermal.cpp
r9571 r9610 44 44 iomodel->FetchDataToInput(elements,SurfaceEnum); 45 45 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); 49 49 iomodel->FetchDataToInput(elements,ElementOnIceShelfEnum); 50 50 iomodel->FetchDataToInput(elements,ElementOnBedEnum); -
issm/trunk/src/c/modules/Responsex/Responsex.cpp
r9320 r9610 42 42 case DragCoefficientAbsGradientEnum:DragCoefficientAbsGradientx(responses, elements,nodes, vertices, loads, materials, parameters,process_units,weight_index); break; 43 43 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; 45 45 default: _error_(" response descriptor \"%s\" not supported yet!",response_descriptor); break; 46 46 } -
issm/trunk/src/c/modules/StringToEnumx/StringToEnumx.cpp
r9607 r9610 20 20 else if (strcmp(name,"SurfaceforcingsAblationRate")==0) return SurfaceforcingsAblationRateEnum; 21 21 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; 22 25 else if (strcmp(name,"Constraints")==0) return ConstraintsEnum; 23 26 else if (strcmp(name,"Elements")==0) return ElementsEnum; … … 139 142 else if (strcmp(name,"ControlType")==0) return ControlTypeEnum; 140 143 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;144 144 else if (strcmp(name,"Dt")==0) return DtEnum; 145 145 else if (strcmp(name,"TimeAdapt")==0) return TimeAdaptEnum; -
issm/trunk/src/c/objects/Elements/Penta.cpp
r9607 r9610 4409 4409 switch(control_type){ 4410 4410 4411 case DragCoefficientEnum:4411 case FrictionCoefficientEnum: 4412 4412 inputs->GetParameterValue(&approximation,ApproximationEnum); 4413 4413 switch(approximation){ … … 4528 4528 Input* vx_input=inputs->GetInput(VxEnum); _assert_(vx_input); 4529 4529 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); 4531 4531 4532 4532 /*Build frictoin element, needed later: */ … … 4597 4597 for(i=0;i<NUMVERTICES2D;i++) for(j=0;j<2;j++) xyz_list_tria[i][j]=xyz_list[i][j]; 4598 4598 GetDofList1(&doflist1[0]); 4599 Input* drag_input =inputs->GetInput( DragCoefficientEnum); _assert_(drag_input);4599 Input* drag_input =inputs->GetInput(FrictionCoefficientEnum); _assert_(drag_input); 4600 4600 Input* vx_input =inputs->GetInput(VxEnum); _assert_(vx_input); 4601 4601 Input* vy_input =inputs->GetInput(VyEnum); _assert_(vy_input); … … 5196 5196 } 5197 5197 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]; 5201 5201 for(j=0;j<6;j++)cmmininputs[j]=iomodel->Data(CmMinEnum)[(penta_vertex_ids[j]-1)*num_control_type+i]; 5202 5202 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)); 5204 5204 } 5205 5205 break; … … 6599 6599 name==VzObsEnum || 6600 6600 name==TemperatureEnum || 6601 name== DragCoefficientEnum ||6601 name==FrictionCoefficientEnum || 6602 6602 name==GradientEnum || 6603 6603 name==OldGradientEnum || -
issm/trunk/src/c/objects/Elements/Tria.cpp
r9607 r9610 1405 1405 Input* thickness_input=inputs->GetInput(ThicknessEnum); _assert_(thickness_input); 1406 1406 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); 1408 1408 1409 1409 /* Start looping on the number of gaussian points: */ … … 2276 2276 GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES); 2277 2277 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); 2279 2279 2280 2280 /* Start looping on the number of gaussian points: */ … … 2694 2694 /*First deal with ∂/∂alpha(KU-F)*/ 2695 2695 switch(control_type){ 2696 case DragCoefficientEnum:2696 case FrictionCoefficientEnum: 2697 2697 GradjDragMacAyeal(gradient); 2698 2698 break; … … 2873 2873 Input* vx_input=inputs->GetInput(VxEnum); _assert_(vx_input); 2874 2874 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); 2876 2876 2877 2877 /* Start looping on the number of gaussian points: */ … … 2944 2944 GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES); 2945 2945 GetDofList1(&doflist1[0]); 2946 Input* dragcoefficient_input=inputs->GetInput( DragCoefficientEnum); _assert_(dragcoefficient_input);2946 Input* dragcoefficient_input=inputs->GetInput(FrictionCoefficientEnum); _assert_(dragcoefficient_input); 2947 2947 Input* weights_input=inputs->GetInput(WeightsEnum); _assert_(weights_input); 2948 2948 … … 3313 3313 } 3314 3314 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]; 3318 3318 for(j=0;j<3;j++)cmmininputs[j]=iomodel->Data(CmMinEnum)[(tria_vertex_ids[j]-1)*num_control_type+i]; 3319 3319 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)); 3321 3321 } 3322 3322 break; … … 3992 3992 name==VxObsEnum || 3993 3993 name==VyObsEnum || 3994 name== DragCoefficientEnum ||3994 name==FrictionCoefficientEnum || 3995 3995 name==GradientEnum || 3996 3996 name==OldGradientEnum -
issm/trunk/src/c/objects/Loads/Friction.cpp
r9336 r9610 73 73 74 74 /*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); 77 77 this->GetParameterValue(&thickness, gauss,ThicknessEnum); 78 78 this->GetParameterValue(&bed, gauss,BedEnum); 79 this->GetParameterValue(&drag_coefficient, gauss, DragCoefficientEnum);79 this->GetParameterValue(&drag_coefficient, gauss,FrictionCoefficientEnum); 80 80 81 81 /*Get material parameters: */ … … 137 137 138 138 /*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); 141 141 this->GetParameterValue(&thickness, gauss,ThicknessEnum); 142 142 this->GetParameterValue(&bed, gauss,BedEnum); 143 this->GetParameterValue(&drag_coefficient, gauss, DragCoefficientEnum);143 this->GetParameterValue(&drag_coefficient, gauss,FrictionCoefficientEnum); 144 144 145 145 /*Get material parameters: */ … … 203 203 204 204 /*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); 207 207 this->GetParameterValue(&thickness, gauss,ThicknessEnum); 208 208 this->GetParameterValue(&bed, gauss,BedEnum); 209 this->GetParameterValue(&drag_coefficient, gauss, DragCoefficientEnum);209 this->GetParameterValue(&drag_coefficient, gauss,FrictionCoefficientEnum); 210 210 211 211 /*Get material parameters: */ … … 269 269 270 270 /*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); 273 273 this->GetParameterValue(&thickness, gauss,ThicknessEnum); 274 274 this->GetParameterValue(&bed, gauss,BedEnum); 275 this->GetParameterValue(&drag_coefficient, gauss, DragCoefficientEnum);275 this->GetParameterValue(&drag_coefficient, gauss,FrictionCoefficientEnum); 276 276 277 277 /*Get material parameters: */ -
issm/trunk/src/m/classes/model/model.m
r9607 r9610 16 16 flaim = modelfield('default',0,'marshall',false); 17 17 surfaceforcings = modelfield('default',0,'marshall',true); 18 friction = modelfield('default',0,'marshall',true); 18 19 19 20 %FIXME: all other fields should belong to other classes … … 119 120 %Physical parameters 120 121 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);124 122 rheology_B = modelfield('default',NaN,'marshall',true,'format','DoubleMat','mattype',1); 125 123 rheology_n = modelfield('default',NaN,'marshall',true,'format','DoubleMat','mattype',2); … … 408 406 409 407 %Field name change 410 if isfield(structmd,'drag'), md. drag_coefficient=structmd.drag; end411 if isfield(structmd,'p'), md. drag_p=structmd.p; end412 if isfield(structmd,'q'), md. drag_q=structmd.p; end408 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 413 411 if isfield(structmd,'B'), md.rheology_B=structmd.B; end 414 412 if isfield(structmd,'n'), md.rheology_n=structmd.n; end … … 438 436 if isfield(structmd,'dakota_analysis'), md.dakota_analysis=structmd.dakota_analysis; end 439 437 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 440 441 441 442 %Field changes … … 489 490 end 490 491 if isnumeric(md.control_type), 491 if (structmd.control_type==143), md.control_type={' DragCoefficient'}; end492 if (structmd.control_type==143), md.control_type={'FrictionCoefficient'}; end 492 493 if (structmd.control_type==190), md.control_type={'RheologyBbar'}; end 493 494 if (structmd.control_type==147), md.control_type={'Dhdt'}; end … … 545 546 md.flaim=flaim; 546 547 md.surfaceforcings=surfaceforcings; 548 md.friction=friction; 547 549 548 550 %Materials parameters … … 674 676 %parameter to be inferred by control methods (only 675 677 %drag and B are supported yet) 676 md.control_type={' DragCoefficient'};678 md.control_type={'FrictionCoefficient'}; 677 679 678 680 %number of steps in the control methods -
issm/trunk/src/m/enum/EnumToModelField.m
r9357 r9610 21 21 case VyObsEnum(), string='vy_obs'; return 22 22 case BasalMeltingRateEnum(), string='basal_melting_rate'; return 23 case Surface AccumulationRateEnum(), string='surface_accumulation_rate'; return24 case Surface AblationRateEnum(), string='surface_ablation_rate'; return25 case Surface MassBalanceEnum(), string='surface_mass_balance'; return23 case SurfaceforcingsAccumulationRateEnum(), string='surface_accumulation_rate'; return 24 case SurfaceforcingsAblationRateEnum(), string='surface_ablation_rate'; return 25 case SurfaceforcingsMassBalanceEnum(), string='surface_mass_balance'; return 26 26 otherwise, error(['Enum ' num2str(enum) ' not found associated to any model field']); 27 27 -
issm/trunk/src/m/model/basalstress.m
r9597 r9610 9 9 10 10 %compute exponents 11 s=averaging(md,1./md. drag_p,0);12 r=averaging(md,md. drag_q./md.drag_p,0);11 s=averaging(md,1./md.friction.p,0); 12 r=averaging(md,md.friction.q./md.friction.p,0); 13 13 14 14 %compute horizontal velocity … … 18 18 19 19 %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;20 bx=(md.constants.g*(md.rho_ice*md.thickness+md.rho_water*md.bed)).^r.*(md.friction.coefficient).^2.*ubx.^s; 21 by=(md.constants.g*(md.rho_ice*md.thickness+md.rho_water*md.bed)).^r.*(md.friction.coefficient).^2.*uby.^s; 22 b=(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 19 19 20 20 %drag is limited to nodes that are on the bedrock. 21 md. drag_coefficient=project2d(md,md.drag_coefficient,1);21 md.friction.coefficient=project2d(md,md.friction.coefficient,1); 22 22 23 23 %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);24 md.friction.p=project2d(md,md.friction.p,1); 25 md.friction.q=project2d(md,md.friction.q,1); 26 26 27 27 %observations -
issm/trunk/src/m/model/display/displayparameters.m
r9451 r9610 25 25 fielddisplay(md,'g','acceleration due to gravity [m/s^2]'); 26 26 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 123 123 %Ok, now deal with the other fields from the 2d mesh: 124 124 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. 126 md.friction.coefficient=project3d(md,'vector',md.friction.coefficient,'type','node','layer',1); 127 127 128 128 %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');129 md.friction.p=project3d(md,'vector',md.friction.p,'type','element'); 130 md.friction.q=project3d(md,'vector',md.friction.q,'type','element'); 131 131 132 132 %observations -
issm/trunk/src/m/model/ismodelselfconsistent.m
r9607 r9610 82 82 %}}} 83 83 %NO NAN {{{1 84 fields={'numberofelements','numberofnodes','x','y','z',' drag_coefficient','drag_p','drag_q',...84 fields={'numberofelements','numberofnodes','x','y','z','friction.coefficient','friction.p','friction.q',... 85 85 'rho_ice','rho_water','rheology_B','elementoniceshelf','surface','thickness','bed','constants.g','lowmem','nsteps','maxiter',... 86 86 'eps_res','max_nonlinear_iterations','rheology_n','nodeonbed','nodeonsurface','elementonbed','elementonsurface','elementconnectivity'}; … … 88 88 %}}}} 89 89 %FIELDS >= 0 {{{1 90 fields={'numberofelements','numberofnodes','elements',' drag_coefficient','drag_p','drag_q',...90 fields={'numberofelements','numberofnodes','elements','friction.coefficient','friction.p','friction.q',... 91 91 'rho_ice','rho_water','rheology_B','elementoniceshelf','thickness','constants.g','eps_res','max_nonlinear_iterations','eps_rel','eps_abs','nsteps','maxiter',... 92 92 'lowmem','rheology_n','nodeonbed','nodeonsurface','elementonbed','elementonsurface'}; … … 94 94 %}}} 95 95 %FIELDS > 0 {{{1 96 fields={'numberofelements','numberofnodes','elements',' drag_p',...96 fields={'numberofelements','numberofnodes','elements','friction.p',... 97 97 'rho_ice','rho_water','rheology_B','thickness','constants.g','max_nonlinear_iterations','eps_res','eps_rel','eps_abs','maxiter'}; 98 98 checkgreaterstrict(md,fields,0); 99 99 %}}} 100 100 %SIZE NUMBEROFELEMENTS {{{1 101 fields={' drag_p','drag_q','elementoniceshelf','rheology_n','elementonbed'};101 fields={'friction.p','friction.q','elementoniceshelf','rheology_n','elementonbed'}; 102 102 checksize(md,fields,[md.numberofelements 1]); 103 103 %}}} 104 104 %SIZE NUMBEROFNODES {{{1 105 fields={'x','y','z','rheology_B',' drag_coefficient','basal_melting_rate','surface','thickness','bed','nodeonbed','nodeonsurface'};105 fields={'x','y','z','rheology_B','friction.coefficient','basal_melting_rate','surface','thickness','bed','nodeonbed','nodeonsurface'}; 106 106 checksize(md,fields,[md.numberofnodes 1]); 107 107 %}}} -
issm/trunk/src/m/model/parametercontroloptimization.m
r9536 r9610 30 30 md2.eps_cm=NaN; 31 31 md2.nsteps=getfieldvalue(options,'nsteps',5); 32 md2.control_type=getfieldvalue(options,'md2.control_type',{' DragCoefficient'});32 md2.control_type=getfieldvalue(options,'md2.control_type',{'FrictionCoefficient'}); 33 33 md2.maxiter=10*ones(md2.nsteps,1); 34 34 md2.cm_jump=0.99*ones(md2.nsteps,1); -
issm/trunk/src/m/model/parameterization/parametercontroldrag.m
r9542 r9610 21 21 22 22 %control type 23 md.control_type={' DragCoefficient'};23 md.control_type={'FrictionCoefficient'}; 24 24 25 25 %weights -
issm/trunk/src/m/model/plot/plot_basaldrag.m
r9597 r9610 17 17 18 18 %compute exponents 19 s=averaging(md,1./md. drag_p,0);20 r=averaging(md,md. drag_q./md.drag_p,0);19 s=averaging(md,1./md.friction.p,0); 20 r=averaging(md,md.friction.q./md.friction.p,0); 21 21 22 22 %compute horizontal velocity … … 30 30 31 31 %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;32 drag=(max(md.constants.g*(md.rho_ice*md.thickness+md.rho_water*md.bed),0)).^r.*(md.friction.coefficient).^2.*ub.^s/1000; 33 33 34 34 %Figure out if this is a Section plot -
issm/trunk/src/m/qmu/qmu_correlation.m
r4786 r9610 6 6 % 7 7 % 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'); 10 10 11 11 if ~isfield(md.dakotaresults,'dresp_dat'), -
issm/trunk/test/NightlyRun/test337.m
r9541 r9610 6 6 %control parameters 7 7 md.control_analysis=1; 8 md.control_type={' DragCoefficient'};8 md.control_type={'FrictionCoefficient'}; 9 9 md.cm_min=1*ones(md.numberofnodes,1); 10 10 md.cm_max=200*ones(md.numberofnodes,1); … … 21 21 22 22 %Fields and tolerances to track changes 23 field_names ={'Gradient' 'Misfits' ' DragCoefficient' 'Pressure' 'Vel' 'Vx' 'Vy'};23 field_names ={'Gradient' 'Misfits' 'FrictionCoefficient' 'Pressure' 'Vel' 'Vx' 'Vy'}; 24 24 field_tolerances={1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13}; 25 25 field_values={... 26 26 PatchToVec(md.results.DiagnosticSolution.Gradient1),... 27 27 md.results.DiagnosticSolution.J,... 28 PatchToVec(md.results.DiagnosticSolution. DragCoefficient),...28 PatchToVec(md.results.DiagnosticSolution.FrictionCoefficient),... 29 29 PatchToVec(md.results.DiagnosticSolution.Pressure),... 30 30 PatchToVec(md.results.DiagnosticSolution.Vel),... -
issm/trunk/test/NightlyRun/test338.m
r9541 r9610 6 6 %control parameters 7 7 md.control_analysis=1; 8 md.control_type={' DragCoefficient'};8 md.control_type={'FrictionCoefficient'}; 9 9 md.cm_min=1*ones(md.numberofnodes,1); 10 10 md.cm_max=200*ones(md.numberofnodes,1); … … 21 21 22 22 %Fields and tolerances to track changes 23 field_names ={'Gradient' 'Misfits' ' DragCoefficient' 'Pressure' 'Vel' 'Vx' 'Vy'};23 field_names ={'Gradient' 'Misfits' 'FrictionCoefficient' 'Pressure' 'Vel' 'Vx' 'Vy'}; 24 24 field_tolerances={1e-12,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13}; 25 25 field_values={... 26 26 PatchToVec(md.results.DiagnosticSolution.Gradient1),... 27 27 md.results.DiagnosticSolution.J,... 28 PatchToVec(md.results.DiagnosticSolution. DragCoefficient),...28 PatchToVec(md.results.DiagnosticSolution.FrictionCoefficient),... 29 29 PatchToVec(md.results.DiagnosticSolution.Pressure),... 30 30 PatchToVec(md.results.DiagnosticSolution.Vel),... -
issm/trunk/test/NightlyRun/test339.m
r9541 r9610 7 7 %control parameters 8 8 md.control_analysis=1; 9 md.control_type={' DragCoefficient'};9 md.control_type={'FrictionCoefficient'}; 10 10 md.cm_min=1*ones(md.numberofnodes,1); 11 11 md.cm_max=200*ones(md.numberofnodes,1); … … 22 22 23 23 %Fields and tolerances to track changes 24 field_names ={'Gradient' 'Misfits' ' DragCoefficient' 'Pressure' 'Vel' 'Vx' 'Vy'};24 field_names ={'Gradient' 'Misfits' 'FrictionCoefficient' 'Pressure' 'Vel' 'Vx' 'Vy'}; 25 25 field_tolerances={1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13}; 26 26 field_values={... 27 27 PatchToVec(md.results.DiagnosticSolution.Gradient1),... 28 28 md.results.DiagnosticSolution.J,... 29 PatchToVec(md.results.DiagnosticSolution. DragCoefficient),...29 PatchToVec(md.results.DiagnosticSolution.FrictionCoefficient),... 30 30 PatchToVec(md.results.DiagnosticSolution.Pressure),... 31 31 PatchToVec(md.results.DiagnosticSolution.Vel),... -
issm/trunk/test/NightlyRun/test340.m
r9541 r9610 7 7 %control parameters 8 8 md.control_analysis=1; 9 md.control_type={' DragCoefficient'};9 md.control_type={'FrictionCoefficient'}; 10 10 md.cm_min=1*ones(md.numberofnodes,1); 11 11 md.cm_max=200*ones(md.numberofnodes,1); … … 22 22 23 23 %Fields and tolerances to track changes 24 field_names ={'Gradient' 'Misfits' ' DragCoefficient' 'Pressure' 'Vel' 'Vx' 'Vy'};24 field_names ={'Gradient' 'Misfits' 'FrictionCoefficient' 'Pressure' 'Vel' 'Vx' 'Vy'}; 25 25 field_tolerances={1e-12,1e-12,1e-12,1e-12,1e-12,1e-12,1e-12,1e-12,1e-12,1e-12}; 26 26 field_values={... 27 27 PatchToVec(md.results.DiagnosticSolution.Gradient1),... 28 28 md.results.DiagnosticSolution.J,... 29 PatchToVec(md.results.DiagnosticSolution. DragCoefficient),...29 PatchToVec(md.results.DiagnosticSolution.FrictionCoefficient),... 30 30 PatchToVec(md.results.DiagnosticSolution.Pressure),... 31 31 PatchToVec(md.results.DiagnosticSolution.Vel),... -
issm/trunk/test/NightlyRun/test341.m
r9541 r9610 7 7 %control parameters 8 8 md.control_analysis=1; 9 md.control_type={' DragCoefficient'};9 md.control_type={'FrictionCoefficient'}; 10 10 md.cm_min=1*ones(md.numberofnodes,1); 11 11 md.cm_max=200*ones(md.numberofnodes,1); … … 22 22 23 23 %Fields and tolerances to track changes 24 field_names ={'Gradient' 'Misfits' ' DragCoefficient' 'Pressure' 'Vel' 'Vx' 'Vy'};24 field_names ={'Gradient' 'Misfits' 'FrictionCoefficient' 'Pressure' 'Vel' 'Vx' 'Vy'}; 25 25 field_tolerances={1e-09,1e-08,1e-09,1e-09,1e-09,1e-09,1e-09,1e-09,1e-09,1e-09}; 26 26 field_values={... 27 27 PatchToVec(md.results.DiagnosticSolution.Gradient1),... 28 28 md.results.DiagnosticSolution.J,... 29 PatchToVec(md.results.DiagnosticSolution. DragCoefficient),...29 PatchToVec(md.results.DiagnosticSolution.FrictionCoefficient),... 30 30 PatchToVec(md.results.DiagnosticSolution.Pressure),... 31 31 PatchToVec(md.results.DiagnosticSolution.Vel),... -
issm/trunk/test/NightlyRun/test342.m
r9541 r9610 7 7 %control parameters 8 8 md.control_analysis=1; 9 md.control_type={' DragCoefficient'};9 md.control_type={'FrictionCoefficient'}; 10 10 md.cm_min=1*ones(md.numberofnodes,1); 11 11 md.cm_max=200*ones(md.numberofnodes,1); … … 22 22 23 23 %Fields and tolerances to track changes 24 field_names ={'Gradient' 'Misfits' ' DragCoefficient' 'Pressure' 'Vel' 'Vx' 'Vy'};24 field_names ={'Gradient' 'Misfits' 'FrictionCoefficient' 'Pressure' 'Vel' 'Vx' 'Vy'}; 25 25 field_tolerances={1e-08,1e-07,1e-10,1e-10,1e-09,1e-09,1e-09}; 26 26 field_values={... 27 27 PatchToVec(md.results.DiagnosticSolution.Gradient1),... 28 28 md.results.DiagnosticSolution.J,... 29 PatchToVec(md.results.DiagnosticSolution. DragCoefficient),...29 PatchToVec(md.results.DiagnosticSolution.FrictionCoefficient),... 30 30 PatchToVec(md.results.DiagnosticSolution.Pressure),... 31 31 PatchToVec(md.results.DiagnosticSolution.Vel),... -
issm/trunk/test/NightlyRun/test343.m
r9541 r9610 7 7 %control parameters 8 8 md.control_analysis=1; 9 md.control_type={' DragCoefficient'};9 md.control_type={'FrictionCoefficient'}; 10 10 md.cm_min=1*ones(md.numberofnodes,1); 11 11 md.cm_max=200*ones(md.numberofnodes,1); … … 22 22 23 23 %Fields and tolerances to track changes 24 field_names ={'Gradient' 'Misfits' ' DragCoefficient' 'Pressure' 'Vel' 'Vx' 'Vy'};24 field_names ={'Gradient' 'Misfits' 'FrictionCoefficient' 'Pressure' 'Vel' 'Vx' 'Vy'}; 25 25 field_tolerances={1e-08,1e-09,1e-09,1e-09,1e-09,1e-09,1e-09,1e-09,1e-09,1e-09}; 26 26 field_values={... 27 27 PatchToVec(md.results.DiagnosticSolution.Gradient1),... 28 28 md.results.DiagnosticSolution.J,... 29 PatchToVec(md.results.DiagnosticSolution. DragCoefficient),...29 PatchToVec(md.results.DiagnosticSolution.FrictionCoefficient),... 30 30 PatchToVec(md.results.DiagnosticSolution.Pressure),... 31 31 PatchToVec(md.results.DiagnosticSolution.Vel),... -
issm/trunk/test/NightlyRun/test344.m
r9541 r9610 7 7 %control parameters 8 8 md.control_analysis=1; 9 md.control_type={' DragCoefficient'};9 md.control_type={'FrictionCoefficient'}; 10 10 md.cm_min=1*ones(md.numberofnodes,1); 11 11 md.cm_max=200*ones(md.numberofnodes,1); … … 22 22 23 23 %Fields and tolerances to track changes 24 field_names ={'Gradient' 'Misfits' ' DragCoefficient' 'Pressure' 'Vel' 'Vx' 'Vy'};24 field_names ={'Gradient' 'Misfits' 'FrictionCoefficient' 'Pressure' 'Vel' 'Vx' 'Vy'}; 25 25 field_tolerances={1e-06,1e-08,1e-09,1e-09,1e-09,1e-09,1e-09,1e-09,1e-09,1e-09}; 26 26 field_values={... 27 27 PatchToVec(md.results.DiagnosticSolution.Gradient1),... 28 28 md.results.DiagnosticSolution.J,... 29 PatchToVec(md.results.DiagnosticSolution. DragCoefficient),...29 PatchToVec(md.results.DiagnosticSolution.FrictionCoefficient),... 30 30 PatchToVec(md.results.DiagnosticSolution.Pressure),... 31 31 PatchToVec(md.results.DiagnosticSolution.Vel),... -
issm/trunk/test/NightlyRun/test423.m
r9571 r9610 14 14 %variables 15 15 md.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));16 md.variables.drag_coefficient=normal_uncertain('scaled_FrictionCoefficient',1,.01); 17 %md.variables.drag_coefficient=normal_uncertain('scaled_FrictionCoefficient',1,.01*ones(md.npart,1)); 18 18 19 19 %responses … … 38 38 %Fields and tolerances to track changes 39 39 md=tres(md,'dakota'); 40 md.results.dakota.importancefactors=importancefactors(md,'scaled_ DragCoefficient','MaxVel')';40 md.results.dakota.importancefactors=importancefactors(md,'scaled_FrictionCoefficient','MaxVel')'; 41 41 field_names ={'importancefactors'}; 42 42 field_tolerances={1e-10}; -
issm/trunk/test/NightlyRun/test424.m
r9571 r9610 15 15 %variables 16 16 md.variables.rho_ice=normal_uncertain('RhoIce',md.rho_ice,0.01); 17 md.variables.drag_coefficient=normal_uncertain('scaled_ DragCoefficient',1,0.01);17 md.variables.drag_coefficient=normal_uncertain('scaled_FrictionCoefficient',1,0.01); 18 18 19 19 %responses … … 37 37 %Fields and tolerances to track changes 38 38 md=tres(md,'dakota'); 39 md.results.dakota.importancefactors=importancefactors(md,'scaled_ DragCoefficient','MaxVel')';39 md.results.dakota.importancefactors=importancefactors(md,'scaled_FrictionCoefficient','MaxVel')'; 40 40 field_names ={'importancefactors'}; 41 41 field_tolerances={1e-10}; -
issm/trunk/test/NightlyRun/test425.m
r9571 r9610 14 14 %variables 15 15 md.variables.rho_ice=normal_uncertain('RhoIce',md.rho_ice,0.01); 16 md.variables.drag_coefficient=normal_uncertain('scaled_ DragCoefficient',1,0.01);16 md.variables.drag_coefficient=normal_uncertain('scaled_FrictionCoefficient',1,0.01); 17 17 18 18 %responses … … 38 38 %Fields and tolerances to track changes 39 39 md=tres(md,'dakota'); 40 md.results.dakota.importancefactors=importancefactors(md,'scaled_ DragCoefficient','MaxVel')';40 md.results.dakota.importancefactors=importancefactors(md,'scaled_FrictionCoefficient','MaxVel')'; 41 41 field_names ={'importancefactors'}; 42 42 field_tolerances={1e-10}; -
issm/trunk/test/NightlyRun/test426.m
r9571 r9610 14 14 %variables 15 15 md.variables.rho_ice=normal_uncertain('RhoIce',md.rho_ice,0.01); 16 md.variables.drag_coefficient=normal_uncertain('scaled_ DragCoefficient',1,0.01);16 md.variables.drag_coefficient=normal_uncertain('scaled_FrictionCoefficient',1,0.01); 17 17 18 18 %responses … … 38 38 %Fields and tolerances to track changes 39 39 md=tres(md,'dakota'); 40 md.results.dakota.importancefactors=importancefactors(md,'scaled_ DragCoefficient','MaxVel')';40 md.results.dakota.importancefactors=importancefactors(md,'scaled_FrictionCoefficient','MaxVel')'; 41 41 field_names ={'importancefactors'}; 42 42 field_tolerances={1e-10}; -
issm/trunk/test/NightlyRun/test427.m
r9571 r9610 20 20 21 21 %variables 22 md.variables.drag_coefficient=normal_uncertain('scaled_ DragCoefficient',1,0.01);22 md.variables.drag_coefficient=normal_uncertain('scaled_FrictionCoefficient',1,0.01); 23 23 24 24 %responses -
issm/trunk/test/NightlyRun/test428.m
r9571 r9610 20 20 21 21 %variables 22 md.variables.drag_coefficient=normal_uncertain('scaled_ DragCoefficient',1,0.01);22 md.variables.drag_coefficient=normal_uncertain('scaled_FrictionCoefficient',1,0.01); 23 23 24 24 %responses -
issm/trunk/test/NightlyRun/test429.m
r9541 r9610 7 7 %control parameters 8 8 md.control_analysis=1; 9 md.control_type={' DragCoefficient'};9 md.control_type={'FrictionCoefficient'}; 10 10 md.cm_min=1*ones(md.numberofnodes,1); 11 11 md.cm_max=200*ones(md.numberofnodes,1); … … 23 23 24 24 %Fields and tolerances to track changes 25 field_names ={'Gradient' 'Misfits' ' DragCoefficient' 'Pressure' 'Vel' 'Vx' 'Vy' 'Vz' 'Temperature' 'BasalMeltingRate'};25 field_names ={'Gradient' 'Misfits' 'FrictionCoefficient' 'Pressure' 'Vel' 'Vx' 'Vy' 'Vz' 'Temperature' 'BasalMeltingRate'}; 26 26 field_tolerances={1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13}; 27 27 field_values={... 28 28 PatchToVec(md.results.SteadystateSolution.Gradient1),... 29 29 md.results.SteadystateSolution.J,... 30 PatchToVec(md.results.SteadystateSolution. DragCoefficient),...30 PatchToVec(md.results.SteadystateSolution.FrictionCoefficient),... 31 31 PatchToVec(md.results.SteadystateSolution.Pressure),... 32 32 PatchToVec(md.results.SteadystateSolution.Vel),... -
issm/trunk/test/NightlyRun/test430.m
r9541 r9610 7 7 %control parameters 8 8 md.control_analysis=1; 9 md.control_type={' DragCoefficient'};9 md.control_type={'FrictionCoefficient'}; 10 10 md.cm_min=1*ones(md.numberofnodes,1); 11 11 md.cm_max=200*ones(md.numberofnodes,1); … … 23 23 24 24 %Fields and tolerances to track changes 25 field_names ={'Gradient' 'Misfits' ' DragCoefficient' 'Pressure' 'Vel' 'Vx' 'Vy' 'Vz' 'Temperature' 'BasalMeltingRate'};25 field_names ={'Gradient' 'Misfits' 'FrictionCoefficient' 'Pressure' 'Vel' 'Vx' 'Vy' 'Vz' 'Temperature' 'BasalMeltingRate'}; 26 26 field_tolerances={1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-9,1e-13,1e-6}; 27 27 field_values={... 28 28 PatchToVec(md.results.SteadystateSolution.Gradient1),... 29 29 md.results.SteadystateSolution.J,... 30 PatchToVec(md.results.SteadystateSolution. DragCoefficient),...30 PatchToVec(md.results.SteadystateSolution.FrictionCoefficient),... 31 31 PatchToVec(md.results.SteadystateSolution.Pressure),... 32 32 PatchToVec(md.results.SteadystateSolution.Vel),... -
issm/trunk/test/NightlyRun/test431.m
r9541 r9610 7 7 %control parameters 8 8 md.control_analysis=1; 9 md.control_type={' DragCoefficient'};9 md.control_type={'FrictionCoefficient'}; 10 10 md.cm_min=1*ones(md.numberofnodes,1); 11 11 md.cm_max=200*ones(md.numberofnodes,1); … … 23 23 24 24 %Fields and tolerances to track changes 25 field_names ={'Gradient' 'Misfits' ' DragCoefficient' 'Pressure' 'Vel' 'Vx' 'Vy' 'Vz' 'Temperature' 'BasalMeltingRate'};25 field_names ={'Gradient' 'Misfits' 'FrictionCoefficient' 'Pressure' 'Vel' 'Vx' 'Vy' 'Vz' 'Temperature' 'BasalMeltingRate'}; 26 26 field_tolerances={1e-08,1e-08,1e-08,1e-08,1e-08,1e-08,1e-08,1e-08,1e-08,1e-06}; 27 27 field_values={... 28 28 PatchToVec(md.results.SteadystateSolution.Gradient1),... 29 29 md.results.SteadystateSolution.J,... 30 PatchToVec(md.results.SteadystateSolution. DragCoefficient),...30 PatchToVec(md.results.SteadystateSolution.FrictionCoefficient),... 31 31 PatchToVec(md.results.SteadystateSolution.Pressure),... 32 32 PatchToVec(md.results.SteadystateSolution.Vel),... -
issm/trunk/test/NightlyRun/test432.m
r9541 r9610 7 7 %control parameters 8 8 md.control_analysis=1; 9 md.control_type={' DragCoefficient'};9 md.control_type={'FrictionCoefficient'}; 10 10 md.cm_min=1*ones(md.numberofnodes,1); 11 11 md.cm_max=200*ones(md.numberofnodes,1); … … 23 23 24 24 %Fields and tolerances to track changes 25 field_names ={'Gradient' 'Misfits' ' DragCoefficient' 'Pressure' 'Vel' 'Vx' 'Vy' 'Vz' 'Temperature' 'BasalMeltingRate'};25 field_names ={'Gradient' 'Misfits' 'FrictionCoefficient' 'Pressure' 'Vel' 'Vx' 'Vy' 'Vz' 'Temperature' 'BasalMeltingRate'}; 26 26 field_tolerances={1e-08,1e-07,1e-08,1e-08,1e-08,1e-08,1e-08,1e-07,1e-08,1e-05}; 27 27 field_values={... 28 28 PatchToVec(md.results.SteadystateSolution.Gradient1),... 29 29 md.results.SteadystateSolution.J,... 30 PatchToVec(md.results.SteadystateSolution. DragCoefficient),...30 PatchToVec(md.results.SteadystateSolution.FrictionCoefficient),... 31 31 PatchToVec(md.results.SteadystateSolution.Pressure),... 32 32 PatchToVec(md.results.SteadystateSolution.Vel),... -
issm/trunk/test/NightlyRun/test434.m
r9571 r9610 13 13 14 14 %Dakota options 15 md.variables.drag_coefficient=normal_uncertain('scaled_ DragCoefficient',1,0.01);15 md.variables.drag_coefficient=normal_uncertain('scaled_FrictionCoefficient',1,0.01); 16 16 17 17 md.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 7 7 %control parameters 8 8 md.control_analysis=1; 9 md.control_type={' DragCoefficient'};9 md.control_type={'FrictionCoefficient'}; 10 10 md.cm_min=1*ones(md.numberofnodes,1); 11 11 md.cm_max=200*ones(md.numberofnodes,1); … … 22 22 23 23 %Fields and tolerances to track changes 24 field_names ={'Gradient' 'Misfits' ' DragCoefficient' 'Pressure' 'Vel' 'Vx' 'Vy'};24 field_names ={'Gradient' 'Misfits' 'FrictionCoefficient' 'Pressure' 'Vel' 'Vx' 'Vy'}; 25 25 field_tolerances={1e-11,1e-11,1e-11,1e-11,1e-11,1e-11,1e-11,1e-11,1e-11,1e-11}; 26 26 field_values={... 27 27 PatchToVec(md.results.DiagnosticSolution.Gradient1),... 28 28 md.results.DiagnosticSolution.J,... 29 PatchToVec(md.results.DiagnosticSolution. DragCoefficient),...29 PatchToVec(md.results.DiagnosticSolution.FrictionCoefficient),... 30 30 PatchToVec(md.results.DiagnosticSolution.Pressure),... 31 31 PatchToVec(md.results.DiagnosticSolution.Vel),... -
issm/trunk/test/NightlyRun/test524.m
r9541 r9610 7 7 %control parameters 8 8 md.control_analysis=1; 9 md.control_type={' DragCoefficient'};9 md.control_type={'FrictionCoefficient'}; 10 10 md.cm_min=1*ones(md.numberofnodes,1); 11 11 md.cm_max=200*ones(md.numberofnodes,1); … … 22 22 23 23 %Fields and tolerances to track changes 24 field_names ={'Gradient' 'Misfits' ' DragCoefficient' 'Pressure' 'Vel' 'Vx' 'Vy'};24 field_names ={'Gradient' 'Misfits' 'FrictionCoefficient' 'Pressure' 'Vel' 'Vx' 'Vy'}; 25 25 field_tolerances={1e-11,1e-11,1e-11,1e-11,1e-11,1e-11,1e-11,1e-11,1e-11,1e-11}; 26 26 field_values={... 27 27 PatchToVec(md.results.DiagnosticSolution.Gradient1),... 28 28 md.results.DiagnosticSolution.J,... 29 PatchToVec(md.results.DiagnosticSolution. DragCoefficient),...29 PatchToVec(md.results.DiagnosticSolution.FrictionCoefficient),... 30 30 PatchToVec(md.results.DiagnosticSolution.Pressure),... 31 31 PatchToVec(md.results.DiagnosticSolution.Vel),... -
issm/trunk/test/NightlyRun/test525.m
r9541 r9610 7 7 %control parameters 8 8 md.control_analysis=1; 9 md.control_type={' DragCoefficient'};9 md.control_type={'FrictionCoefficient'}; 10 10 md.cm_min=1*ones(md.numberofnodes,1); 11 11 md.cm_max=200*ones(md.numberofnodes,1); … … 23 23 24 24 %Fields and tolerances to track changes 25 field_names ={'Gradient' 'Misfits' ' DragCoefficient' 'Pressure' 'Vel' 'Vx' 'Vy' 'Vz' 'Temperature' 'BasalMeltingRate'};25 field_names ={'Gradient' 'Misfits' 'FrictionCoefficient' 'Pressure' 'Vel' 'Vx' 'Vy' 'Vz' 'Temperature' 'BasalMeltingRate'}; 26 26 field_tolerances={1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13}; 27 27 field_values={... 28 28 PatchToVec(md.results.SteadystateSolution.Gradient1),... 29 29 md.results.SteadystateSolution.J,... 30 PatchToVec(md.results.SteadystateSolution. DragCoefficient),...30 PatchToVec(md.results.SteadystateSolution.FrictionCoefficient),... 31 31 PatchToVec(md.results.SteadystateSolution.Pressure),... 32 32 PatchToVec(md.results.SteadystateSolution.Vel),... -
issm/trunk/test/NightlyRun/test526.m
r9541 r9610 7 7 %control parameters 8 8 md.control_analysis=1; 9 md.control_type={' DragCoefficient'};9 md.control_type={'FrictionCoefficient'}; 10 10 md.cm_min=1*ones(md.numberofnodes,1); 11 11 md.cm_max=200*ones(md.numberofnodes,1); … … 23 23 24 24 %Fields and tolerances to track changes 25 field_names ={'Gradient' 'Misfits' ' DragCoefficient' 'Pressure' 'Vel' 'Vx' 'Vy' 'Vz' 'Temperature' 'BasalMeltingRate'};25 field_names ={'Gradient' 'Misfits' 'FrictionCoefficient' 'Pressure' 'Vel' 'Vx' 'Vy' 'Vz' 'Temperature' 'BasalMeltingRate'}; 26 26 field_tolerances={1e-10,1e-10,1e-10,1e-10,1e-6,1e-6,1e-6,1e-6,1e-6,1e-06}; 27 27 field_values={... 28 28 PatchToVec(md.results.SteadystateSolution.Gradient1),... 29 29 md.results.SteadystateSolution.J,... 30 PatchToVec(md.results.SteadystateSolution. DragCoefficient),...30 PatchToVec(md.results.SteadystateSolution.FrictionCoefficient),... 31 31 PatchToVec(md.results.SteadystateSolution.Pressure),... 32 32 PatchToVec(md.results.SteadystateSolution.Vel),... -
issm/trunk/test/Par/79North.par
r9607 r9610 17 17 %Friction 18 18 pos=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);19 md.friction.coefficient=50*ones(md.numberofnodes,1); 20 md.friction.coefficient(md.elements(pos,:))=0; 21 md.friction.p=ones(md.numberofelements,1); 22 md.friction.q=ones(md.numberofelements,1); 23 23 24 24 %Ice shelf melting and surface mass balance -
issm/trunk/test/Par/ISMIPA.par
r9481 r9610 7 7 8 8 disp(' creating drag'); 9 md. drag_coefficient=200*ones(md.numberofnodes,1); %q=1.9 md.friction.coefficient=200*ones(md.numberofnodes,1); %q=1. 10 10 %Take care of iceshelves: no basal drag 11 11 pos=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);12 md.friction.coefficient(md.elements(pos,:))=0; 13 md.friction.p=ones(md.numberofelements,1); 14 md.friction.q=ones(md.numberofelements,1); 15 15 16 16 disp(' creating flow law paramter'); -
issm/trunk/test/Par/ISMIPB.par
r9481 r9610 7 7 8 8 disp(' creating drag'); 9 md. drag_coefficient=200*ones(md.numberofnodes,1); %q=1.9 md.friction.coefficient=200*ones(md.numberofnodes,1); %q=1. 10 10 %Take care of iceshelves: no basal drag 11 11 pos=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);12 md.friction.coefficient(md.elements(pos,:))=0; 13 md.friction.p=ones(md.numberofelements,1); 14 md.friction.q=ones(md.numberofelements,1); 15 15 16 16 disp(' creating flow law paramter'); -
issm/trunk/test/Par/ISMIPC.par
r9597 r9610 7 7 8 8 disp(' 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))); 10 md.friction.coefficient=sqrt(md.constants.yts.*(1000+1000*sin(md.x*2*pi/max(md.x)).*sin(md.y*2*pi/max(md.x)))); 11 11 %Take care of iceshelves: no basal drag 12 12 pos=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);13 md.friction.coefficient(md.elements(pos,:))=0; 14 md.friction.p=ones(md.numberofelements,1); 15 md.friction.q=zeros(md.numberofelements,1); 16 16 17 17 disp(' creating flow law paramter'); -
issm/trunk/test/Par/ISMIPD.par
r9597 r9610 7 7 8 8 disp(' creating drag'); 9 md. drag_coefficient=sqrt(md.constants.yts.*(1000+1000*sin(md.x*2*pi/max(md.x))));9 md.friction.coefficient=sqrt(md.constants.yts.*(1000+1000*sin(md.x*2*pi/max(md.x)))); 10 10 %Take care of iceshelves: no basal drag 11 11 pos=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);12 md.friction.coefficient(md.elements(pos,:))=0; 13 md.friction.p=ones(md.numberofelements,1); 14 md.friction.q=zeros(md.numberofelements,1); 15 15 16 16 disp(' creating flow law paramter'); -
issm/trunk/test/Par/ISMIPE.par
r9481 r9610 19 19 20 20 disp(' 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);21 md.friction.coefficient=zeros(md.numberofnodes,1); 22 md.friction.p=ones(md.numberofelements,1); 23 md.friction.q=ones(md.numberofelements,1); 24 24 25 25 disp(' creating flow law paramter'); -
issm/trunk/test/Par/ISMIPF.par
r9597 r9610 9 9 10 10 disp(' 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);11 md.friction.coefficient=sqrt(md.constants.yts/(2.140373*10^-7*1000))*ones(md.numberofnodes,1); 12 md.friction.p=ones(md.numberofelements,1); 13 md.friction.q=zeros(md.numberofelements,1); 14 14 15 15 disp(' creating flow law paramter'); -
issm/trunk/test/Par/Pig.par
r9455 r9610 22 22 %Friction 23 23 pos=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);24 md.friction.coefficient=50*ones(md.numberofnodes,1); 25 md.friction.coefficient(md.elements(pos,:))=0; 26 md.friction.p=ones(md.numberofelements,1); 27 md.friction.q=ones(md.numberofelements,1); 28 28 29 29 %Numerical parameters -
issm/trunk/test/Par/RoundSheetEISMINT.par
r9607 r9610 6 6 7 7 disp(' creating drag'); 8 md. drag_coefficient=20*ones(md.numberofnodes,1); %q=1. %no drag is specified in the analytical solution9 md. drag_p=ones(md.numberofelements,1);10 md. drag_q=ones(md.numberofelements,1);8 md.friction.coefficient=20*ones(md.numberofnodes,1); %q=1. %no drag is specified in the analytical solution 9 md.friction.p=ones(md.numberofelements,1); 10 md.friction.q=ones(md.numberofelements,1); 11 11 12 12 disp(' creating temperatures'); -
issm/trunk/test/Par/RoundSheetShelf.par
r9607 r9610 51 51 %Friction 52 52 pos=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);53 md.friction.coefficient=20*ones(md.numberofnodes,1); 54 md.friction.coefficient(md.elements(pos,:))=0; 55 md.friction.p=ones(md.numberofelements,1); 56 md.friction.q=ones(md.numberofelements,1); 57 57 58 58 %Numerical parameters -
issm/trunk/test/Par/RoundSheetStaticEISMINT.par
r9607 r9610 9 9 10 10 disp(' creating drag'); 11 md. drag_coefficient=20*ones(md.numberofnodes,1); %q=1. %no drag is specified in the analytical solution11 md.friction.coefficient=20*ones(md.numberofnodes,1); %q=1. %no drag is specified in the analytical solution 12 12 %Take care of iceshelves: no basal drag 13 13 pos=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);14 md.friction.coefficient(md.elements(pos,:))=0; 15 md.friction.p=ones(md.numberofelements,1); 16 md.friction.q=ones(md.numberofelements,1); 17 17 18 18 disp(' creating temperatures'); -
issm/trunk/test/Par/SquareEISMINT.par
r9607 r9610 9 9 10 10 disp(' creating drag'); 11 md. drag_coefficient=200*ones(md.numberofnodes,1); %q=1.11 md.friction.coefficient=200*ones(md.numberofnodes,1); %q=1. 12 12 %Take care of iceshelves: no basal drag 13 13 pos=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);14 md.friction.coefficient(md.elements(pos,:))=0; 15 md.friction.p=ones(md.numberofelements,1); 16 md.friction.q=ones(md.numberofelements,1); 17 17 18 18 disp(' creating temperature'); -
issm/trunk/test/Par/SquareSheetConstrained.par
r9455 r9610 25 25 %Friction 26 26 pos=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);27 md.friction.coefficient=20*ones(md.numberofnodes,1); 28 md.friction.coefficient(md.elements(pos,:))=0; 29 md.friction.p=ones(md.numberofelements,1); 30 md.friction.q=ones(md.numberofelements,1); 31 31 32 32 %Numerical parameters -
issm/trunk/test/Par/SquareSheetShelf.par
r9607 r9610 32 32 %Friction 33 33 pos=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);34 md.friction.coefficient=20*ones(md.numberofnodes,1); 35 md.friction.coefficient(md.elements(pos,:))=0; 36 md.friction.p=ones(md.numberofelements,1); 37 md.friction.q=ones(md.numberofelements,1); 38 38 39 39 %Numerical parameters -
issm/trunk/test/Par/SquareShelf.par
r9455 r9610 25 25 %Friction 26 26 pos=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);27 md.friction.coefficient=20*ones(md.numberofnodes,1); 28 md.friction.coefficient(md.elements(pos,:))=0; 29 md.friction.p=ones(md.numberofelements,1); 30 md.friction.q=ones(md.numberofelements,1); 31 31 32 32 %Numerical parameters -
issm/trunk/test/Par/SquareShelfConstrained.par
r9607 r9610 29 29 %Friction 30 30 pos=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);31 md.friction.coefficient=20*ones(md.numberofnodes,1); 32 md.friction.coefficient(md.elements(pos,:))=0; 33 md.friction.p=ones(md.numberofelements,1); 34 md.friction.q=ones(md.numberofelements,1); 35 35 36 36 %Numerical parameters -
issm/trunk/test/Par/SquareThermal.par
r9607 r9610 15 15 16 16 disp(' creating drag'); 17 md. drag_coefficient=200*ones(md.numberofnodes,1); %q=1.17 md.friction.coefficient=200*ones(md.numberofnodes,1); %q=1. 18 18 %Take care of iceshelves: no basal drag 19 19 pos=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);20 md.friction.coefficient(md.elements(pos,:))=0; 21 md.friction.p=ones(md.numberofelements,1); 22 md.friction.q=ones(md.numberofelements,1); 23 23 24 24 disp(' creating temperatures');
Note:
See TracChangeset
for help on using the changeset viewer.