Ignore:
Timestamp:
09/11/20 07:26:02 (5 years ago)
Author:
bdef
Message:

CHG: Some more iterator loop changes

File:
1 edited

Legend:

Unmodified
Added
Removed
  • issm/trunk-jpl/src/c/classes/FemModel.cpp

    r25541 r25554  
    108108                this->parameters->FindParam(&isSSA,FlowequationIsSSAEnum);
    109109                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                }
    111116                if(analysis_counter==-1) _error_("Could not find alias for analysis_type StressbalanceAnalysisEnum in list of FemModel analyses\n");
    112117                for(Object* & object : this->elements->objects){
     
    11821187        IssmDouble* segmentlist    = xNewZeroInit<IssmDouble>(4*numseg);
    11831188        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;
    11861192                _assert_(segment->nods == 2);
    11871193                segmentlist[(numseg_offset+i)*4 + 0] = segment->x[0];
     
    11891195                segmentlist[(numseg_offset+i)*4 + 2] = segment->x[1];
    11901196                segmentlist[(numseg_offset+i)*4 + 3] = segment->y[1];
     1197                i++;
    11911198        }
    11921199
     
    22952302
    22962303                        /*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;
    22992307                                dep->Responsex(&output_value,this);
    23002308                                if (my_rank==0) {
     
    23072315                                        #endif
    23082316                                }
     2317                                i++;
    23092318                        }
    23102319                }
     
    24372446
    24382447                                                        /*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;
    24422451                                                                        channel->WriteChannelCrossSection(values);
    24432452                                                                }
     
    32003209        CreateNumberNodeToElementConnectivity(iomodel);
    32013210        ::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;
    32043213                int     sid = vertex->Sid();
    32053214                vertex->x=newx[sid];
     
    37983807
    37993808        /*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);
    38023811        element->GetVerticesSidList(elem_vertices);
    38033812        vid1->SetValue(element->sid,elem_vertices[0],INS_VAL);
     
    39723981
    39733982        /*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;
    39783985                SpcStatic* spcstatic = xDynamicCast<SpcStatic*>(constraint);
    39793986                int dof                                 = spcstatic->GetDof();
     
    48904897         * all DONE in Geographic coordinates: theta \in [-90,90], lambda \in [-180 180]
    48914898         */
    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];
    48994906
    49004907                /*only first order terms are considered now: */
     
    53155322                }
    53165323                else{
    5317                         int j=-1;
    53185324                        for(Object* & object : this->elements->objects){
    53195325                                /*Get the right transient input*/
    53205326                                Element* element = xDynamicCast<Element*>(object);
    5321                                 j+=1;
    53225327                                /*Get basal element*/
    53235328                                switch(domaintype){
     
    53435348                                                element->GetInputListOnVertices(&values[0],input_enum[i]); //this is the enum to stack
    53445349                                                element->GetVerticesLidList(vertexlids);
    5345                                                 Penta* penta=xDynamicCast<Penta*>(elements->GetObjectByOffset(j));
     5350                                                Penta* penta=xDynamicCast<Penta*>(object);
    53465351                                                for(;;){
    53475352                                                        transientinput->AddPentaTimeInput(subtime,numvertices,vertexlids,values,P1Enum);
Note: See TracChangeset for help on using the changeset viewer.