Changeset 6748
- Timestamp:
- 12/17/10 10:04:20 (14 years ago)
- Location:
- issm/trunk/src
- Files:
-
- 9 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk/src/c/EnumDefinitions/EnumDefinitions.h
r6726 r6748 158 158 AirEnum, 159 159 MelangeEnum, 160 /*}}}*/ 161 /*Rift state {{{1*/ 162 FreeEnum, 163 OpenEnum, 164 ClosedEnum, 160 165 /*}}}*/ 161 166 /*Inputs {{{1*/ -
issm/trunk/src/c/EnumDefinitions/EnumToString.cpp
r6726 r6748 134 134 case AirEnum : return "Air"; 135 135 case MelangeEnum : return "Melange"; 136 case FreeEnum : return "Free"; 137 case OpenEnum : return "Open"; 138 case ClosedEnum : return "Closed"; 136 139 case AccumulationRateEnum : return "AccumulationRate"; 137 140 case AdjointxEnum : return "Adjointx"; -
issm/trunk/src/c/EnumDefinitions/StringToEnum.cpp
r6726 r6748 132 132 else if (strcmp(name,"Air")==0) return AirEnum; 133 133 else if (strcmp(name,"Melange")==0) return MelangeEnum; 134 else if (strcmp(name,"Free")==0) return FreeEnum; 135 else if (strcmp(name,"Open")==0) return OpenEnum; 136 else if (strcmp(name,"Closed")==0) return ClosedEnum; 134 137 else if (strcmp(name,"AccumulationRate")==0) return AccumulationRateEnum; 135 138 else if (strcmp(name,"Adjointx")==0) return AdjointxEnum; -
issm/trunk/src/c/modules/ModelProcessorx/ModelProcessorx.h
r6235 r6748 6 6 #define _MODEL_PROCESSORX_H_ 7 7 8 #define RIFTINFOSIZE 1 18 #define RIFTINFOSIZE 12 9 9 10 10 class DataSet; -
issm/trunk/src/c/objects/Loads/Riftfront.cpp
r6413 r6748 87 87 this->length=*(iomodel->riftinfo+RIFTINFOSIZE*i+6); 88 88 this->fraction=*(iomodel->riftinfo+RIFTINFOSIZE*i+9); 89 this->state=*(iomodel->riftinfo+RIFTINFOSIZE*i+11); 89 90 90 91 //intialize inputs, and add as many inputs per element as requested: … … 156 157 printf(" fraction: %i\n",fraction); 157 158 printf(" fractionincrement: %i\n",fractionincrement); 159 printf(" state: %i\n",state); 158 160 printf(" frozen: %s\n",frozen ? "true":"false"); 159 161 … … 209 211 memcpy(marshalled_dataset,&fraction,sizeof(fraction));marshalled_dataset+=sizeof(fraction); 210 212 memcpy(marshalled_dataset,&frozen,sizeof(frozen));marshalled_dataset+=sizeof(frozen); 213 memcpy(marshalled_dataset,&state,sizeof(state));marshalled_dataset+=sizeof(state); 211 214 memcpy(marshalled_dataset,&counter,sizeof(counter));marshalled_dataset+=sizeof(counter); 212 215 memcpy(marshalled_dataset,&prestable,sizeof(prestable));marshalled_dataset+=sizeof(prestable); … … 243 246 +sizeof(fraction) 244 247 +sizeof(frozen) 248 +sizeof(state) 245 249 +sizeof(counter) 246 250 +sizeof(prestable) … … 273 277 memcpy(&fraction,marshalled_dataset,sizeof(fraction));marshalled_dataset+=sizeof(fraction); 274 278 memcpy(&frozen,marshalled_dataset,sizeof(frozen));marshalled_dataset+=sizeof(frozen); 279 memcpy(&state,marshalled_dataset,sizeof(state));marshalled_dataset+=sizeof(state); 275 280 memcpy(&counter,marshalled_dataset,sizeof(counter));marshalled_dataset+=sizeof(counter); 276 281 memcpy(&prestable,marshalled_dataset,sizeof(prestable));marshalled_dataset+=sizeof(prestable); … … 338 343 riftfront->active=this->active; 339 344 riftfront->frozen=this->frozen; 345 riftfront->state=this->state; 340 346 riftfront->counter=this->counter; 341 347 riftfront->prestable=this->prestable; … … 702 708 } 703 709 710 /*Is this rift segment state specified by user input? :*/ 711 if (this->state==OpenEnum || this->state==ClosedEnum){ 712 713 if(this->state==OpenEnum)this->active=0; 714 if(this->state==ClosedEnum)this->active=1; 715 716 /*this segment is like frozen, no instability here: */ 717 *punstable=0; 718 return 1; 719 } 720 721 704 722 /*recover parameters: */ 705 723 this->inputs->GetParameterValue(&fractionincrement,FractionIncrementEnum); -
issm/trunk/src/c/objects/Loads/Riftfront.h
r6412 r6748 41 41 double length; 42 42 double fraction; 43 int state; 43 44 44 45 Parameters* parameters; //pointer to solution parameters -
issm/trunk/src/c/shared/TriMesh/TriMeshUtils.cpp
r6412 r6748 10 10 #include "../../include/include.h" 11 11 12 #define RIFTPENALTYPAIRSWIDTH 8 12 13 int IsGridOnRift(int* riftsegments, int nriftsegs, int grid){ 13 14 … … 986 987 987 988 /*allocate riftpenaltypairs, and riftnumpenaltypairs: */ 988 if((numsegs/2-1)!=0)riftpenaltypairs=(double*)xcalloc((numsegs/2-1)* 7,sizeof(double));989 if((numsegs/2-1)!=0)riftpenaltypairs=(double*)xcalloc((numsegs/2-1)*RIFTPENALTYPAIRSWIDTH,sizeof(double)); 989 990 990 991 /*Go through only one flank of the rifts, not counting the tips: */ -
issm/trunk/src/m/model/presolve.m
r6304 r6748 31 31 end 32 32 33 md.riftinfo=zeros(numpairs,1 0); % 2 for grids + 2 for elements+ 2 for normals + 1 for length + 1 for fill + 1 for friction + 1 for fraction.33 md.riftinfo=zeros(numpairs,12); % 2 for grids + 2 for elements+ 2 for normals + 1 for length + 1 for fill + 1 for friction + 1 for fraction + 1 for fractionincrement + 1 for state. 34 34 35 35 count=1; … … 41 41 md.riftinfo(count:count+numpairsforthisrift-1,10)=md.rifts(i).fraction; 42 42 md.riftinfo(count:count+numpairsforthisrift-1,11)=md.rifts(i).fractionincrement; 43 md.riftinfo(count:count+numpairsforthisrift-1,12)=md.rifts(i).state; 43 44 count=count+numpairsforthisrift; 44 45 end -
issm/trunk/src/mex/TriMeshProcessRifts/TriMeshProcessRifts.cpp
r4526 r6748 27 27 /*empty rifts structure: */ 28 28 double* pNaN=NULL; 29 const char* fnames[ 9];29 const char* fnames[10]; 30 30 mwSize ndim=2; 31 31 mwSize dimensions[2] = {1,1}; … … 47 47 double* segmentmarkers_in=NULL; 48 48 49 /* state: */ 50 double* state=NULL; 51 49 52 int num_seg; 50 53 … … 238 241 fnames[7] = "fraction"; 239 242 fnames[8] = "fractionincrement"; 243 fnames[9] = "state"; 240 244 241 245 dimensions[0]=out_numrifts; 242 246 243 pmxa_array=mxCreateStructArray( ndim,dimensions, 9,fnames);247 pmxa_array=mxCreateStructArray( ndim,dimensions,10,fnames); 244 248 245 249 for (i=0;i<out_numrifts;i++){ … … 287 291 mxSetField(pmxa_array,i,"fraction",mxCreateDoubleScalar(0)); //default is ice 288 292 mxSetField(pmxa_array,i,"fractionincrement",mxCreateDoubleScalar(0.1)); 293 294 /*State: */ 295 state=(double*)xmalloc(out_riftsnumpenaltypairs[i]*sizeof(double)); 296 for(j=0;j<out_riftsnumpenaltypairs[i];j++)state[j]=FreeEnum; 297 pmxa_array2= mxCreateDoubleMatrix(0,0,mxREAL); 298 mxSetM(pmxa_array2,1); 299 mxSetN(pmxa_array2,out_riftsnumpenaltypairs[i]); 300 mxSetPr(pmxa_array2,state); 301 mexCallMATLAB( 1, &pmxa_array3, 1, &pmxa_array2, "transpose"); 302 303 mxSetField(pmxa_array,i,"state",pmxa_array3); 289 304 } 290 305 }
Note:
See TracChangeset
for help on using the changeset viewer.