Changeset 25318


Ignore:
Timestamp:
07/31/20 09:35:33 (5 years ago)
Author:
Mathieu Morlighem
Message:

CHG: cleanup

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

Legend:

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

    r25317 r25318  
    232232                virtual void       Configure(Elements* elements,Loads* loads,Nodes* nodes,Vertices* vertices,Materials* materials,Parameters* parameters,Inputs2* inputs2in)=0;
    233233                virtual void       ControlInputSetGradient(IssmDouble* gradient,int enum_type,int control_index,int offset,int M,int N,int interp)=0;
    234                 virtual void       ControlInputSetGradient(IssmDouble* gradient,int enum_type,int control_index)=0;
    235234                virtual void       ControlToVectors(Vector<IssmPDouble>* vector_control, Vector<IssmPDouble>* vector_gradient,int control_enum,int control_interp)=0;
    236235                virtual void       CreateDistanceInputFromSegmentlist(IssmDouble* distances,int distanceenum){_error_("not implemented yet");};
     
    336335                virtual void       SetElementInput(Inputs2* inputs2,int numindices,int* indices,IssmDouble* values,int enum_in){_error_("not implemented yet");};
    337336                virtual void       SetControlInputsFromVector(IssmDouble* vector,int control_enum,int control_index,int offset,int M,int N)=0;
    338                 virtual void       SetControlInputsFromVector(IssmDouble* vector,int control_enum,int control_index)=0;
    339337                virtual void       SetCurrentConfiguration(Elements* elements,Loads* loads,Nodes* nodes,Materials* materials,Parameters* parameters)=0;
    340338                virtual void       SetTemporaryElementType(int element_type_in)=0;
  • issm/trunk-jpl/src/c/classes/Elements/Penta.cpp

    r25317 r25318  
    423423        }
    424424        else{
    425                 int               domaintype,index1,index2;
     425                int               index1,index2;
    426426                const IssmPDouble epsilon = 1.e-15;
    427427                IssmDouble        s1,s2;
     
    545545        }
    546546        else{
    547                 int               domaintype,index1,index2;
     547                int               index1,index2;
    548548                const IssmPDouble epsilon = 1.e-15;
    549549                IssmDouble        s1,s2;
     
    936936}
    937937/*}}}*/
    938 void       Penta::ControlInputSetGradient(IssmDouble* gradient,int enum_type,int control_index){/*{{{*/
    939 
    940         int        idlist[NUMVERTICES];
    941         int        vertexlids[NUMVERTICES];
    942         IssmDouble grad_list[NUMVERTICES];
    943 
    944         if(enum_type==MaterialsRheologyBbarEnum) enum_type = MaterialsRheologyBEnum;
    945         if(enum_type==DamageDbarEnum)            enum_type = DamageDEnum;
    946 
    947         GradientIndexing(&idlist[0],control_index);
    948         for(int i=0;i<NUMVERTICES;i++) grad_list[i]=gradient[idlist[i]];
    949         for(int i=0;i<NUMVERTICES;i++) vertexlids[i]=this->vertices[i]->lid;
    950 
    951         this->inputs2->SetTriaControlInputGradient(enum_type,P1Enum,NUMVERTICES,&vertexlids[0],&grad_list[0]);
    952 }/*}}}*/
    953938void       Penta::ControlToVectors(Vector<IssmPDouble>* vector_control, Vector<IssmPDouble>* vector_gradient,int control_enum,int control_interp){/*{{{*/
    954939
     
    20352020        _assert_(!scaled);
    20362021
    2037         int               domaintype,index1,index2;
     2022        int               index1,index2;
    20382023        const IssmPDouble epsilon = 1.e-15;
    20392024        IssmDouble        s1,s2;
     
    21552140        _assert_(!scaled);
    21562141
    2157         int               domaintype,index1,index2;
     2142        int               index1,index2;
    21582143        const IssmPDouble epsilon = 1.e-15;
    21592144        IssmDouble        s1,s2;
     
    34013386        }
    34023387
    3403         /*Get Domain type*/
    3404         int domaintype;
    3405         parameters->FindParam(&domaintype,DomainTypeEnum);
    3406 
    3407         /*Specific case for depth averaged quantities*/
    3408         if(domaintype==Domain2DverticalEnum){
    3409                 if(control_enum==MaterialsRheologyBbarEnum){
    3410                         control_enum=MaterialsRheologyBEnum;
    3411                         if(!IsOnBase()) return;
    3412                 }
    3413                 if(control_enum==DamageDbarEnum){
    3414                         control_enum=DamageDEnum;
    3415                         if(!IsOnBase()) return;
    3416                 }
    3417         }
    3418 
    34193388        /*Get out if this is not an element input*/
    34203389        if(!IsInputEnum(control_enum)) return;
     
    34483417
    34493418        /*Extrude depending on the control*/
    3450         if(control_init==MaterialsRheologyBbarEnum){
    3451                 this->ControlInputExtrude(control_enum,-1);
    3452         }
    3453         if(control_init==DamageDbarEnum){
    3454                 this->ControlInputExtrude(control_enum,-1);
    3455         }
    3456 }
    3457 /*}}}*/
    3458 void       Penta::SetControlInputsFromVector(IssmDouble* vector,int control_enum,int control_index){/*{{{*/
    3459 
    3460         _error_("not needed anymore?");
    3461 
    3462         IssmDouble  values[NUMVERTICES];
    3463         int         lidlist[NUMVERTICES];
    3464         int         idlist[NUMVERTICES],control_init;
    3465 
    3466         /*Specific case for depth averaged quantities*/
    3467         control_init=control_enum;
    3468         if(control_enum==MaterialsRheologyBbarEnum){
    3469                 control_enum=MaterialsRheologyBEnum;
    3470                 if(!IsOnBase()) return;
    3471         }
    3472         if(control_enum==DamageDbarEnum){
    3473                 control_enum=DamageDEnum;
    3474                 if(!IsOnBase()) return;
    3475         }
    3476 
    3477         /*Get Domain type*/
    3478         int domaintype;
    3479         parameters->FindParam(&domaintype,DomainTypeEnum);
    3480 
    3481         /*Specific case for depth averaged quantities*/
    3482         if(domaintype==Domain2DverticalEnum){
    3483                 if(control_enum==MaterialsRheologyBbarEnum){
    3484                         control_enum=MaterialsRheologyBEnum;
    3485                         if(!IsOnBase()) return;
    3486                 }
    3487                 if(control_enum==DamageDbarEnum){
    3488                         control_enum=DamageDEnum;
    3489                         if(!IsOnBase()) return;
    3490                 }
    3491         }
    3492 
    3493         /*Get out if this is not an element input*/
    3494         if(!IsInputEnum(control_enum)) return;
    3495 
    3496         /*prepare index list*/
    3497         this->GetVerticesLidList(&lidlist[0]);
    3498         GradientIndexing(&idlist[0],control_index);
    3499 
    3500         /*Get values on vertices*/
    3501         for(int i=0;i<NUMVERTICES;i++){
    3502                 values[i]=vector[idlist[i]];
    3503         }
    3504 
    3505         /*Set Input*/
    3506         ElementInput2* input=this->inputs2->GetControlInput2Data(control_enum,"value");   _assert_(input);
    3507         input->SetInput(P1Enum,NUMVERTICES,&lidlist[0],&values[0]);
    35083419        if(control_init==MaterialsRheologyBbarEnum){
    35093420                this->ControlInputExtrude(control_enum,-1);
     
    39003811        _assert_(!scaled);
    39013812
    3902         int               domaintype,index1,index2;
     3813        int               index1,index2;
    39033814        const IssmPDouble epsilon = 1.e-15;
    39043815        IssmDouble        s1,s2;
     
    40183929        _assert_(!scaled);
    40193930
    4020         int               domaintype,index1,index2;
     3931        int               index1,index2;
    40213932        const IssmPDouble epsilon = 1.e-15;
    40223933        IssmDouble        s1,s2;
  • issm/trunk-jpl/src/c/classes/Elements/Penta.h

    r25317 r25318  
    6464                void           Configure(Elements* elements,Loads* loads,Nodes* nodes,Vertices* vertices,Materials* materials,Parameters* parameters,Inputs2* inputs2in);
    6565                void           ControlInputSetGradient(IssmDouble* gradient,int enum_type,int control_index,int offset,int M,int N,int interp);
    66                 void           ControlInputSetGradient(IssmDouble* gradient,int enum_type,int control_index);
    6766                void           ControlToVectors(Vector<IssmPDouble>* vector_control, Vector<IssmPDouble>* vector_gradient,int control_enum,int control_interp);
    6867                void                            CreateDistanceInputFromSegmentlist(IssmDouble* distances,int distanceenum);
     
    168167                void           SetElementInput(Inputs2* inputs2,int numindices,int* indices,IssmDouble* values,int enum_in);
    169168                void           SetControlInputsFromVector(IssmDouble* vector,int control_enum,int control_index,int offset, int M,int N);
    170                 void           SetControlInputsFromVector(IssmDouble* vector,int control_enum,int control_index);
    171169                void           SetCurrentConfiguration(Elements* elements,Loads* loads,Nodes* nodes,Materials* materials,Parameters* parameters);
    172170                void           SetTemporaryElementType(int element_type_in);
  • issm/trunk-jpl/src/c/classes/Elements/Seg.h

    r25317 r25318  
    5151                void        Configure(Elements* elements,Loads* loads,Nodes* nodesin,Vertices* verticesin,Materials* materials,Parameters* parameters,Inputs2* inputs2in){_error_("not implemented yet");};
    5252                void        ControlInputSetGradient(IssmDouble* gradient,int enum_type,int control_index,int offset,int M,int N,int interp){_error_("not implemented yet");};
    53                 void        ControlInputSetGradient(IssmDouble* gradient,int enum_type,int control_index){_error_("not implemented yet");};
    5453                void        ControlToVectors(Vector<IssmPDouble>* vector_control, Vector<IssmPDouble>* vector_gradient,int control_enum,int control_interp){_error_("not implemented yet");};
    5554                void        ElementResponse(IssmDouble* presponse,int response_enum){_error_("not implemented yet");};
     
    135134                void        ResetHooks(){_error_("not implemented yet");};
    136135                void        SetControlInputsFromVector(IssmDouble* vector,int control_enum,int control_index,int offset,int M,int N){_error_("not implemented yet");};
    137                 void        SetControlInputsFromVector(IssmDouble* vector,int control_enum,int control_index){_error_("not implemented yet");};
    138136                void        SetCurrentConfiguration(Elements* elements,Loads* loads,Nodes* nodes,Materials* materials,Parameters* parameters){_error_("not implemented yet");};
    139137                void        SetTemporaryElementType(int element_type_in){_error_("not implemented yet");};
  • issm/trunk-jpl/src/c/classes/Elements/Tetra.h

    r25317 r25318  
    4949                void        Configure(Elements* elements,Loads* loads,Nodes* nodesin,Vertices* verticesin,Materials* materials,Parameters* parameters,Inputs2* inputs2in);
    5050                void        ControlInputSetGradient(IssmDouble* gradient,int enum_type,int control_index,int offset,int M,int N,int interp){_error_("not implemented yet");};
    51                 void        ControlInputSetGradient(IssmDouble* gradient,int enum_type,int control_index){_error_("not implemented yet");};
    5251                void        ControlToVectors(Vector<IssmPDouble>* vector_control, Vector<IssmPDouble>* vector_gradient,int control_enum,int control_interp){_error_("not implemented yet");};
    5352                IssmDouble  DragCoefficientAbsGradient(void){_error_("not implemented yet");};
     
    141140                void        ReduceMatrices(ElementMatrix* Ke,ElementVector* pe);
    142141                void        SetControlInputsFromVector(IssmDouble* vector,int control_enum,int control_index,int offset,int M, int N){_error_("not implemented yet");};
    143                 void        SetControlInputsFromVector(IssmDouble* vector,int control_enum,int control_index){_error_("not implemented yet");};
    144142                void        SetCurrentConfiguration(Elements* elements,Loads* loads,Nodes* nodes,Materials* materials,Parameters* parameters);
    145143                void        SetTemporaryElementType(int element_type_in){_error_("not implemented yet");};
  • issm/trunk-jpl/src/c/classes/Elements/Tria.cpp

    r25317 r25318  
    11311131        }
    11321132        else _error_("Type not supported");
    1133 
    1134 }/*}}}*/
    1135 void       Tria::ControlInputSetGradient(IssmDouble* gradient,int enum_type,int control_index){/*{{{*/
    1136         _error_("NOT NEEDED ANYMORE (remove)");
    1137 
    1138         int        idlist[NUMVERTICES];
    1139         int        vertexlids[NUMVERTICES];
    1140         IssmDouble grad_list[NUMVERTICES];
    1141 
    1142         GradientIndexing(&idlist[0],control_index);
    1143         for(int i=0;i<NUMVERTICES;i++) grad_list[i]=gradient[idlist[i]];
    1144         for(int i=0;i<NUMVERTICES;i++) vertexlids[i]=this->vertices[i]->lid;
    1145 
    1146         this->inputs2->SetTriaControlInputGradient(enum_type,P1Enum,NUMVERTICES,&vertexlids[0],&grad_list[0]);
    11471133
    11481134}/*}}}*/
     
    40053991        }
    40063992        else _error_("Type not supported");
    4007 }
    4008 /*}}}*/
    4009 void       Tria::SetControlInputsFromVector(IssmDouble* vector,int control_enum,int control_index){/*{{{*/
    4010 
    4011         IssmDouble  values[NUMVERTICES];
    4012         int         idlist[NUMVERTICES];
    4013         int         lidlist[NUMVERTICES];
    4014 
    4015         /*Get Domain type*/
    4016         int domaintype;
    4017         parameters->FindParam(&domaintype,DomainTypeEnum);
    4018 
    4019         /*Specific case for depth averaged quantities*/
    4020         if(domaintype==Domain2DverticalEnum){
    4021                 if(control_enum==MaterialsRheologyBbarEnum){
    4022                         control_enum=MaterialsRheologyBEnum;
    4023                         if(!IsOnBase()) return;
    4024                 }
    4025                 if(control_enum==DamageDbarEnum){
    4026                         control_enum=DamageDEnum;
    4027                         if(!IsOnBase()) return;
    4028                 }
    4029         }
    4030 
    4031         /*Get out if this is not an element input*/
    4032         if(!IsInputEnum(control_enum)) return;
    4033 
    4034         /*prepare index list*/
    4035         this->GetVerticesLidList(&lidlist[0]);
    4036         GradientIndexing(&idlist[0],control_index);
    4037 
    4038         /*Get values on vertices*/
    4039         for(int i=0;i<NUMVERTICES;i++){
    4040                 values[i]=vector[idlist[i]];
    4041         }
    4042 
    4043         /*Set Input*/
    4044         ElementInput2* input=this->inputs2->GetControlInput2Data(control_enum,"value");   _assert_(input);
    4045         input->SetInput(P1Enum,NUMVERTICES,&lidlist[0],&values[0]);
    40463993}
    40473994/*}}}*/
  • issm/trunk-jpl/src/c/classes/Elements/Tria.h

    r25317 r25318  
    6767                void        Configure(Elements* elements,Loads* loads,Nodes* nodesin,Vertices* verticesin,Materials* materials,Parameters* parameters,Inputs2* inputs2in);
    6868                void        ControlInputSetGradient(IssmDouble* gradient,int enum_type,int control_index,int offset,int M,int N,int interp);
    69                 void        ControlInputSetGradient(IssmDouble* gradient,int enum_type,int control_index);
    7069                void        ControlToVectors(Vector<IssmPDouble>* vector_control, Vector<IssmPDouble>* vector_gradient,int control_enum,int control_interp);
    7170                void        CreateDistanceInputFromSegmentlist(IssmDouble* distances,int distanceenum);
     
    131130                void        SetElementInput(Inputs2* inputs2,int numindices,int* indices,IssmDouble* values,int enum_in);
    132131                void        SetControlInputsFromVector(IssmDouble* vector,int control_enum,int control_index,int offset,int M,int N);
    133                 void        SetControlInputsFromVector(IssmDouble* vector,int control_enum,int control_index);
    134132                void        SetCurrentConfiguration(Elements* elements,Loads* loads,Nodes* nodes,Materials* materials,Parameters* parameters);
    135133           Element*    SpawnBasalElement(bool depthaverage_materials);
Note: See TracChangeset for help on using the changeset viewer.