Changeset 24378


Ignore:
Timestamp:
11/21/19 14:36:02 (5 years ago)
Author:
Mathieu Morlighem
Message:

CHG: removing inputs from elements

Location:
issm/trunk-jpl/src/c/classes
Files:
7 edited

Legend:

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

    r24377 r24378  
    3434        this->sid = -1;
    3535        this->lid = -1;
    36         this->inputs     = NULL;
    3736        this->inputs2    = NULL;
    3837        this->nodes      = NULL;
     
    4443Element::~Element(){/*{{{*/
    4544        xDelete<int>(element_type_list);
    46         delete inputs;
    4745}
    4846/*}}}*/
     
    411409
    412410        _printf_("   inputs\n");
    413         if (inputs) inputs->DeepEcho();
    414         else _printf_("inputs=NULL\n");
     411        if(inputs2) inputs2->DeepEcho();
     412        else _printf_("inputs2=NULL\n");
    415413
    416414        return;
    417 }
    418 /*}}}*/
    419 void       Element::DeleteInput(int input_enum){/*{{{*/
    420 
    421         inputs->DeleteInput(input_enum);
    422 
    423415}
    424416/*}}}*/
     
    934926
    935927        _printf_("   inputs\n");
    936         if (inputs) inputs->Echo();
    937         else _printf_("inputs=NULL\n");
     928        if (inputs2) inputs2->Echo();
     929        else _printf_("inputs2=NULL\n");
    938930}
    939931/*}}}*/
     
    23072299        _assert_(this);
    23082300        if(marshall_direction==MARSHALLING_BACKWARD){
    2309                 inputs=new Inputs();
    23102301                nodes = NULL;
    23112302        }
     
    23182309        MARSHALLING(element_type);
    23192310        MARSHALLING_DYNAMIC(element_type_list,int,numanalyses);
    2320         inputs->Marshall(pmarshalled_data,pmarshalled_data_size,marshall_direction);
    2321 
    23222311}
    23232312/*}}}*/
  • issm/trunk-jpl/src/c/classes/Elements/Element.h

    r24377 r24378  
    4444                int          sid;
    4545                int          lid;
    46                 Inputs      *inputs;
    4746                Inputs2     *inputs2;
    4847                Node       **nodes;
     
    6968                void               CoordinateSystemTransform(IssmDouble** ptransform,Node** nodes,int numnodes,int* cs_array);
    7069                void               DeepEcho();
    71                 void               DeleteInput(int input_enum);
    7270                void               DeleteMaterials(void);
    7371                void               Delta18oParameterization(void);
  • issm/trunk-jpl/src/c/classes/Elements/Penta.cpp

    r24376 r24378  
    5555        //this->parameters: we still can't point to it, it may not even exist. Configure will handle this.
    5656        this->parameters=NULL;
    57 
    58         /*intialize inputs: */
    59         this->inputs=new Inputs();
    6057
    6158        /*initialize pointers:*/
     
    122119        penta->sid = this->sid;
    123120        penta->lid = this->lid;
    124         if(this->inputs) penta->inputs = (Inputs*)(this->inputs->Copy());
    125         else penta->inputs=new Inputs();
    126121        penta->isonbase  = this->isonbase;
    127122        penta->isonsurface  = this->isonsurface;
     
    901896        this->parameters=parametersin;
    902897        this->inputs2=inputs2in;
    903 
    904         /*get inputs configured too: */
    905         this->inputs->Configure(parameters);
    906898}
    907899/*}}}*/
     
    27282720        delete tria->material; delete tria;
    27292721
    2730         /*Delete Vx and Vy averaged*/
    2731         this->inputs->DeleteInput(VxAverageEnum);
    2732         this->inputs->DeleteInput(VyAverageEnum);
    2733 
    27342722        /*clean up and return*/
    27352723        return mass_flux;
     
    27502738        mass_flux=tria->MassFlux(x1,y1,x2,y2,segment_id);
    27512739        delete tria->material; delete tria;
    2752 
    2753         /*Delete Vx and Vy averaged*/
    2754         this->inputs->DeleteInput(VxAverageEnum);
    2755         this->inputs->DeleteInput(VyAverageEnum);
    27562740
    27572741        /*clean up and return*/
     
    34043388
    34053389        Tria* tria=(Tria*)SpawnTria(0,1,2);
    3406         switch(this->material->ObjectEnum()){
    3407                 case MaticeEnum:
    3408                         this->inputs->DeleteInput(MaterialsRheologyBbarEnum);
    3409                         this->inputs->DeleteInput(DamageDbarEnum);
    3410                         break;
    3411                 case MatestarEnum:
    3412                         break;
    3413                 default:
    3414                         _error_("not supported yet");
    3415         }
    3416         this->inputs->DeleteInput(VxAverageEnum);
    3417         this->inputs->DeleteInput(VyAverageEnum);
    3418         this->inputs->DeleteInput(CalvingratexAverageEnum);
    3419         this->inputs->DeleteInput(CalvingrateyAverageEnum);
    34203390
    34213391        return tria;
     
    34433413        tria->sid=this->sid;
    34443414        tria->lid=this->lid;
    3445         tria->inputs=NULL;//(Inputs*)this->inputs->SpawnTriaInputs(index1,index2,index3);
    34463415        tria->parameters=this->parameters;
    34473416        tria->inputs2=this->inputs2;
  • issm/trunk-jpl/src/c/classes/Elements/Seg.cpp

    r24339 r24378  
    4040                        this->parameters = NULL;
    4141
    42                         /*intialize inputs: */
    43                         this->inputs  = new Inputs();
    44 
    4542                        /*initialize pointers:*/
    4643                        this->nodes    = NULL;
     
    10299        seg->sid = this->sid;
    103100        seg->lid = this->lid;
    104         if(this->inputs) seg->inputs = (Inputs*)(this->inputs->Copy());
    105         else seg->inputs=new Inputs();
    106101        seg->isonbase  = this->isonbase;
    107102        seg->isonsurface  = this->isonsurface;
  • issm/trunk-jpl/src/c/classes/Elements/Tetra.cpp

    r24376 r24378  
    3535                        //this->parameters: we still can't point to it, it may not even exist. Configure will handle this.
    3636                        this->parameters = NULL;
    37 
    38                         /*intialize inputs: */
    39                         this->inputs  = new Inputs();
    4037
    4138                        /*initialize pointers:*/
     
    104101        tetra->sid = this->sid;
    105102        tetra->lid = this->lid;
    106         if(this->inputs) tetra->inputs = (Inputs*)(this->inputs->Copy());
    107         else tetra->inputs=new Inputs();
    108103        tetra->isonbase  = this->isonbase;
    109104        tetra->isonsurface  = this->isonsurface;
     
    165160        this->parameters=parametersin;
    166161        this->inputs2=inputs2in;
    167 
    168         /*get inputs configured too: */
    169         this->inputs->Configure(parameters);
    170162}
    171163/*}}}*/
     
    658650
    659651        /*For FS only: we want the CS to be tangential to the bedrock*/
    660         inputs->GetInputValue(&approximation,ApproximationEnum);
     652        this->GetInput2Value(&approximation,ApproximationEnum);
    661653        if(!HasNodeOnBase() ||  approximation!=FSApproximationEnum) return;
    662654
     
    763755        Tria* tria=new Tria();
    764756        tria->id=this->id;
    765         tria->inputs=(Inputs*)this->inputs->SpawnTriaInputs(index1,index2,index3);
    766757        tria->parameters=this->parameters;
    767758        tria->element_type=P1Enum; //Only P1 CG for now (TO BE CHANGED)
  • issm/trunk-jpl/src/c/classes/Elements/Tria.cpp

    r24376 r24378  
    4242                /*this->parameters: we still can't point to it, it may not even exist. Configure will handle this.*/
    4343                this->parameters = NULL;
    44 
    45                 /*intialize inputs: */
    46                 this->inputs  = new Inputs();
    4744
    4845                /*initialize pointers:*/
     
    126123        tria->sid = this->sid;
    127124        tria->lid = this->lid;
    128         if(this->inputs) tria->inputs = (Inputs*)(this->inputs->Copy());
    129         else tria->inputs=new Inputs();
    130125        tria->isonbase  = this->isonbase;
    131126        tria->isonsurface  = this->isonsurface;
     
    10981093        this->parameters=parametersin;
    10991094        this->inputs2=inputs2in;
    1100 
    1101         /*get inputs configured too: */
    1102         this->inputs->Configure(this->parameters);
    1103 
    11041095}/*}}}*/
    11051096void       Tria::ControlInputSetGradient(IssmDouble* gradient,int enum_type,int control_index,int offset,int N, int M){/*{{{*/
     
    31153106        /*Add new input to current element*/
    31163107        _error_("not implemented");
    3117         this->inputs->AddInput((Input*)newinput);
    31183108}
    31193109/*}}}*/
     
    41164106        seg->sid=this->sid;
    41174107        seg->lid=this->lid;
    4118         seg->inputs=NULL;//(Inputs*)this->inputs->SpawnSegInputs(index1,index2);
    41194108        seg->inputs2=this->inputs2;
    41204109        seg->parameters=this->parameters;
  • issm/trunk-jpl/src/c/classes/FemModel.cpp

    r24368 r24378  
    17641764        for(i=0;i<this->elements->Size();i++){
    17651765                Element* element=xDynamicCast<Element*>(this->elements->GetObjectByOffset(i));
    1766                 element_maxabsvx=element->inputs->MaxAbs(VxEnum);
     1766                Input2*  input = element->GetInput2(VxEnum);
     1767                element_maxabsvx=input->GetInputMaxAbs();
    17671768                if(element_maxabsvx>maxabsvx) maxabsvx=element_maxabsvx;
    17681769        }
     
    17881789        for(i=0;i<this->elements->Size();i++){
    17891790                Element* element=xDynamicCast<Element*>(this->elements->GetObjectByOffset(i));
    1790                 element_maxabsvy=element->inputs->MaxAbs(VyEnum);
     1791                Input2*  input = element->GetInput2(VyEnum);
     1792                element_maxabsvy=input->GetInputMaxAbs();
    17911793                if(element_maxabsvy>maxabsvy) maxabsvy=element_maxabsvy;
    17921794        }
     
    18121814        for(i=0;i<this->elements->Size();i++){
    18131815                Element* element=xDynamicCast<Element*>(this->elements->GetObjectByOffset(i));
    1814                 element_maxabsvz=element->inputs->MaxAbs(VzEnum);
     1816                Input2*  input = element->GetInput2(VzEnum);
     1817                element_maxabsvz=input->GetInputMaxAbs();
    18151818                if(element_maxabsvz>maxabsvz) maxabsvz=element_maxabsvz;
    18161819        }
     
    19551958        for(i=0;i<this->elements->Size();i++){
    19561959                Element* element=xDynamicCast<Element*>(this->elements->GetObjectByOffset(i));
    1957                 element_minvel = element->inputs->Min(VelEnum);
     1960                Input2*  input = element->GetInput2(VelEnum);
     1961                element_minvel =input->GetInputMin();
    19581962                if(element_minvel<minvel) minvel=element_minvel;
    19591963        }
     
    19791983        for(i=0;i<this->elements->Size();i++){
    19801984                Element* element=xDynamicCast<Element*>(this->elements->GetObjectByOffset(i));
    1981                 element_minvx = element->inputs->Min(VxEnum);
     1985                Input2*  input = element->GetInput2(VxEnum);
     1986                element_minvx =input->GetInputMin();
    19821987                if(element_minvx<minvx) minvx=element_minvx;
    19831988        }
     
    20032008        for(i=0;i<this->elements->Size();i++){
    20042009                Element* element=xDynamicCast<Element*>(this->elements->GetObjectByOffset(i));
    2005                 element_minvy = element->inputs->Min(VyEnum);
     2010                Input2*  input = element->GetInput2(VyEnum);
     2011                element_minvy =input->GetInputMin();
    20062012                if(element_minvy<minvy) minvy=element_minvy;
    20072013        }
     
    20272033        for(i=0;i<this->elements->Size();i++){
    20282034                Element* element=xDynamicCast<Element*>(this->elements->GetObjectByOffset(i));
    2029                 element_minvz = element->inputs->Min(VzEnum);
     2035                Input2*  input = element->GetInput2(VzEnum);
     2036                element_minvz =input->GetInputMin();
    20302037                if(element_minvz<minvz) minvz=element_minvz;
    20312038        }
     
    36373644                        newtria->isonbase = true;
    36383645                        newtria->parameters=NULL;
    3639                         newtria->inputs=new Inputs();
     3646                        newtria->inputs2=NULL;
    36403647                        newtria->nodes=NULL;
    36413648                        newtria->vertices=NULL;
Note: See TracChangeset for help on using the changeset viewer.