Changeset 25554 for issm/trunk-jpl/src/c/classes/FemModel.cpp
- Timestamp:
- 09/11/20 07:26:02 (5 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk-jpl/src/c/classes/FemModel.cpp
r25541 r25554 108 108 this->parameters->FindParam(&isSSA,FlowequationIsSSAEnum); 109 109 this->parameters->FindParam(&domaintype,DomainTypeEnum); 110 for(int i=0;i<this->nummodels;i++) if(this->analysis_type_list[i]==StressbalanceAnalysisEnum){analysis_counter=i;break;} 110 for(int i=0;i<this->nummodels;i++) { 111 if(this->analysis_type_list[i]==StressbalanceAnalysisEnum){ 112 analysis_counter=i; 113 break; 114 } 115 } 111 116 if(analysis_counter==-1) _error_("Could not find alias for analysis_type StressbalanceAnalysisEnum in list of FemModel analyses\n"); 112 117 for(Object* & object : this->elements->objects){ … … 1182 1187 IssmDouble* segmentlist = xNewZeroInit<IssmDouble>(4*numseg); 1183 1188 IssmDouble* allsegmentlist = xNewZeroInit<IssmDouble>(4*numseg); 1184 for(int i=0;i<segments->Size();i++){ 1185 Contour<IssmDouble>* segment=(Contour<IssmDouble>*)segments->GetObjectByOffset(i); 1189 int i=0; 1190 for(Object* & object : segments->objects){ 1191 Contour<IssmDouble>* segment=(Contour<IssmDouble>*)object; 1186 1192 _assert_(segment->nods == 2); 1187 1193 segmentlist[(numseg_offset+i)*4 + 0] = segment->x[0]; … … 1189 1195 segmentlist[(numseg_offset+i)*4 + 2] = segment->x[1]; 1190 1196 segmentlist[(numseg_offset+i)*4 + 3] = segment->y[1]; 1197 i++; 1191 1198 } 1192 1199 … … 2295 2302 2296 2303 /*Go through our dependent variables, and compute the response:*/ 2297 for(int i=0;i<dependent_objects->Size();i++){ 2298 DependentObject* dep=(DependentObject*)dependent_objects->GetObjectByOffset(i); 2304 int i = 0; 2305 for(Object* & object : dependent_objects->objects){ 2306 DependentObject* dep=(DependentObject*)object; 2299 2307 dep->Responsex(&output_value,this); 2300 2308 if (my_rank==0) { … … 2307 2315 #endif 2308 2316 } 2317 i++; 2309 2318 } 2310 2319 } … … 2437 2446 2438 2447 /*Fill-in vector*/ 2439 for( int j=0;j<this->loads->Size();j++){2440 if( this->loads->GetEnum(j)==ChannelEnum){2441 Channel* channel=(Channel*) this->loads->GetObjectByOffset(j);2448 for(Object* & object : this->loads->objects){ 2449 if(object->ObjectEnum()==ChannelEnum){ 2450 Channel* channel=(Channel*)object; 2442 2451 channel->WriteChannelCrossSection(values); 2443 2452 } … … 3200 3209 CreateNumberNodeToElementConnectivity(iomodel); 3201 3210 ::CreateVertices(new_elements,new_vertices,iomodel,TransientSolutionEnum,true); 3202 for( int i=0;i<new_vertices->Size();i++){3203 Vertex *vertex=(Vertex*) new_vertices->GetObjectByOffset(i);3211 for(Object* & object : new_vertices->objects){ 3212 Vertex *vertex=(Vertex*)object; 3204 3213 int sid = vertex->Sid(); 3205 3214 vertex->x=newx[sid]; … … 3798 3807 3799 3808 /*Go through elements, and for each element, get vertices*/ 3800 for( int i=0;i<femmodel_elements->Size();i++){3801 Element* element=xDynamicCast<Element*>( femmodel_elements->GetObjectByOffset(i));3809 for(Object* & object : femmodel_elements->objects){ 3810 Element* element=xDynamicCast<Element*>(object); 3802 3811 element->GetVerticesSidList(elem_vertices); 3803 3812 vid1->SetValue(element->sid,elem_vertices[0],INS_VAL); … … 3972 3981 3973 3982 /*Get spcvx and spcvy of old mesh*/ 3974 for(int i=0;i<this->constraints_list[analysis_index]->Size();i++){ 3975 3976 Constraint* constraint=(Constraint*)this->constraints_list[analysis_index]->GetObjectByOffset(i); 3977 3983 for(Object* & object : this->constraints_list[analysis_index]->objects){ 3984 Constraint* constraint=(Constraint*)object; 3978 3985 SpcStatic* spcstatic = xDynamicCast<SpcStatic*>(constraint); 3979 3986 int dof = spcstatic->GetDof(); … … 4890 4897 * all DONE in Geographic coordinates: theta \in [-90,90], lambda \in [-180 180] 4891 4898 */ 4892 for( int i=0;i<vertices->Size();i++){4893 int sid;4894 //Vertex* vertex=(Vertex*)vertices->GetObjectByOffset(i);4895 Vertex* vertex=xDynamicCast<Vertex*>(vertices->GetObjectByOffset(i)); 4896 sid=vertex->Sid();4897 4898 lati=latitude[sid]/180*PI; longi=longitude[sid]/180*PI;radi=radius[sid];4899 for(Object* & object : vertices->objects){ 4900 Vertex* vertex=xDynamicCast<Vertex*>(object); 4901 int sid=vertex->Sid(); 4902 4903 lati=latitude[sid]/180*PI; 4904 longi=longitude[sid]/180*PI; 4905 radi=radius[sid]; 4899 4906 4900 4907 /*only first order terms are considered now: */ … … 5315 5322 } 5316 5323 else{ 5317 int j=-1;5318 5324 for(Object* & object : this->elements->objects){ 5319 5325 /*Get the right transient input*/ 5320 5326 Element* element = xDynamicCast<Element*>(object); 5321 j+=1;5322 5327 /*Get basal element*/ 5323 5328 switch(domaintype){ … … 5343 5348 element->GetInputListOnVertices(&values[0],input_enum[i]); //this is the enum to stack 5344 5349 element->GetVerticesLidList(vertexlids); 5345 Penta* penta=xDynamicCast<Penta*>( elements->GetObjectByOffset(j));5350 Penta* penta=xDynamicCast<Penta*>(object); 5346 5351 for(;;){ 5347 5352 transientinput->AddPentaTimeInput(subtime,numvertices,vertexlids,values,P1Enum);
Note:
See TracChangeset
for help on using the changeset viewer.