Changeset 12872 for issm/branches/trunk-jpl-damage
- Timestamp:
- 08/02/12 09:52:47 (13 years ago)
- Location:
- issm/branches/trunk-jpl-damage
- Files:
-
- 45 edited
- 1 copied
Legend:
- Unmodified
- Added
- Removed
-
issm/branches/trunk-jpl-damage
- Property svn:mergeinfo changed
/issm/trunk-jpl merged: 12260-12273
- Property svn:mergeinfo changed
-
issm/branches/trunk-jpl-damage/src/c/EnumDefinitions/EnumDefinitions.h
r12280 r12872 82 82 InversionStepThresholdEnum, 83 83 InversionThicknessObsEnum, 84 InversionThreshParametersEnum,85 84 InversionVelObsEnum, 86 85 InversionVxObsEnum, -
issm/branches/trunk-jpl-damage/src/c/modules/EnumToStringx/EnumToStringx.cpp
r12280 r12872 86 86 case InversionStepThresholdEnum : return "InversionStepThreshold"; 87 87 case InversionThicknessObsEnum : return "InversionThicknessObs"; 88 case InversionThreshParametersEnum : return "InversionThreshParameters";89 88 case InversionVelObsEnum : return "InversionVelObs"; 90 89 case InversionVxObsEnum : return "InversionVxObs"; -
issm/branches/trunk-jpl-damage/src/c/modules/ModelProcessorx/Control/UpdateElementsAndMaterialsControl.cpp
r11984 r12872 40 40 iomodel->FetchDataToInput(elements,InversionThicknessObsEnum); 41 41 42 iomodel->FetchData( 5,InversionControlParametersEnum,InversionCostFunctionsCoefficientsEnum,InversionMinParametersEnum,InversionMaxParametersEnum,InversionThreshParametersEnum);42 iomodel->FetchData(4,InversionControlParametersEnum,InversionCostFunctionsCoefficientsEnum,InversionMinParametersEnum,InversionMaxParametersEnum); 43 43 for(i=0;i<num_control_type;i++){ 44 44 switch((int)iomodel->Data(InversionControlParametersEnum)[i]){ … … 67 67 68 68 /*Free data: */ 69 iomodel->DeleteData(1+ 5+6,MeshElementsEnum,InversionControlParametersEnum,InversionCostFunctionsCoefficientsEnum,InversionMinParametersEnum,InversionMaxParametersEnum,InversionThreshParametersEnum,BalancethicknessThickeningRateEnum,VxEnum,VyEnum,FrictionCoefficientEnum,MaterialsRheologyBEnum,MaterialsRheologyZEnum);69 iomodel->DeleteData(1+4+6,MeshElementsEnum,InversionControlParametersEnum,InversionCostFunctionsCoefficientsEnum,InversionMinParametersEnum,InversionMaxParametersEnum,BalancethicknessThickeningRateEnum,VxEnum,VyEnum,FrictionCoefficientEnum,MaterialsRheologyBEnum,MaterialsRheologyZEnum); 70 70 } -
issm/branches/trunk-jpl-damage/src/c/modules/ModelProcessorx/CreateElementsVerticesAndMaterials.cpp
r12274 r12872 49 49 if(dim==3)iomodel->FetchData(2,MeshUpperelementsEnum,MeshLowerelementsEnum); 50 50 #endif 51 if(control_analysis)iomodel->FetchData( 4,InversionControlParametersEnum,InversionMinParametersEnum,InversionMaxParametersEnum,InversionThreshParametersEnum);51 if(control_analysis)iomodel->FetchData(3,InversionControlParametersEnum,InversionMinParametersEnum,InversionMaxParametersEnum); 52 52 53 53 /*Create elements and materials: */ … … 67 67 68 68 /*Free data: */ 69 iomodel->DeleteData(1 1,MeshElementsEnum,MeshElementconnectivityEnum,MeshUpperelementsEnum,MeshLowerelementsEnum,69 iomodel->DeleteData(10,MeshElementsEnum,MeshElementconnectivityEnum,MeshUpperelementsEnum,MeshLowerelementsEnum, 70 70 MaterialsRheologyBEnum,MaterialsRheologyNEnum,MaterialsRheologyZEnum,InversionControlParametersEnum,InversionMinParametersEnum, 71 InversionMaxParametersEnum ,InversionThreshParametersEnum);71 InversionMaxParametersEnum); 72 72 73 73 /*Add new constant material property to materials, at the end: */ -
issm/branches/trunk-jpl-damage/src/c/modules/StringToEnumx/StringToEnumx.cpp
r12280 r12872 87 87 else if (strcmp(name,"InversionStepThreshold")==0) return InversionStepThresholdEnum; 88 88 else if (strcmp(name,"InversionThicknessObs")==0) return InversionThicknessObsEnum; 89 else if (strcmp(name,"InversionThreshParameters")==0) return InversionThreshParametersEnum;90 89 else if (strcmp(name,"InversionVelObs")==0) return InversionVelObsEnum; 91 90 else if (strcmp(name,"InversionVxObs")==0) return InversionVxObsEnum; … … 137 136 else if (strcmp(name,"MiscellaneousName")==0) return MiscellaneousNameEnum; 138 137 else if (strcmp(name,"PrognosticHydrostaticAdjustment")==0) return PrognosticHydrostaticAdjustmentEnum; 138 else if (strcmp(name,"PrognosticMinThickness")==0) return PrognosticMinThicknessEnum; 139 139 else stage=2; 140 140 } 141 141 if(stage==2){ 142 if (strcmp(name,"PrognosticMinThickness")==0) return PrognosticMinThicknessEnum; 143 else if (strcmp(name,"PrognosticPenaltyFactor")==0) return PrognosticPenaltyFactorEnum; 142 if (strcmp(name,"PrognosticPenaltyFactor")==0) return PrognosticPenaltyFactorEnum; 144 143 else if (strcmp(name,"PrognosticSpcthickness")==0) return PrognosticSpcthicknessEnum; 145 144 else if (strcmp(name,"PrognosticStabilization")==0) return PrognosticStabilizationEnum; … … 260 259 else if (strcmp(name,"Input")==0) return InputEnum; 261 260 else if (strcmp(name,"IntInput")==0) return IntInputEnum; 261 else if (strcmp(name,"IntParam")==0) return IntParamEnum; 262 262 else stage=3; 263 263 } 264 264 if(stage==3){ 265 if (strcmp(name,"IntParam")==0) return IntParamEnum; 266 else if (strcmp(name,"IntVecParam")==0) return IntVecParamEnum; 265 if (strcmp(name,"IntVecParam")==0) return IntVecParamEnum; 267 266 else if (strcmp(name,"MacAyeal2dIceFront")==0) return MacAyeal2dIceFrontEnum; 268 267 else if (strcmp(name,"MacAyeal3dIceFront")==0) return MacAyeal3dIceFrontEnum; … … 383 382 else if (strcmp(name,"StressTensoryz")==0) return StressTensoryzEnum; 384 383 else if (strcmp(name,"StressTensorzz")==0) return StressTensorzzEnum; 384 else if (strcmp(name,"IceVolume")==0) return IceVolumeEnum; 385 385 else stage=4; 386 386 } 387 387 if(stage==4){ 388 if (strcmp(name,"IceVolume")==0) return IceVolumeEnum; 389 else if (strcmp(name,"P0")==0) return P0Enum; 388 if (strcmp(name,"P0")==0) return P0Enum; 390 389 else if (strcmp(name,"P1")==0) return P1Enum; 391 390 else if (strcmp(name,"P1DG")==0) return P1DGEnum; -
issm/branches/trunk-jpl-damage/src/c/objects/Elements/Penta.cpp
r12278 r12872 1533 1533 double cmmininputs[6]; 1534 1534 double cmmaxinputs[6]; 1535 double cmthreshinputs[6];1536 1535 1537 1536 double yts; … … 1566 1565 for(j=0;j<6;j++)cmmininputs[j]=iomodel->Data(InversionMinParametersEnum)[(penta_vertex_ids[j]-1)*num_control_type+i]/yts; 1567 1566 for(j=0;j<6;j++)cmmaxinputs[j]=iomodel->Data(InversionMaxParametersEnum)[(penta_vertex_ids[j]-1)*num_control_type+i]/yts; 1568 for(j=0;j<6;j++)cmthreshinputs[j]=iomodel->Data(InversionThreshParametersEnum)[(penta_vertex_ids[j]-1)*num_control_type+i]/yts; 1569 this->inputs->AddInput(new ControlInput(BalancethicknessThickeningRateEnum,PentaP1InputEnum,nodeinputs,cmmininputs,cmmaxinputs,cmthreshinputs,i+1)); 1567 this->inputs->AddInput(new ControlInput(BalancethicknessThickeningRateEnum,PentaP1InputEnum,nodeinputs,cmmininputs,cmmaxinputs,i+1)); 1570 1568 } 1571 1569 break; … … 1575 1573 for(j=0;j<6;j++)cmmininputs[j]=iomodel->Data(InversionMinParametersEnum)[(penta_vertex_ids[j]-1)*num_control_type+i]/yts; 1576 1574 for(j=0;j<6;j++)cmmaxinputs[j]=iomodel->Data(InversionMaxParametersEnum)[(penta_vertex_ids[j]-1)*num_control_type+i]/yts; 1577 for(j=0;j<6;j++)cmthreshinputs[j]=iomodel->Data(InversionThreshParametersEnum)[(penta_vertex_ids[j]-1)*num_control_type+i]/yts; 1578 this->inputs->AddInput(new ControlInput(VxEnum,PentaP1InputEnum,nodeinputs,cmmininputs,cmmaxinputs,cmthreshinputs,i+1)); 1575 this->inputs->AddInput(new ControlInput(VxEnum,PentaP1InputEnum,nodeinputs,cmmininputs,cmmaxinputs,i+1)); 1579 1576 } 1580 1577 break; … … 1584 1581 for(j=0;j<6;j++)cmmininputs[j]=iomodel->Data(InversionMinParametersEnum)[(penta_vertex_ids[j]-1)*num_control_type+i]/yts; 1585 1582 for(j=0;j<6;j++)cmmaxinputs[j]=iomodel->Data(InversionMaxParametersEnum)[(penta_vertex_ids[j]-1)*num_control_type+i]/yts; 1586 for(j=0;j<6;j++)cmthreshinputs[j]=iomodel->Data(InversionThreshParametersEnum)[(penta_vertex_ids[j]-1)*num_control_type+i]/yts; 1587 this->inputs->AddInput(new ControlInput(VyEnum,PentaP1InputEnum,nodeinputs,cmmininputs,cmmaxinputs,cmthreshinputs,i+1)); 1583 this->inputs->AddInput(new ControlInput(VyEnum,PentaP1InputEnum,nodeinputs,cmmininputs,cmmaxinputs,i+1)); 1588 1584 } 1589 1585 break; … … 1593 1589 for(j=0;j<6;j++)cmmininputs[j]=iomodel->Data(InversionMinParametersEnum)[(penta_vertex_ids[j]-1)*num_control_type+i]; 1594 1590 for(j=0;j<6;j++)cmmaxinputs[j]=iomodel->Data(InversionMaxParametersEnum)[(penta_vertex_ids[j]-1)*num_control_type+i]; 1595 for(j=0;j<6;j++)cmthreshinputs[j]=iomodel->Data(InversionThreshParametersEnum)[(penta_vertex_ids[j]-1)*num_control_type+i]/yts; 1596 this->inputs->AddInput(new ControlInput(FrictionCoefficientEnum,PentaP1InputEnum,nodeinputs,cmmininputs,cmmaxinputs,cmthreshinputs,i+1)); 1591 this->inputs->AddInput(new ControlInput(FrictionCoefficientEnum,PentaP1InputEnum,nodeinputs,cmmininputs,cmmaxinputs,i+1)); 1597 1592 } 1598 1593 break; -
issm/branches/trunk-jpl-damage/src/c/objects/Elements/Tria.cpp
r12280 r12872 1377 1377 double cmmininputs[3]; 1378 1378 double cmmaxinputs[3]; 1379 double cmthreshinputs[3];1380 1379 bool control_analysis=false; 1381 1380 int num_control_type; … … 1404 1403 for(j=0;j<3;j++)cmmininputs[j]=iomodel->Data(InversionMinParametersEnum)[(tria_vertex_ids[j]-1)*num_control_type+i]/yts; 1405 1404 for(j=0;j<3;j++)cmmaxinputs[j]=iomodel->Data(InversionMaxParametersEnum)[(tria_vertex_ids[j]-1)*num_control_type+i]/yts; 1406 for(j=0;j<3;j++)cmthreshinputs[j]=iomodel->Data(InversionThreshParametersEnum)[(tria_vertex_ids[j]-1)*num_control_type+i]/yts; 1407 this->inputs->AddInput(new ControlInput(BalancethicknessThickeningRateEnum,TriaP1InputEnum,nodeinputs,cmmininputs,cmmaxinputs,cmthreshinputs,i+1)); 1405 this->inputs->AddInput(new ControlInput(BalancethicknessThickeningRateEnum,TriaP1InputEnum,nodeinputs,cmmininputs,cmmaxinputs,i+1)); 1408 1406 } 1409 1407 break; … … 1413 1411 for(j=0;j<3;j++)cmmininputs[j]=iomodel->Data(InversionMinParametersEnum)[(tria_vertex_ids[j]-1)*num_control_type+i]/yts; 1414 1412 for(j=0;j<3;j++)cmmaxinputs[j]=iomodel->Data(InversionMaxParametersEnum)[(tria_vertex_ids[j]-1)*num_control_type+i]/yts; 1415 for(j=0;j<3;j++)cmthreshinputs[j]=iomodel->Data(InversionThreshParametersEnum)[(tria_vertex_ids[j]-1)*num_control_type+i]/yts; 1416 this->inputs->AddInput(new ControlInput(VxEnum,TriaP1InputEnum,nodeinputs,cmmininputs,cmmaxinputs,cmthreshinputs,i+1)); 1413 this->inputs->AddInput(new ControlInput(VxEnum,TriaP1InputEnum,nodeinputs,cmmininputs,cmmaxinputs,i+1)); 1417 1414 } 1418 1415 break; … … 1422 1419 for(j=0;j<3;j++)cmmininputs[j]=iomodel->Data(InversionMinParametersEnum)[(tria_vertex_ids[j]-1)*num_control_type+i]/yts; 1423 1420 for(j=0;j<3;j++)cmmaxinputs[j]=iomodel->Data(InversionMaxParametersEnum)[(tria_vertex_ids[j]-1)*num_control_type+i]/yts; 1424 for(j=0;j<3;j++)cmthreshinputs[j]=iomodel->Data(InversionThreshParametersEnum)[(tria_vertex_ids[j]-1)*num_control_type+i]/yts; 1425 this->inputs->AddInput(new ControlInput(VyEnum,TriaP1InputEnum,nodeinputs,cmmininputs,cmmaxinputs,cmthreshinputs,i+1)); 1421 this->inputs->AddInput(new ControlInput(VyEnum,TriaP1InputEnum,nodeinputs,cmmininputs,cmmaxinputs,i+1)); 1426 1422 } 1427 1423 break; … … 1431 1427 for(j=0;j<3;j++)cmmininputs[j]=iomodel->Data(InversionMinParametersEnum)[(tria_vertex_ids[j]-1)*num_control_type+i]; 1432 1428 for(j=0;j<3;j++)cmmaxinputs[j]=iomodel->Data(InversionMaxParametersEnum)[(tria_vertex_ids[j]-1)*num_control_type+i]; 1433 for(j=0;j<3;j++)cmthreshinputs[j]=iomodel->Data(InversionThreshParametersEnum)[(tria_vertex_ids[j]-1)*num_control_type+i]/yts; 1434 this->inputs->AddInput(new ControlInput(FrictionCoefficientEnum,TriaP1InputEnum,nodeinputs,cmmininputs,cmmaxinputs,cmthreshinputs,i+1)); 1429 this->inputs->AddInput(new ControlInput(FrictionCoefficientEnum,TriaP1InputEnum,nodeinputs,cmmininputs,cmmaxinputs,i+1)); 1435 1430 } 1436 1431 break; -
issm/branches/trunk-jpl-damage/src/c/objects/Inputs/BoolInput.cpp
r12168 r12872 167 167 /*}}}*/ 168 168 /*FUNCTION BoolInput::Constrain{{{1*/ 169 void BoolInput::Constrain(double cm_min, double cm_max , double cm_thresh){169 void BoolInput::Constrain(double cm_min, double cm_max){ 170 170 171 171 if(!isnan(cm_min)) if (this->value<cm_min)this->value=cm_min; 172 172 if(!isnan(cm_max)) if (this->value>cm_max)this->value=cm_max; 173 if(!isnan(cm_thresh)) if (this->value<cm_thresh)this->value=cm_min;174 173 175 174 } -
issm/branches/trunk-jpl-damage/src/c/objects/Inputs/BoolInput.h
r12285 r12872 40 40 Input* PointwiseMin(Input* inputB){_error_("not implemented yet");}; 41 41 Input* PointwiseMax(Input* inputB){_error_("not implemented yet");}; 42 Input* PointwiseThresh(Input* inputB,Input* inputC){_error_("not implemented yet");};43 42 ElementResult* SpawnResult(int step, double time); 44 43 void Configure(Parameters* parameters); … … 74 73 void ArtificialNoise(double min,double max){_error_("not implemented yet");}; 75 74 void AXPY(Input* xinput,double scalar); 76 void Constrain(double cm_min, double cm_max , double cm_thresh);75 void Constrain(double cm_min, double cm_max); 77 76 void Extrude(void); 78 77 void VerticallyIntegrate(Input* thickness_input){_error_("not supported yet");}; -
issm/branches/trunk-jpl-damage/src/c/objects/Inputs/ControlInput.cpp
r12285 r12872 25 25 minvalues = NULL; 26 26 maxvalues = NULL; 27 threshvalues = NULL;28 27 gradient = NULL; 29 28 } 30 29 /*}}}*/ 31 /*FUNCTION ControlInput::ControlInput(int enum_type,int enum_input,double* pvalues,double* pmin,double* pmax, double* pthresh,int id){{{1*/32 ControlInput::ControlInput(int in_enum_type,int enum_input,double* pvalues,double* pmin,double* pmax, double* pthresh,int id){30 /*FUNCTION ControlInput::ControlInput(int enum_type,int enum_input,double* pvalues,double* pmin,double* pmax,int id){{{1*/ 31 ControlInput::ControlInput(int in_enum_type,int enum_input,double* pvalues,double* pmin,double* pmax,int id){ 33 32 34 33 control_id=id; … … 41 40 minvalues =new TriaP1Input(enum_type,pmin); 42 41 maxvalues =new TriaP1Input(enum_type,pmax); 43 threshvalues =new TriaP1Input(enum_type,pthresh);44 42 break; 45 43 case PentaP1InputEnum: … … 48 46 minvalues =new PentaP1Input(enum_type,pmin); 49 47 maxvalues =new PentaP1Input(enum_type,pmax); 50 threshvalues =new TriaP1Input(enum_type,pthresh);51 48 break; 52 49 default: … … 62 59 delete minvalues; 63 60 delete maxvalues; 64 delete threshvalues;65 61 delete gradient; 66 62 } … … 82 78 printf("---minvalues: \n"); if (minvalues) minvalues->Echo(); 83 79 printf("---maxvalues: \n"); if (maxvalues) maxvalues->Echo(); 84 printf("---threshvalues: \n"); if (threshvalues) threshvalues->Echo();85 80 printf("---gradient: \n"); if (gradient) gradient->Echo(); 86 81 } … … 160 155 } 161 156 162 /*marshal threshvalues*/163 if(!threshvalues){164 flag=0;165 memcpy(marshalled_dataset,&flag,sizeof(flag));marshalled_dataset+=sizeof(flag);166 }167 else{168 flag=1;169 memcpy(marshalled_dataset,&flag,sizeof(flag));marshalled_dataset+=sizeof(flag);170 this->threshvalues->Marshall(&marshalled_dataset);171 }172 173 157 /*marshal gradient*/ 174 158 if(!gradient){ … … 200 184 if(minvalues)size+=minvalues->MarshallSize(); 201 185 if(maxvalues)size+=maxvalues->MarshallSize(); 202 if(threshvalues)size+=threshvalues->MarshallSize();203 186 if(gradient) size+=gradient->MarshallSize(); 204 187 return size; … … 291 274 } 292 275 293 /*Demarshal threshvalues*/294 memcpy(&flag,marshalled_dataset,sizeof(int));marshalled_dataset+=sizeof(int);295 if(flag){296 memcpy(&input_enum_type,marshalled_dataset,sizeof(int)); marshalled_dataset+=sizeof(int);297 if(input_enum_type==PentaP1InputEnum){298 threshvalues=new PentaP1Input();299 threshvalues->Demarshall(&marshalled_dataset);300 }301 else if(input_enum_type==TriaP1InputEnum){302 threshvalues=new TriaP1Input();303 threshvalues->Demarshall(&marshalled_dataset);304 }305 else _error_("Not supported yet");306 }307 else{308 threshvalues=NULL;309 }310 311 276 /*Demarshal gradient*/ 312 277 memcpy(&flag,marshalled_dataset,sizeof(int));marshalled_dataset+=sizeof(int); … … 353 318 if(minvalues) output->minvalues=(Input*)this->minvalues->copy(); 354 319 if(maxvalues) output->maxvalues=(Input*)this->maxvalues->copy(); 355 if(threshvalues) output->threshvalues=(Input*)this->threshvalues->copy();356 320 if(gradient) output->gradient=(Input*)this->gradient->copy(); 357 321 … … 379 343 newvalues=this->values->PointwiseMax(minvalues); 380 344 delete values; this->values=newvalues; 381 newvalues=this->values->PointwiseThresh(threshvalues,minvalues); 382 delete values; this->values=newvalues; 383 }/*}}}*/ 384 /*FUNCTION ControlInput::Constrain(double min, double max, double thresh){{{1*/ 385 void ControlInput::Constrain(double min, double max, double thresh){ 386 values->Constrain(min,max,thresh); 345 }/*}}}*/ 346 /*FUNCTION ControlInput::Constrain(double min, double max){{{1*/ 347 void ControlInput::Constrain(double min, double max){ 348 values->Constrain(min,max); 387 349 }/*}}}*/ 388 350 /*FUNCTION ControlInput::Extrude{{{1*/ -
issm/branches/trunk-jpl-damage/src/c/objects/Inputs/ControlInput.h
r12285 r12872 23 23 Input* minvalues; 24 24 Input* maxvalues; 25 Input* threshvalues;26 25 Input* gradient; 27 26 28 27 /*ControlInput constructors, destructors: {{{1*/ 29 28 ControlInput(); 30 ControlInput(int enum_type,int enum_input,double* pvalues,double* pmin,double* pmax, double* pthresh,int id);29 ControlInput(int enum_type,int enum_input,double* pvalues,double* pmin,double* pmax,int id); 31 30 ~ControlInput(); 32 31 /*}}}*/ … … 45 44 Input* PointwiseMin(Input* inputB){_error_("not implemented yet");}; 46 45 Input* PointwiseMax(Input* inputB){_error_("not implemented yet");}; 47 Input* PointwiseThresh(Input* inputB,Input* inputC){_error_("not implemented yet");};48 46 ElementResult* SpawnResult(int step, double time); 49 47 void AddTimeValues(double* values,int step,double time){_error_("not supported yet");}; … … 76 74 void AXPY(Input* xinput,double scalar){_error_("not implemented yet");}; 77 75 void Constrain(void); 78 void Constrain(double min,double max , double thresh);76 void Constrain(double min,double max); 79 77 double InfinityNorm(void){_error_("not implemented yet");}; 80 78 double Max(void){_error_("not implemented yet");}; -
issm/branches/trunk-jpl-damage/src/c/objects/Inputs/DatasetInput.h
r12285 r12872 40 40 Input* PointwiseMin(Input* inputB){_error_("not implemented yet");}; 41 41 Input* PointwiseMax(Input* inputB){_error_("not implemented yet");}; 42 Input* PointwiseThresh(Input* inputB,Input* inputC){_error_("not implemented yet");};43 42 ElementResult* SpawnResult(int step, double time){_error_("not implemented yet");}; 44 43 void AddTimeValues(double* values,int step,double time){_error_("not supported yet");}; … … 70 69 void AXPY(Input* xinput,double scalar){_error_("not implemented yet");}; 71 70 void Constrain(void){_error_("not implemented yet");}; 72 void Constrain(double min,double max , double thresh){_error_("not implemented yet");};71 void Constrain(double min,double max){_error_("not implemented yet");}; 73 72 double InfinityNorm(void){_error_("not implemented yet");}; 74 73 double Max(void){_error_("not implemented yet");}; -
issm/branches/trunk-jpl-damage/src/c/objects/Inputs/DoubleInput.cpp
r12168 r12872 223 223 /*}}}*/ 224 224 /*FUNCTION DoubleInput::Constrain{{{1*/ 225 void DoubleInput::Constrain(double cm_min, double cm_max , double cm_thresh){225 void DoubleInput::Constrain(double cm_min, double cm_max){ 226 226 227 227 if(!isnan(cm_min)) if (this->value<cm_min)this->value=cm_min; 228 228 if(!isnan(cm_max)) if (this->value>cm_max)this->value=cm_max; 229 if(!isnan(cm_thresh)) if (this->value<cm_thresh)this->value=cm_min;230 229 231 230 } -
issm/branches/trunk-jpl-damage/src/c/objects/Inputs/DoubleInput.h
r12285 r12872 39 39 Input* PointwiseMin(Input* inputB); 40 40 Input* PointwiseMax(Input* inputB); 41 Input* PointwiseThresh(Input* inputB,Input* inputC){_error_("not supported yet");};42 41 ElementResult* SpawnResult(int step, double time); 43 42 void AddTimeValues(double* values,int step,double time){_error_("not supported yet");}; … … 68 67 void ArtificialNoise(double min,double max){_error_("not implemented yet");}; 69 68 void AXPY(Input* xinput,double scalar); 70 void Constrain(double cm_min, double cm_max , double cm_thresh);69 void Constrain(double cm_min, double cm_max); 71 70 double InfinityNorm(void){_error_("not implemented yet");}; 72 71 double Max(void); -
issm/branches/trunk-jpl-damage/src/c/objects/Inputs/Input.h
r12285 r12872 53 53 virtual void ArtificialNoise(double min,double max)=0; 54 54 virtual void AXPY(Input* xinput,double scalar)=0; 55 virtual void Constrain(double cm_min, double cm_max , double cm_thresh)=0;55 virtual void Constrain(double cm_min, double cm_max)=0; 56 56 virtual void VerticallyIntegrate(Input* thickness_input)=0; 57 57 virtual void Extrude()=0; … … 63 63 virtual Input* PointwiseMax(Input* inputmax)=0; 64 64 virtual Input* PointwiseMin(Input* inputmin)=0; 65 virtual Input* PointwiseThresh(Input* inputthresh,Input* inputmin)=0;66 65 virtual ElementResult* SpawnResult(int step, double time)=0; 67 66 -
issm/branches/trunk-jpl-damage/src/c/objects/Inputs/IntInput.cpp
r12168 r12872 172 172 /*}}}*/ 173 173 /*FUNCTION IntInput::Constrain{{{1*/ 174 void IntInput::Constrain(double cm_min, double cm_max , double cm_thresh){174 void IntInput::Constrain(double cm_min, double cm_max){ 175 175 176 176 if(!isnan(cm_min)) if (this->value<cm_min)this->value=(int)cm_min; 177 177 if(!isnan(cm_max)) if (this->value>cm_max)this->value=(int)cm_max; 178 if(!isnan(cm_thresh)) if (this->value<cm_thresh)this->value=(int)cm_min;179 178 180 179 } -
issm/branches/trunk-jpl-damage/src/c/objects/Inputs/IntInput.h
r12285 r12872 40 40 Input* PointwiseMin(Input* inputB){_error_("not implemented yet");}; 41 41 Input* PointwiseMax(Input* inputB){_error_("not implemented yet");}; 42 Input* PointwiseThresh(Input* inputB,Input* inputC){_error_("not implemented yet");};43 42 ElementResult* SpawnResult(int step, double time); 44 43 void AddTimeValues(double* values,int step,double time){_error_("not supported yet");}; … … 69 68 void ArtificialNoise(double min,double max){_error_("not implemented yet");}; 70 69 void AXPY(Input* xinput,double scalar); 71 void Constrain(double cm_min, double cm_max , double cm_thresh);70 void Constrain(double cm_min, double cm_max); 72 71 double InfinityNorm(void){_error_("InfinityNorm not implemented for integers");}; 73 72 double Max(void){_error_("Max not implemented for integers");}; -
issm/branches/trunk-jpl-damage/src/c/objects/Inputs/PentaP1Input.cpp
r12285 r12872 466 466 /*}}}*/ 467 467 /*FUNCTION PentaP1Input::Constrain{{{1*/ 468 void PentaP1Input::Constrain(double cm_min, double cm_max , double cm_thresh){468 void PentaP1Input::Constrain(double cm_min, double cm_max){ 469 469 470 470 int i; … … 473 473 if(!isnan(cm_min)) for(i=0;i<numnodes;i++)if (this->values[i]<cm_min)this->values[i]=cm_min; 474 474 if(!isnan(cm_max)) for(i=0;i<numnodes;i++)if (this->values[i]>cm_max)this->values[i]=cm_max; 475 if(!isnan(cm_thresh)) for(i=0;i<numnodes;i++)if (this->values[i]<cm_thresh)this->values[i]=cm_min;476 475 477 476 } … … 609 608 } 610 609 /*}}}*/ 611 /*FUNCTION PentaP1Input::PointwiseThresh{{{1*/612 Input* PentaP1Input::PointwiseThresh(Input* inputB,Input* inputC){613 614 /*Ouput*/615 PentaP1Input* outinput=NULL;616 617 /*Intermediaries*/618 int i;619 PentaP1Input *xinputB = NULL;620 PentaP1Input *xinputC = NULL;621 int B_numvalues;622 const int numnodes = 6;623 double threshvalues[numnodes];624 625 /*Check that inputB is of the same type*/626 if (inputB->ObjectEnum()!=PentaP1InputEnum) _error_("Operation not permitted because inputB is of type %s",EnumToStringx(inputB->ObjectEnum()));627 xinputB=(PentaP1Input*)inputB;628 629 /*Check that inputB is of the same type*/630 if (inputC->ObjectEnum()!=PentaP1InputEnum) _error_("Operation not permitted because inputC is of type %s",EnumToStringx(inputC->ObjectEnum()));631 xinputC=(PentaP1Input*)inputC;632 633 /*Create point wise thresh*/634 for(i=0;i<numnodes;i++){635 if(this->values[i] < xinputB->values[i]) threshvalues[i]=xinputC->values[i];636 else threshvalues[i]=this->values[i];637 }638 639 /*Create new Penta vertex input (copy of current input)*/640 outinput=new PentaP1Input(this->enum_type,&threshvalues[0]);641 642 /*Return output pointer*/643 return outinput;644 645 }646 /*}}}*/647 610 /*FUNCTION PentaP1Input::GetVectorFromInputs{{{1*/ 648 611 void PentaP1Input::GetVectorFromInputs(Vector* vector,int* doflist){ -
issm/branches/trunk-jpl-damage/src/c/objects/Inputs/PentaP1Input.h
r12285 r12872 40 40 Input* PointwiseMin(Input* inputB); 41 41 Input* PointwiseMax(Input* inputB); 42 Input* PointwiseThresh(Input* inputB,Input* inputC);43 42 ElementResult* SpawnResult(int step, double time); 44 43 void AddTimeValues(double* values,int step,double time){_error_("not supported yet");}; … … 70 69 void ArtificialNoise(double min,double max){_error_("not implemented yet");}; 71 70 void AXPY(Input* xinput,double scalar); 72 void Constrain(double cm_min, double cm_max , double cm_thresh);71 void Constrain(double cm_min, double cm_max); 73 72 double InfinityNorm(void); 74 73 double Max(void); -
issm/branches/trunk-jpl-damage/src/c/objects/Inputs/TransientInput.h
r12285 r12872 43 43 Input* PointwiseMin(Input* forcingB){_error_("not implemented yet");}; 44 44 Input* PointwiseMax(Input* forcingB){_error_("not implemented yet");}; 45 Input* PointwiseThresh(Input* forcingB,Input* forcingC){_error_("not implemented yet");};46 45 ElementResult* SpawnResult(int step, double time); 47 46 void Configure(Parameters* parameters); … … 72 71 void ArtificialNoise(double min,double max){_error_("not implemented yet");}; 73 72 void AXPY(Input* xforcing,double scalar){_error_("not implemented yet");}; 74 void Constrain(double cm_min, double cm_max , double cm_thresh){_error_("not implemented yet");};73 void Constrain(double cm_min, double cm_max){_error_("not implemented yet");}; 75 74 double InfinityNorm(void); 76 75 double Max(void); -
issm/branches/trunk-jpl-damage/src/c/objects/Inputs/TriaP1Input.cpp
r12285 r12872 329 329 /*}}}*/ 330 330 /*FUNCTION TriaP1Input::Constrain{{{1*/ 331 void TriaP1Input::Constrain(double cm_min, double cm_max , double cm_thresh){331 void TriaP1Input::Constrain(double cm_min, double cm_max){ 332 332 333 333 int i; … … 336 336 if(!isnan(cm_min)) for(i=0;i<numnodes;i++)if (this->values[i]<cm_min)this->values[i]=cm_min; 337 337 if(!isnan(cm_max)) for(i=0;i<numnodes;i++)if (this->values[i]>cm_max)this->values[i]=cm_max; 338 if(!isnan(cm_thresh)) for(i=0;i<numnodes;i++)if (this->values[i]<cm_thresh)this->values[i]=cm_min;339 338 340 339 } … … 417 416 } 418 417 /*}}}*/ 419 /*FUNCTION TriaP1Input::PointwiseThresh{{{1*/420 Input* TriaP1Input::PointwiseThresh(Input* inputB, Input* inputC){421 /*pointwise comparison to inputB. If less than inputB, set nodal output to input C*/422 423 /*Ouput*/424 TriaP1Input* outinput=NULL;425 426 /*Intermediaries*/427 int i;428 TriaP1Input *xinputB = NULL;429 TriaP1Input *xinputC = NULL;430 int B_numvalues; /* doesn't look like this is used */431 const int numnodes = 3;432 double threshvalues[numnodes];433 434 /*Check that inputB is of the same type*/435 if (inputB->ObjectEnum()!=TriaP1InputEnum) _error_("Operation not permitted because inputB is of type %s",EnumToStringx(inputB->ObjectEnum()));436 xinputB=(TriaP1Input*)inputB;437 438 /*Check that inputC is of the same type*/439 if (inputC->ObjectEnum()!=TriaP1InputEnum) _error_("Operation not permitted because inputC is of type %s",EnumToStringx(inputC->ObjectEnum()));440 xinputC=(TriaP1Input*)inputC;441 442 /*Create point wise thresh*/443 for(i=0;i<numnodes;i++){444 if(this->values[i] < xinputB->values[i]) threshvalues[i]=xinputC->values[i];445 else threshvalues[i]=this->values[i];446 }447 448 /*Create new Tria vertex input (copy of current input)*/449 outinput=new TriaP1Input(this->enum_type,&threshvalues[0]);450 451 /*Return output pointer*/452 return outinput;453 454 }455 /*}}}*/456 418 /*FUNCTION TriaP1Input::Configure{{{1*/ 457 419 void TriaP1Input::Configure(Parameters* parameters){ -
issm/branches/trunk-jpl-damage/src/c/objects/Inputs/TriaP1Input.h
r12285 r12872 40 40 Input* PointwiseMin(Input* inputB); 41 41 Input* PointwiseMax(Input* inputB); 42 Input* PointwiseThresh(Input* inputB, Input* inputC);43 42 ElementResult* SpawnResult(int step, double time); 44 43 void AddTimeValues(double* values,int step,double time){_error_("not supported yet");}; … … 70 69 void ArtificialNoise(double min,double max); 71 70 void AXPY(Input* xinput,double scalar); 72 void Constrain(double cm_min, double cm_max , double cm_thresh);71 void Constrain(double cm_min, double cm_max); 73 72 double InfinityNorm(void); 74 73 double Max(void); -
issm/branches/trunk-jpl-damage/src/c/objects/Materials/Matice.cpp
r12275 r12872 758 758 double cmmininputs[num_vertices]; 759 759 double cmmaxinputs[num_vertices]; 760 double cmthreshinputs[num_vertices];761 760 762 761 /*Get B*/ … … 789 788 for(j=0;j<num_vertices;j++)cmmininputs[j]=iomodel->Data(InversionMinParametersEnum)[int(iomodel->Data(MeshElementsEnum)[num_vertices*index+j]-1)*num_control_type+i]; 790 789 for(j=0;j<num_vertices;j++)cmmaxinputs[j]=iomodel->Data(InversionMaxParametersEnum)[int(iomodel->Data(MeshElementsEnum)[num_vertices*index+j]-1)*num_control_type+i]; 791 for(j=0;j<num_vertices;j++)cmthreshinputs[j]=iomodel->Data(InversionThreshParametersEnum)[int(iomodel->Data(MeshElementsEnum)[num_vertices*index+j]-1)*num_control_type+i]; 792 this->inputs->AddInput(new ControlInput(MaterialsRheologyBbarEnum,TriaP1InputEnum,nodeinputs,cmmininputs,cmmaxinputs,cmthreshinputs,i+1)); 790 this->inputs->AddInput(new ControlInput(MaterialsRheologyBbarEnum,TriaP1InputEnum,nodeinputs,cmmininputs,cmmaxinputs,i+1)); 793 791 } 794 792 break; … … 799 797 for(j=0;j<num_vertices;j++)cmmininputs[j]=iomodel->Data(InversionMinParametersEnum)[int(iomodel->Data(MeshElementsEnum)[num_vertices*index+j]-1)*num_control_type+i]; 800 798 for(j=0;j<num_vertices;j++)cmmaxinputs[j]=iomodel->Data(InversionMaxParametersEnum)[int(iomodel->Data(MeshElementsEnum)[num_vertices*index+j]-1)*num_control_type+i]; 801 for(j=0;j<num_vertices;j++)cmthreshinputs[j]=iomodel->Data(InversionThreshParametersEnum)[int(iomodel->Data(MeshElementsEnum)[num_vertices*index+j]-1)*num_control_type+i]; 802 this->inputs->AddInput(new ControlInput(MaterialsRheologyZbarEnum,TriaP1InputEnum,nodeinputs,cmmininputs,cmmaxinputs,cmthreshinputs,i+1)); 799 this->inputs->AddInput(new ControlInput(MaterialsRheologyZbarEnum,TriaP1InputEnum,nodeinputs,cmmininputs,cmmaxinputs,i+1)); 803 800 } 804 801 break; … … 818 815 double cmmininputs[num_vertices]; 819 816 double cmmaxinputs[num_vertices]; 820 double cmthreshinputs[num_vertices];821 817 822 818 /*Get B*/ … … 849 845 for(j=0;j<num_vertices;j++)cmmininputs[j]=iomodel->Data(InversionMinParametersEnum)[int(iomodel->Data(MeshElementsEnum)[num_vertices*index+j]-1)*num_control_type+i]; 850 846 for(j=0;j<num_vertices;j++)cmmaxinputs[j]=iomodel->Data(InversionMaxParametersEnum)[int(iomodel->Data(MeshElementsEnum)[num_vertices*index+j]-1)*num_control_type+i]; 851 for(j=0;j<num_vertices;j++)cmthreshinputs[j]=iomodel->Data(InversionThreshParametersEnum)[int(iomodel->Data(MeshElementsEnum)[num_vertices*index+j]-1)*num_control_type+i]; 852 this->inputs->AddInput(new ControlInput(MaterialsRheologyBEnum,PentaP1InputEnum,nodeinputs,cmmininputs,cmmaxinputs,cmthreshinputs,i+1)); 847 this->inputs->AddInput(new ControlInput(MaterialsRheologyBEnum,PentaP1InputEnum,nodeinputs,cmmininputs,cmmaxinputs,i+1)); 853 848 } 854 849 break; … … 859 854 for(j=0;j<num_vertices;j++)cmmininputs[j]=iomodel->Data(InversionMinParametersEnum)[int(iomodel->Data(MeshElementsEnum)[num_vertices*index+j]-1)*num_control_type+i]; 860 855 for(j=0;j<num_vertices;j++)cmmaxinputs[j]=iomodel->Data(InversionMaxParametersEnum)[int(iomodel->Data(MeshElementsEnum)[num_vertices*index+j]-1)*num_control_type+i]; 861 for(j=0;j<num_vertices;j++)cmthreshinputs[j]=iomodel->Data(InversionThreshParametersEnum)[int(iomodel->Data(MeshElementsEnum)[num_vertices*index+j]-1)*num_control_type+i]; 862 this->inputs->AddInput(new ControlInput(MaterialsRheologyZEnum,PentaP1InputEnum,nodeinputs,cmmininputs,cmmaxinputs,cmthreshinputs,i+1)); 856 this->inputs->AddInput(new ControlInput(MaterialsRheologyZEnum,PentaP1InputEnum,nodeinputs,cmmininputs,cmmaxinputs,i+1)); 863 857 } 864 858 break; -
issm/branches/trunk-jpl-damage/src/m/classes/inversion.m
r12286 r12872 18 18 min_parameters = NaN 19 19 max_parameters = NaN 20 thresh_parameters = NaN21 20 step_threshold = NaN 22 21 gradient_only = 0 … … 97 96 checkfield(md,'inversion.min_parameters','size',[md.mesh.numberofvertices num_controls]); 98 97 checkfield(md,'inversion.max_parameters','size',[md.mesh.numberofvertices num_controls]); 99 checkfield(md,'inversion.thresh_parameters','size',[md.mesh.numberofvertices num_controls]);100 98 101 99 if solution==BalancethicknessSolutionEnum … … 119 117 fielddisplay(obj,'min_parameters','absolute minimum acceptable value of the inversed parameter on each vertex'); 120 118 fielddisplay(obj,'max_parameters','absolute maximum acceptable value of the inversed parameter on each vertex'); 121 fielddisplay(obj,'thresh_parameters','threshold value of the inversed parameter, below which it jumps to min_parameters. Set to min_parameters to disable');122 119 fielddisplay(obj,'gradient_only','stop control method solution at gradient'); 123 120 fielddisplay(obj,'vx_obs','observed velocity x component [m/a]'); … … 149 146 WriteData(fid,'object',obj,'fieldname','min_parameters','format','DoubleMat','mattype',3); 150 147 WriteData(fid,'object',obj,'fieldname','max_parameters','format','DoubleMat','mattype',3); 151 WriteData(fid,'object',obj,'fieldname','thresh_parameters','format','DoubleMat','mattype',3);152 148 WriteData(fid,'object',obj,'fieldname','step_threshold','format','DoubleMat','mattype',3); 153 149 WriteData(fid,'object',obj,'fieldname','gradient_only','format','Boolean'); -
issm/branches/trunk-jpl-damage/src/m/classes/model/model.m
r12168 r12872 189 189 if isfield(structmd,'cm_min'), md.inversion.min_parameters=structmd.cm_min; end 190 190 if isfield(structmd,'cm_max'), md.inversion.max_parameters=structmd.cm_max; end 191 if isfield(structmd,'cm_thresh'), md.inversion.thresh_parameters=structmd.cm_thresh; end192 191 if isfield(structmd,'vx_obs'), md.inversion.vx_obs=structmd.vx_obs; end 193 192 if isfield(structmd,'vy_obs'), md.inversion.vy_obs=structmd.vy_obs; end -
issm/branches/trunk-jpl-damage/src/m/enum/MaximumNumberOfEnums.m
r12280 r12872 9 9 % macro=MaximumNumberOfEnums() 10 10 11 macro=4 40;11 macro=439; -
issm/branches/trunk-jpl-damage/src/m/model/parameterization/parametercontrolZ.m
r11990 r12872 57 57 else 58 58 md.inversion.max_parameters=cm_max; 59 end60 61 %cm_thresh62 cm_thresh=getfieldvalue(options,'cm_thresh',1e-4*ones(md.mesh.numberofvertices,1));63 if (length(cm_thresh)==1)64 md.inversion.thresh_parameters=cm_thresh*ones(md.mesh.numberofvertices,1);65 elseif (length(cm_thresh)==md.mesh.numberofvertices)66 md.inversion.thresh_parameters=cm_thresh;67 else68 md.inversion.thresh_parameters=cm_thresh;69 59 end 70 60 -
issm/branches/trunk-jpl-damage/test/NightlyRun/test224.m
r12276 r12872 9 9 md.inversion.min_parameters=10^6*ones(md.mesh.numberofvertices,1); 10 10 md.inversion.max_parameters=2*10^9*ones(md.mesh.numberofvertices,1); 11 md.inversion.thresh_parameters=md.inversion.min_parameters;12 11 md.inversion.nsteps=2; 13 12 md.inversion.cost_functions=101*ones(md.inversion.nsteps,1); -
issm/branches/trunk-jpl-damage/test/NightlyRun/test226.m
r12276 r12872 10 10 md.inversion.min_parameters=10^6*ones(md.mesh.numberofvertices,1); 11 11 md.inversion.max_parameters=2*10^9*ones(md.mesh.numberofvertices,1); 12 md.inversion.thresh_parameters=md.inversion.min_parameters;13 12 md.inversion.nsteps=2; 14 13 md.inversion.cost_functions=101*ones(md.inversion.nsteps,1); -
issm/branches/trunk-jpl-damage/test/NightlyRun/test228.m
r12276 r12872 10 10 md.inversion.min_parameters=10^6*ones(md.mesh.numberofvertices,1); 11 11 md.inversion.max_parameters=2*10^9*ones(md.mesh.numberofvertices,1); 12 md.inversion.thresh_parameters=md.inversion.min_parameters;13 12 md.inversion.nsteps=2; 14 13 md.inversion.cost_functions=101*ones(md.inversion.nsteps,1); -
issm/branches/trunk-jpl-damage/test/NightlyRun/test230.m
r12276 r12872 10 10 md.inversion.min_parameters=10^6*ones(md.mesh.numberofvertices,1); 11 11 md.inversion.max_parameters=2*10^9*ones(md.mesh.numberofvertices,1); 12 md.inversion.thresh_parameters=md.inversion.min_parameters;13 12 md.inversion.nsteps=2; 14 13 md.inversion.cost_functions=101*ones(md.inversion.nsteps,1); -
issm/branches/trunk-jpl-damage/test/NightlyRun/test272.m
r12259 r12872 10 10 md.inversion.min_parameters=10^-13*ones(md.mesh.numberofvertices,1); 11 11 md.inversion.max_parameters=ones(md.mesh.numberofvertices,1); 12 md.inversion.thresh_parameters=md.inversion.min_parameters;13 12 md.inversion.nsteps=2; 14 13 md.inversion.cost_functions=101*ones(md.inversion.nsteps,1); -
issm/branches/trunk-jpl-damage/test/NightlyRun/test338.m
r12276 r12872 9 9 md.inversion.min_parameters=1*ones(md.mesh.numberofvertices,1); 10 10 md.inversion.max_parameters=200*ones(md.mesh.numberofvertices,1); 11 md.inversion.thresh_parameters=md.inversion.min_parameters;12 11 md.inversion.nsteps=2; 13 12 md.inversion.cost_functions=[103*ones(md.inversion.nsteps,1) 501*ones(md.inversion.nsteps,1)]; -
issm/branches/trunk-jpl-damage/test/NightlyRun/test340.m
r12276 r12872 10 10 md.inversion.min_parameters=1*ones(md.mesh.numberofvertices,1); 11 11 md.inversion.max_parameters=200*ones(md.mesh.numberofvertices,1); 12 md.inversion.thresh_parameters=md.inversion.min_parameters;13 12 md.inversion.nsteps=2; 14 13 md.inversion.cost_functions=[103*ones(md.inversion.nsteps,1) 501*ones(md.inversion.nsteps,1)]; -
issm/branches/trunk-jpl-damage/test/NightlyRun/test342.m
r12276 r12872 10 10 md.inversion.min_parameters=1*ones(md.mesh.numberofvertices,1); 11 11 md.inversion.max_parameters=200*ones(md.mesh.numberofvertices,1); 12 md.inversion.thresh_parameters=md.inversion.min_parameters;13 12 md.inversion.nsteps=2; 14 13 md.inversion.cost_functions=[102*ones(md.inversion.nsteps,1) 501*ones(md.inversion.nsteps,1)]; -
issm/branches/trunk-jpl-damage/test/NightlyRun/test344.m
r12276 r12872 10 10 md.inversion.min_parameters=1*ones(md.mesh.numberofvertices,1); 11 11 md.inversion.max_parameters=200*ones(md.mesh.numberofvertices,1); 12 md.inversion.thresh_parameters=md.inversion.min_parameters;13 12 md.inversion.nsteps=2; 14 13 md.inversion.cost_functions=[104*ones(md.inversion.nsteps,1) 501*ones(md.inversion.nsteps,1)]; -
issm/branches/trunk-jpl-damage/test/NightlyRun/test430.m
r12276 r12872 10 10 md.inversion.min_parameters=1*ones(md.mesh.numberofvertices,1); 11 11 md.inversion.max_parameters=200*ones(md.mesh.numberofvertices,1); 12 md.inversion.thresh_parameters=md.inversion.min_parameters;13 12 md.inversion.nsteps=2; 14 13 md.inversion.cost_functions=[103*ones(md.inversion.nsteps,1) 501*ones(md.inversion.nsteps,1)]; -
issm/branches/trunk-jpl-damage/test/NightlyRun/test432.m
r12276 r12872 10 10 md.inversion.min_parameters=1*ones(md.mesh.numberofvertices,1); 11 11 md.inversion.max_parameters=200*ones(md.mesh.numberofvertices,1); 12 md.inversion.thresh_parameters=md.inversion.min_parameters;13 12 md.inversion.nsteps=2; 14 13 md.inversion.cost_functions=[102*ones(md.inversion.nsteps,1) 501*ones(md.inversion.nsteps,1)]; -
issm/branches/trunk-jpl-damage/test/NightlyRun/test522.m
r12276 r12872 15 15 md.inversion.min_parameters=10^6*ones(md.mesh.numberofvertices,1); 16 16 md.inversion.max_parameters=2*10^9*ones(md.mesh.numberofvertices,1); 17 md.inversion.thresh_parameters=md.inversion.min_parameters;18 17 md.inversion.nsteps=2; 19 18 md.inversion.cost_functions=101*ones(md.inversion.nsteps,1); -
issm/branches/trunk-jpl-damage/test/NightlyRun/test524.m
r12276 r12872 10 10 md.inversion.min_parameters=1*ones(md.mesh.numberofvertices,1); 11 11 md.inversion.max_parameters=200*ones(md.mesh.numberofvertices,1); 12 md.inversion.thresh_parameters=md.inversion.min_parameters;13 12 md.inversion.nsteps=2; 14 13 md.inversion.cost_functions=[103*ones(md.inversion.nsteps,1) 501*ones(md.inversion.nsteps,1)]; -
issm/branches/trunk-jpl-damage/test/NightlyRun/test526.m
r12276 r12872 10 10 md.inversion.min_parameters=1*ones(md.mesh.numberofvertices,1); 11 11 md.inversion.max_parameters=200*ones(md.mesh.numberofvertices,1); 12 md.inversion.thresh_parameters=md.inversion.min_parameters;13 12 md.inversion.nsteps=2; 14 13 md.inversion.cost_functions=[103*ones(md.inversion.nsteps,1) 501*ones(md.inversion.nsteps,1)]; -
issm/branches/trunk-jpl-damage/test/NightlyRun/test622.m
r12276 r12872 12 12 md.inversion.min_parameters=-50*ones(md.mesh.numberofvertices,1); 13 13 md.inversion.max_parameters=50*ones(md.mesh.numberofvertices,1); 14 md.inversion.thresh_parameters=md.inversion.min_parameters;15 14 md.inversion.cost_functions=201*ones(md.inversion.nsteps,1); 16 15 md.inversion.cost_functions_coefficients=ones(md.mesh.numberofvertices,1); -
issm/branches/trunk-jpl-damage/test/NightlyRun/test624.m
r12276 r12872 13 13 md.inversion.min_parameters=-50*ones(md.mesh.numberofvertices,1); 14 14 md.inversion.max_parameters=50*ones(md.mesh.numberofvertices,1); 15 md.inversion.thresh_parameters=md.inversion.min_parameters;16 15 md.inversion.cost_functions=201*ones(md.inversion.nsteps,1); 17 16 md.inversion.cost_functions_coefficients=ones(md.mesh.numberofvertices,1); -
issm/branches/trunk-jpl-damage/test/NightlyRun/test626.m
r12276 r12872 20 20 md.inversion.min_parameters=[-2000*ones(md.mesh.numberofvertices,1) -2000*ones(md.mesh.numberofvertices,1)]; 21 21 md.inversion.max_parameters=[+2000*ones(md.mesh.numberofvertices,1) +2000*ones(md.mesh.numberofvertices,1)]; 22 md.inversion.thresh_parameters=md.inversion.min_parameters;23 22 md.inversion.cost_functions=201*ones(md.inversion.nsteps,1); 24 23 md.inversion.cost_functions_coefficients=ones(md.mesh.numberofvertices,1);
Note:
See TracChangeset
for help on using the changeset viewer.