Changeset 22794


Ignore:
Timestamp:
05/17/18 14:20:40 (7 years ago)
Author:
erobo
Message:

CHG: added basal melt to IoCodeConversions, added better names to transient inputs for transient controls, fixed bug in controladm1qn3

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

Legend:

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

    r22740 r22794  
    16621662            for(int t=0;t<N;t++) times[t] = vector[(M-1)*N+t];
    16631663                                /*Create the three transient inputs for the control input*/
    1664             TransientInput* values_input=new TransientInput(ControlInputValuesEnum,times,N);
     1664            TransientInput* values_input=new TransientInput(input_enum,times,N);
    16651665                                TransientInput* mins_input = new TransientInput(ControlInputMinsEnum,times,N);
    16661666                                TransientInput* maxs_input = new TransientInput(ControlInputMaxsEnum,times,N);
     
    16741674                                        switch(this->ObjectEnum()){
    16751675                    case TriaEnum:
    1676                                                                         values_input->AddTimeInput(new TriaInput(ControlInputValuesEnum,values,P1Enum));
     1676                                                                        values_input->AddTimeInput(new TriaInput(input_enum,values,P1Enum));
    16771677                                                                        mins_input->AddTimeInput(new TriaInput(ControlInputMinsEnum,values_min,P1Enum));
    16781678                                                                        maxs_input->AddTimeInput(new TriaInput(ControlInputMaxsEnum,values_max,P1Enum));
  • issm/trunk-jpl/src/c/classes/Inputs/ControlInput.cpp

    r22739 r22794  
    330330        TransientInput* transient_input = xDynamicCast<TransientInput*>(input);
    331331        IssmDouble time = transient_input->GetTimeByOffset(timeoffset);
    332         TransientInput* new_trans_input = new TransientInput(ControlInputValuesEnum);
     332        TransientInput* new_trans_input = new TransientInput(this->enum_type);
    333333        for(int i=0;i<transient_input->numtimesteps;i++){
    334334                if(transient_input->timesteps[i]==time) new_trans_input->AddTimeInput(xDynamicCast<TriaInput*>(in_input),time);
  • issm/trunk-jpl/src/c/cores/controladm1qn3_core.cpp

    r22764 r22794  
    106106                        if(X[index]<XL[index]) X[index]=XL[index];
    107107                }
     108                N_add+=N[c];
    108109        }
    109110
     
    320321                        Gnorm += G[index]*G[index];
    321322                }
     323                N_add+=N[c];
    322324        }
    323325        Gnorm = sqrt(Gnorm);
  • issm/trunk-jpl/src/c/shared/io/Marshalling/IoCodeConversions.cpp

    r22700 r22794  
    141141                const char* field = "md.calving.stress_threshold_groundedice";
    142142                input_enum        = CalvingStressThresholdGroundediceEnum;
     143                fieldname=xNew<char>((strlen(field)+1)); xMemCpy<char>(fieldname,field,(strlen(field)+1));
     144        }
     145        else if(strcmp(string_in,"DamageDbar")==0){
     146                const char* field = "md.damage.D";
     147                input_enum        = DamageDbarEnum;
    143148                fieldname=xNew<char>((strlen(field)+1)); xMemCpy<char>(fieldname,field,(strlen(field)+1));
    144149        }
Note: See TracChangeset for help on using the changeset viewer.