Ignore:
Timestamp:
08/11/20 19:43:31 (5 years ago)
Author:
Mathieu Morlighem
Message:

CHG: moving inputs2 back to inputs

File:
1 edited

Legend:

Unmodified
Added
Removed
  • issm/trunk-jpl/src/c/modules/ModelProcessorx/Control/UpdateElementsAndMaterialsControl.cpp

    r25337 r25379  
    99#include "../ModelProcessorx.h"
    1010
    11 void    UpdateElementsAndMaterialsControl(Elements* elements,Parameters* parameters,Inputs2* inputs2,Materials* materials, IoModel* iomodel){
     11void    UpdateElementsAndMaterialsControl(Elements* elements,Parameters* parameters,Inputs* inputs,Materials* materials, IoModel* iomodel){
    1212        /*Intermediary*/
    1313        bool       control_analysis;
     
    3434        iomodel->FindConstant(&isautodiff,"md.autodiff.isautodiff");
    3535        if(isautodiff){
    36                 UpdateElementsAndMaterialsControlAD(elements,parameters,inputs2,materials,iomodel);
     36                UpdateElementsAndMaterialsControlAD(elements,parameters,inputs,materials,iomodel);
    3737                return;
    3838        }
     
    7272        for(int i=0;i<num_cost_functions;i++){
    7373                cost_function=cost_function_enums[i];
    74                 if(     cost_function==ThicknessAbsMisfitEnum) iomodel->FetchDataToInput(inputs2,elements,"md.inversion.thickness_obs",InversionThicknessObsEnum);
    75                 else if(cost_function==SurfaceAbsMisfitEnum)   iomodel->FetchDataToInput(inputs2,elements,"md.inversion.surface_obs",InversionSurfaceObsEnum);
    76                 else if(cost_function==RheologyBInitialguessMisfitEnum) iomodel->FetchDataToInput(inputs2,elements,"md.materials.rheology_B",RheologyBInitialguessEnum);
     74                if(     cost_function==ThicknessAbsMisfitEnum) iomodel->FetchDataToInput(inputs,elements,"md.inversion.thickness_obs",InversionThicknessObsEnum);
     75                else if(cost_function==SurfaceAbsMisfitEnum)   iomodel->FetchDataToInput(inputs,elements,"md.inversion.surface_obs",InversionSurfaceObsEnum);
     76                else if(cost_function==RheologyBInitialguessMisfitEnum) iomodel->FetchDataToInput(inputs,elements,"md.materials.rheology_B",RheologyBInitialguessEnum);
    7777                else if(cost_function==SurfaceAbsVelMisfitEnum
    7878                          || cost_function==SurfaceRelVelMisfitEnum
     
    8080                          || cost_function==SurfaceLogVxVyMisfitEnum
    8181                          || cost_function==SurfaceAverageVelMisfitEnum){
    82                         iomodel->FetchDataToInput(inputs2,elements,"md.inversion.vx_obs",InversionVxObsEnum);
    83                         if(domaintype!=Domain2DverticalEnum) iomodel->FetchDataToInput(inputs2,elements,"md.inversion.vy_obs",InversionVyObsEnum);
     82                        iomodel->FetchDataToInput(inputs,elements,"md.inversion.vx_obs",InversionVxObsEnum);
     83                        if(domaintype!=Domain2DverticalEnum) iomodel->FetchDataToInput(inputs,elements,"md.inversion.vy_obs",InversionVyObsEnum);
    8484                }
    8585                for(int j=0;j<elements->Size();j++){
    8686                        Element* element=xDynamicCast<Element*>(elements->GetObjectByOffset(j));
    87                         element->DatasetInputAdd(InversionCostFunctionsCoefficientsEnum,&weights[i*iomodel->numberofvertices],inputs2,iomodel,M,1,1,cost_function,7,cost_function);
     87                        element->DatasetInputAdd(InversionCostFunctionsCoefficientsEnum,&weights[i*iomodel->numberofvertices],inputs,iomodel,M,1,1,cost_function,7,cost_function);
    8888                }
    8989        }
     
    162162                for(int j=0;j<elements->Size();j++){
    163163                        Element* element=xDynamicCast<Element*>(elements->GetObjectByOffset(j));
    164                         element->ControlInputCreate(independent,&independents_min[offset],&independents_max[offset],inputs2,iomodel,M,N,scale,control,i+1);
     164                        element->ControlInputCreate(independent,&independents_min[offset],&independents_max[offset],inputs,iomodel,M,N,scale,control,i+1);
    165165                }
    166166                xDelete<IssmDouble>(independent);
     
    207207        xDelete<char*>(controls);
    208208}
    209 void UpdateElementsAndMaterialsControlAD(Elements* elements,Parameters* parameters,Inputs2* inputs2,Materials* materials, IoModel* iomodel){
     209void UpdateElementsAndMaterialsControlAD(Elements* elements,Parameters* parameters,Inputs* inputs,Materials* materials, IoModel* iomodel){
    210210
    211211        #if defined(_HAVE_AD_)
     
    292292                        for(int j=0;j<elements->Size();j++){
    293293                                Element* element=xDynamicCast<Element*>(elements->GetObjectByOffset(j));
    294                                 element->ControlInputCreate(independent,independents_min,independents_max,inputs2,iomodel,M,N,1.,input_enum,i+1);
     294                                element->ControlInputCreate(independent,independents_min,independents_max,inputs,iomodel,M,N,1.,input_enum,i+1);
    295295                        }
    296296                        xDelete<IssmDouble>(independent);
Note: See TracChangeset for help on using the changeset viewer.