Changeset 22801


Ignore:
Timestamp:
05/23/18 17:10:09 (7 years ago)
Author:
erobo
Message:

CHG: fixing non transient adolc controls and adding MaterialsRheologyBbar to IoCodeConversions

Location:
issm/trunk-jpl/src/c
Files:
3 edited

Legend:

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

    r22794 r22801  
    14001400                parameters->FindParam(&N,NULL,ControlInputSizeNEnum);
    14011401                parameters->FindParam(&M,NULL,ControlInputSizeMEnum);
    1402                 if(control_index>0) for(int n=0;n<control_index-1;n++) start+=N[n]*M[n];
     1402                if(control_index>0) {
     1403                        for(int n=0;n<control_index;n++){
     1404                                start+=N[n]*M[n];
     1405                        }
     1406                }
    14031407
    14041408                for(int n=0;n<N[control_index];n++){
     
    16711675                                                values_min[i] = min_vector[N*(vertexids[i]-1)+t];
    16721676                                                values_max[i] = max_vector[N*(vertexids[i]-1)+t];
    1673                                          } 
     1677                                         }
    16741678                                        switch(this->ObjectEnum()){
    16751679                    case TriaEnum:
     
    16791683                                                                break;
    16801684                    case PentaEnum:
    1681                                                                         values_input->AddTimeInput(new PentaInput(ControlInputValuesEnum,values,P1Enum));
     1685                                                                        values_input->AddTimeInput(new PentaInput(input_enum,values,P1Enum));
    16821686                                                                        mins_input->AddTimeInput(new PentaInput(ControlInputMinsEnum,values_min,P1Enum));
    16831687                                                                        maxs_input->AddTimeInput(new PentaInput(ControlInputMaxsEnum,values_max,P1Enum));
    16841688                                                                        break;
    16851689                    case TetraEnum:
    1686                                                                         values_input->AddTimeInput(new TetraInput(ControlInputValuesEnum,values,P1Enum));
     1690                                                                        values_input->AddTimeInput(new TetraInput(input_enum,values,P1Enum));
    16871691                                                                        mins_input->AddTimeInput(new TetraInput(ControlInputMinsEnum,values_min,P1Enum));
    16881692                                                                        maxs_input->AddTimeInput(new TetraInput(ControlInputMaxsEnum,values_max,P1Enum));
  • issm/trunk-jpl/src/c/cores/controladm1qn3_core.cpp

    r22794 r22801  
    486486                femmodel->results->AddObject(new GenericExternalResult<IssmPDouble*>(femmodel->results->Size()+1,JEnum,mystruct.Jlist,(*mystruct.i),mystruct.N,1,0));
    487487
    488                 /*TEMP START*/
    489488                int offset = 0;
    490489                for(int i=0;i<num_controls;i++){
     
    504503                        offset += N[i]*numberofvertices;
    505504                }
    506                 /*TEMP END*/
    507 
    508                 femmodel->results->AddObject(new GenericExternalResult<IssmPDouble*>(femmodel->results->Size()+1,GradientEnum,G,numberofvertices,intn/numberofvertices,1,0));
    509 
    510                 femmodel->results->AddObject(new GenericExternalResult<IssmPDouble*>(femmodel->results->Size()+1,InversionControlParametersEnum,X,numberofvertices,intn/numberofvertices,1,0));
    511 
    512                 //femmodel->OutputControlsx(&femmodel->results);
    513505        }
    514506        else{
  • issm/trunk-jpl/src/c/shared/io/Marshalling/IoCodeConversions.cpp

    r22794 r22801  
    1616                const char* field = "md.geometry.thickness";
    1717                input_enum        = ThicknessEnum;
     18                fieldname=xNew<char>((strlen(field)+1)); xMemCpy<char>(fieldname,field,(strlen(field)+1));
     19        }
     20        else if(strcmp(string_in,"MaterialsRheologyBbar")==0){
     21                const char* field = "md.materials.rheology_B";
     22                input_enum        = MaterialsRheologyBbarEnum;
    1823                fieldname=xNew<char>((strlen(field)+1)); xMemCpy<char>(fieldname,field,(strlen(field)+1));
    1924        }
Note: See TracChangeset for help on using the changeset viewer.