Changeset 21930
- Timestamp:
- 08/10/17 05:13:19 (8 years ago)
- Location:
- issm/trunk-jpl/src
- Files:
-
- 8 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk-jpl/src/c/classes/AmrBamg.cpp
r21919 r21930 17 17 18 18 /*Constructor, copy, clean up and destructor*/ 19 AmrBamg::AmrBamg(IssmDouble hmin,IssmDouble hmax,int fieldenum_in,IssmDouble err_in,int keepmetric_in, 19 AmrBamg::AmrBamg(IssmDouble hmin,IssmDouble hmax,int fieldenum_in,IssmDouble err_in,int keepmetric_in,IssmDouble gradation_in, 20 20 IssmDouble groundingline_resolution_in,IssmDouble groundingline_distance_in, 21 21 IssmDouble icefront_resolution_in,IssmDouble icefront_distance_in, … … 43 43 this->options->coeff = 1; 44 44 this->options->errg = 0.1; 45 this->options->gradation = 1.5;45 this->options->gradation = gradation_in; 46 46 this->options->Hessiantype = 0; 47 47 this->options->maxnbv = 1e6; -
issm/trunk-jpl/src/c/classes/AmrBamg.h
r21919 r21930 25 25 26 26 /* Constructor, destructor etc*/ 27 AmrBamg(IssmDouble hmin,IssmDouble hmax,int fieldenum_in,IssmDouble err_in,int keepmetric_in, 27 AmrBamg(IssmDouble hmin,IssmDouble hmax,int fieldenum_in,IssmDouble err_in,int keepmetric_in,IssmDouble gradation_in, 28 28 IssmDouble groundingline_resolution_in,IssmDouble groundingline_distance_in, 29 29 IssmDouble icefront_resolution_in,IssmDouble icefront_distance_in, -
issm/trunk-jpl/src/c/classes/FemModel.cpp
r21919 r21930 2720 2720 void FemModel::WriteMeshInResults(void){/*{{{*/ 2721 2721 2722 #if defined(_HAVE_NEOPZ_) && !defined(_HAVE_ADOLC_)2722 /*Write the erros estimators*/ 2723 2723 this->WriteErrorEstimatorsInResults(); 2724 #endif2725 2724 2726 2725 int step = -1; … … 4419 4418 IssmDouble* z = NULL; 4420 4419 int* elements = NULL; 4421 IssmDouble hmin,hmax,err ;4420 IssmDouble hmin,hmax,err,gradation; 4422 4421 IssmDouble groundingline_resolution,groundingline_distance,icefront_resolution,icefront_distance; 4423 4422 IssmDouble thicknesserror_resolution,thicknesserror_threshold,deviatoricerror_resolution,deviatoricerror_threshold; … … 4439 4438 this->parameters->FindParam(&err,AmrErrEnum); 4440 4439 this->parameters->FindParam(&keepmetric,AmrKeepMetricEnum); 4440 this->parameters->FindParam(&gradation,AmrGradationEnum); 4441 4441 this->parameters->FindParam(&groundingline_resolution,AmrGroundingLineResolutionEnum); 4442 4442 this->parameters->FindParam(&groundingline_distance,AmrGroundingLineDistanceEnum); … … 4449 4449 4450 4450 /*Create bamg data structures for bamg*/ 4451 this->amrbamg = new AmrBamg(hmin,hmax,fieldenum,err,keepmetric, 4451 this->amrbamg = new AmrBamg(hmin,hmax,fieldenum,err,keepmetric,gradation, 4452 4452 groundingline_resolution,groundingline_distance, 4453 4453 icefront_resolution,icefront_distance, -
issm/trunk-jpl/src/c/modules/ModelProcessorx/CreateParameters.cpp
r21919 r21930 115 115 parameters->AddObject(iomodel->CopyConstantObject("md.amr.err",AmrErrEnum)); 116 116 parameters->AddObject(iomodel->CopyConstantObject("md.amr.keepmetric",AmrKeepMetricEnum)); 117 parameters->AddObject(iomodel->CopyConstantObject("md.amr.gradation",AmrGradationEnum)); 117 118 parameters->AddObject(iomodel->CopyConstantObject("md.amr.groundingline_resolution",AmrGroundingLineResolutionEnum)); 118 119 parameters->AddObject(iomodel->CopyConstantObject("md.amr.groundingline_distance",AmrGroundingLineDistanceEnum)); -
issm/trunk-jpl/src/c/shared/Enum/EnumDefinitions.h
r21919 r21930 850 850 AmrErrEnum, 851 851 AmrKeepMetricEnum, 852 AmrGradationEnum, 852 853 AmrGroundingLineResolutionEnum, 853 854 AmrGroundingLineDistanceEnum, -
issm/trunk-jpl/src/c/shared/Enum/EnumToStringx.cpp
r21919 r21930 826 826 case AmrErrEnum : return "AmrErr"; 827 827 case AmrKeepMetricEnum : return "AmrKeepMetric"; 828 case AmrGradationEnum : return "AmrGradation"; 828 829 case AmrGroundingLineResolutionEnum : return "AmrGroundingLineResolution"; 829 830 case AmrGroundingLineDistanceEnum : return "AmrGroundingLineDistance"; -
issm/trunk-jpl/src/c/shared/Enum/StringToEnumx.cpp
r21919 r21930 844 844 else if (strcmp(name,"AmrErr")==0) return AmrErrEnum; 845 845 else if (strcmp(name,"AmrKeepMetric")==0) return AmrKeepMetricEnum; 846 else if (strcmp(name,"AmrGradation")==0) return AmrGradationEnum; 846 847 else if (strcmp(name,"AmrGroundingLineResolution")==0) return AmrGroundingLineResolutionEnum; 847 848 else if (strcmp(name,"AmrGroundingLineDistance")==0) return AmrGroundingLineDistanceEnum; … … 874 875 else if (strcmp(name,"Hook")==0) return HookEnum; 875 876 else if (strcmp(name,"ExternalResult")==0) return ExternalResultEnum; 876 else if (strcmp(name,"FileParam")==0) return FileParamEnum;877 877 else stage=8; 878 878 } 879 879 if(stage==8){ 880 if (strcmp(name,"Input")==0) return InputEnum; 880 if (strcmp(name,"FileParam")==0) return FileParamEnum; 881 else if (strcmp(name,"Input")==0) return InputEnum; 881 882 else if (strcmp(name,"IntInput")==0) return IntInputEnum; 882 883 else if (strcmp(name,"IntParam")==0) return IntParamEnum; … … 997 998 else if (strcmp(name,"MinVel")==0) return MinVelEnum; 998 999 else if (strcmp(name,"MaxVel")==0) return MaxVelEnum; 999 else if (strcmp(name,"MinVx")==0) return MinVxEnum;1000 1000 else stage=9; 1001 1001 } 1002 1002 if(stage==9){ 1003 if (strcmp(name,"MaxVx")==0) return MaxVxEnum; 1003 if (strcmp(name,"MinVx")==0) return MinVxEnum; 1004 else if (strcmp(name,"MaxVx")==0) return MaxVxEnum; 1004 1005 else if (strcmp(name,"MaxAbsVx")==0) return MaxAbsVxEnum; 1005 1006 else if (strcmp(name,"MinVy")==0) return MinVyEnum; -
issm/trunk-jpl/src/m/classes/amrbamg.m
r21919 r21930 11 11 err = 0.; 12 12 keepmetric = 0; 13 gradation = 0.; 13 14 groundingline_resolution = 0.; 14 15 groundingline_distance = 0.; … … 42 43 self.keepmetric=1; 43 44 45 %control of element lengths 46 self.gradation=1.5; 47 44 48 %other criterias 45 49 self.groundingline_resolution=500.; … … 59 63 %md = checkfield(md,'fieldname','amr.fieldname','string',[1]); 60 64 md = checkfield(md,'fieldname','amr.keepmetric','numel',[1],'>=',0,'<=',1,'NaN',1); 65 md = checkfield(md,'fieldname','amr.gradation','numel',[1],'>=',1.1,'<=',5,'NaN',1); 61 66 md = checkfield(md,'fieldname','amr.groundingline_resolution','numel',[1],'>',0,'<',self.hmax,'NaN',1); 62 67 md = checkfield(md,'fieldname','amr.groundingline_distance','numel',[1],'>=',0,'NaN',1,'Inf',1); … … 75 80 fielddisplay(self,'fieldname',['name of input that will be used to compute the metric (should be an input of FemModel)']); 76 81 fielddisplay(self,'keepmetric',['indicates whether the metric should be kept every remeshing time']); 82 fielddisplay(self,'gradation',['maximum ratio between two adjacent edges']); 77 83 fielddisplay(self,'groundingline_resolution',['element length near the grounding line']); 78 84 fielddisplay(self,'groundingline_distance',['distance around the grounding line which elements will be refined']); … … 93 99 WriteData(fid,prefix,'object',self,'class','amr','fieldname','err','format','Double'); 94 100 WriteData(fid,prefix,'object',self,'class','amr','fieldname','keepmetric','format','Integer'); 101 WriteData(fid,prefix,'object',self,'class','amr','fieldname','gradation','format','Double'); 95 102 WriteData(fid,prefix,'object',self,'class','amr','fieldname','groundingline_resolution','format','Double'); 96 103 WriteData(fid,prefix,'object',self,'class','amr','fieldname','groundingline_distance','format','Double');
Note:
See TracChangeset
for help on using the changeset viewer.