source: issm/oecreview/Archive/21724-22754/ISSM-22199-22200.diff@ 22755

Last change on this file since 22755 was 22755, checked in by Mathieu Morlighem, 7 years ago

CHG: added 21724-22754

File size: 12.6 KB
  • ../trunk-jpl/src/c/shared/Enum/EnumDefinitions.h

     
    377377        TransientIsslrEnum,
    378378        TransientNumRequestedOutputsEnum,
    379379        TransientRequestedOutputsEnum,
     380        BalancethicknessSpcthicknessEnum,
    380381        BalancethicknessApparentMassbalanceEnum,
    381382        BalancethicknessDiffusionCoefficientEnum,
    382383        BalancethicknessOmegaEnum,
  • ../trunk-jpl/src/c/shared/Enum/EnumToStringx.cpp

     
    383383                case TransientIsslrEnum : return "TransientIsslr";
    384384                case TransientNumRequestedOutputsEnum : return "TransientNumRequestedOutputs";
    385385                case TransientRequestedOutputsEnum : return "TransientRequestedOutputs";
     386                case BalancethicknessSpcthicknessEnum : return "BalancethicknessSpcthickness";
    386387                case BalancethicknessApparentMassbalanceEnum : return "BalancethicknessApparentMassbalance";
    387388                case BalancethicknessDiffusionCoefficientEnum : return "BalancethicknessDiffusionCoefficient";
    388389                case BalancethicknessOmegaEnum : return "BalancethicknessOmega";
  • ../trunk-jpl/src/c/shared/Enum/StringToEnumx.cpp

     
    392392              else if (strcmp(name,"TransientIsslr")==0) return TransientIsslrEnum;
    393393              else if (strcmp(name,"TransientNumRequestedOutputs")==0) return TransientNumRequestedOutputsEnum;
    394394              else if (strcmp(name,"TransientRequestedOutputs")==0) return TransientRequestedOutputsEnum;
     395              else if (strcmp(name,"BalancethicknessSpcthickness")==0) return BalancethicknessSpcthicknessEnum;
    395396              else if (strcmp(name,"BalancethicknessApparentMassbalance")==0) return BalancethicknessApparentMassbalanceEnum;
    396397              else if (strcmp(name,"BalancethicknessDiffusionCoefficient")==0) return BalancethicknessDiffusionCoefficientEnum;
    397398              else if (strcmp(name,"BalancethicknessOmega")==0) return BalancethicknessOmegaEnum;
     
    504505              else if (strcmp(name,"SmbEla")==0) return SmbElaEnum;
    505506              else if (strcmp(name,"SmbBMax")==0) return SmbBMaxEnum;
    506507              else if (strcmp(name,"SmbBMin")==0) return SmbBMinEnum;
    507               else if (strcmp(name,"Adjointp")==0) return AdjointpEnum;
    508508         else stage=5;
    509509   }
    510510   if(stage==5){
    511               if (strcmp(name,"Adjointx")==0) return AdjointxEnum;
     511              if (strcmp(name,"Adjointp")==0) return AdjointpEnum;
     512              else if (strcmp(name,"Adjointx")==0) return AdjointxEnum;
    512513              else if (strcmp(name,"Adjointy")==0) return AdjointyEnum;
    513514              else if (strcmp(name,"Adjointz")==0) return AdjointzEnum;
    514515              else if (strcmp(name,"BalancethicknessMisfit")==0) return BalancethicknessMisfitEnum;
     
    627628              else if (strcmp(name,"Outputdefinition8")==0) return Outputdefinition8Enum;
    628629              else if (strcmp(name,"Outputdefinition9")==0) return Outputdefinition9Enum;
    629630              else if (strcmp(name,"Outputdefinition10")==0) return Outputdefinition10Enum;
    630               else if (strcmp(name,"Outputdefinition11")==0) return Outputdefinition11Enum;
    631631         else stage=6;
    632632   }
    633633   if(stage==6){
    634               if (strcmp(name,"Outputdefinition12")==0) return Outputdefinition12Enum;
     634              if (strcmp(name,"Outputdefinition11")==0) return Outputdefinition11Enum;
     635              else if (strcmp(name,"Outputdefinition12")==0) return Outputdefinition12Enum;
    635636              else if (strcmp(name,"Outputdefinition13")==0) return Outputdefinition13Enum;
    636637              else if (strcmp(name,"Outputdefinition14")==0) return Outputdefinition14Enum;
    637638              else if (strcmp(name,"Outputdefinition15")==0) return Outputdefinition15Enum;
     
    750751              else if (strcmp(name,"Gradient2")==0) return Gradient2Enum;
    751752              else if (strcmp(name,"Gradient3")==0) return Gradient3Enum;
    752753              else if (strcmp(name,"Gradient")==0) return GradientEnum;
    753               else if (strcmp(name,"GroundinglineMigration")==0) return GroundinglineMigrationEnum;
    754754         else stage=7;
    755755   }
    756756   if(stage==7){
    757               if (strcmp(name,"Gset")==0) return GsetEnum;
     757              if (strcmp(name,"GroundinglineMigration")==0) return GroundinglineMigrationEnum;
     758              else if (strcmp(name,"Gset")==0) return GsetEnum;
    758759              else if (strcmp(name,"Index")==0) return IndexEnum;
    759760              else if (strcmp(name,"Indexed")==0) return IndexedEnum;
    760761              else if (strcmp(name,"Intersect")==0) return IntersectEnum;
     
    873874              else if (strcmp(name,"AmrGroundingLineResolution")==0) return AmrGroundingLineResolutionEnum;
    874875              else if (strcmp(name,"AmrGroundingLineDistance")==0) return AmrGroundingLineDistanceEnum;
    875876              else if (strcmp(name,"AmrIceFrontResolution")==0) return AmrIceFrontResolutionEnum;
    876               else if (strcmp(name,"AmrIceFrontDistance")==0) return AmrIceFrontDistanceEnum;
    877877         else stage=8;
    878878   }
    879879   if(stage==8){
    880               if (strcmp(name,"AmrThicknessErrorResolution")==0) return AmrThicknessErrorResolutionEnum;
     880              if (strcmp(name,"AmrIceFrontDistance")==0) return AmrIceFrontDistanceEnum;
     881              else if (strcmp(name,"AmrThicknessErrorResolution")==0) return AmrThicknessErrorResolutionEnum;
    881882              else if (strcmp(name,"AmrThicknessErrorThreshold")==0) return AmrThicknessErrorThresholdEnum;
    882883              else if (strcmp(name,"AmrDeviatoricErrorResolution")==0) return AmrDeviatoricErrorResolutionEnum;
    883884              else if (strcmp(name,"AmrDeviatoricErrorThreshold")==0) return AmrDeviatoricErrorThresholdEnum;
     
    996997              else if (strcmp(name,"UzawaPressureAnalysis")==0) return UzawaPressureAnalysisEnum;
    997998              else if (strcmp(name,"GiaSolution")==0) return GiaSolutionEnum;
    998999              else if (strcmp(name,"GiaIvinsAnalysis")==0) return GiaIvinsAnalysisEnum;
    999               else if (strcmp(name,"EsaSolution")==0) return EsaSolutionEnum;
    10001000         else stage=9;
    10011001   }
    10021002   if(stage==9){
    1003               if (strcmp(name,"EsaAnalysis")==0) return EsaAnalysisEnum;
     1003              if (strcmp(name,"EsaSolution")==0) return EsaSolutionEnum;
     1004              else if (strcmp(name,"EsaAnalysis")==0) return EsaAnalysisEnum;
    10041005              else if (strcmp(name,"LoveSolution")==0) return LoveSolutionEnum;
    10051006              else if (strcmp(name,"LoveAnalysis")==0) return LoveAnalysisEnum;
    10061007              else if (strcmp(name,"LevelsetAnalysis")==0) return LevelsetAnalysisEnum;
  • ../trunk-jpl/src/c/modules/InputUpdateFromVectorDakotax/InputUpdateFromVectorDakotax.cpp

     
    1717
    1818void InputUpdateFromVectorDakotax(FemModel* femmodel,IssmDouble* vector, int name, int type){
    1919
    20         int i;
    21 
    2220        /*Update elements, nodes, loads and materials from inputs: */
    23         for(i=0;i<femmodel->elements->Size();i++){
     21        for(int i=0;i<femmodel->elements->Size();i++){
    2422                Element* element=xDynamicCast<Element*>(femmodel->elements->GetObjectByOffset(i));
    2523                element->InputUpdateFromVectorDakota(vector,name,type);
    2624        }
    27         for(i=0;i<femmodel->loads->Size();i++){
     25        for(int i=0;i<femmodel->loads->Size();i++){
    2826                Load* load=(Load*)femmodel->loads->GetObjectByOffset(i);
    2927                load->InputUpdateFromVectorDakota(vector,name,type);
    3028        }
    31         for(i=0;i<femmodel->materials->Size();i++){
     29        for(int i=0;i<femmodel->materials->Size();i++){
    3230                Material* material=(Material*)femmodel->materials->GetObjectByOffset(i);
    3331                material->InputUpdateFromVectorDakota(vector,name,type);
    3432        }
     33        for(int i=0;i<femmodel->constraints->Size();i++){
     34                Constraint* constraint=(Constraint*)femmodel->constraints->GetObjectByOffset(i);
     35                constraint->InputUpdateFromVectorDakota(vector,femmodel->nodes,name,type);
     36        }
    3537}
  • ../trunk-jpl/src/c/classes/Constraints/SpcStatic.h

     
    3737                /*}}}*/
    3838                /*Constraint virtual functions definitions: {{{*/
    3939                void ActivatePenaltyMethod(void);
    40                 void   ConstrainNode(Nodes* nodes,Parameters* parameters);
    41                 bool   InAnalysis(int analysis_type);
    42                 void   PenaltyDofAndValue(int* dof,IssmDouble* value,Nodes* nodes,Parameters* parameters){_error_("not implemented yet");};
     40                void ConstrainNode(Nodes* nodes,Parameters* parameters);
     41                bool InAnalysis(int analysis_type);
     42                void PenaltyDofAndValue(int* dof,IssmDouble* value,Nodes* nodes,Parameters* parameters){_error_("not implemented yet");};
     43                void InputUpdateFromVectorDakota(IssmDouble* vector,Nodes* nodes,int name,int type);
    4344                /*}}}*/
    4445                /*SpcStatic management:{{{ */
    4546                int    GetDof();
  • ../trunk-jpl/src/c/classes/Constraints/SpcTransient.h

     
    4242                void   ConstrainNode(Nodes* nodes,Parameters* parameters);
    4343                bool   InAnalysis(int analysis_type);
    4444                void   PenaltyDofAndValue(int* dof,IssmDouble* value,Nodes* nodes,Parameters* parameters);
     45                void InputUpdateFromVectorDakota(IssmDouble* vector,Nodes* nodes,int name,int type){_error_("not implemented yet");};
    4546                /*}}}*/
    4647                /*SpcTransient management:{{{ */
    4748                int        GetDof();
  • ../trunk-jpl/src/c/classes/Constraints/Constraint.h

     
    2323                virtual void ConstrainNode(Nodes* nodes,Parameters* parameters)=0;
    2424                virtual bool InAnalysis(int analysis_type)=0;
    2525                virtual void PenaltyDofAndValue(int* dof,IssmDouble* value,Nodes* nodes,Parameters* parameters)=0;
     26                virtual void InputUpdateFromVectorDakota(IssmDouble* vector,Nodes* nodes,int name,int type) = 0;
    2627
    2728};
    2829#endif
  • ../trunk-jpl/src/c/classes/Constraints/SpcDynamic.h

     
    4141                void ConstrainNode(Nodes* nodes,Parameters* parameters);
    4242                bool InAnalysis(int analysis_type);
    4343                void PenaltyDofAndValue(int* dof,IssmDouble* value,Nodes* nodes,Parameters* parameters){_error_("not implemented yet");};
     44                void InputUpdateFromVectorDakota(IssmDouble* vector,Nodes* nodes,int name,int type){_error_("not implemented yet");};
    4445
    4546                /*SpcDynamic management*/
    4647                int        GetDof();
  • ../trunk-jpl/src/c/classes/Constraints/SpcStatic.cpp

     
    9999/*}}}*/
    100100void SpcStatic::ConstrainNode(Nodes* nodes,Parameters* parameters){/*{{{*/
    101101
    102         Node* node=NULL;
    103 
    104102        /*Chase through nodes and find the node to which this SpcStatic applys: */
    105         node=(Node*)nodes->GetObjectById(NULL,nodeid);
     103        Node* node=(Node*)nodes->GetObjectById(NULL,nodeid);
    106104
    107105        /*Apply constraint: */
    108106        if(node){ //in case the spc is dealing with a node on another cpu
     
    115113        else return false;
    116114}
    117115/*}}}*/
     116void SpcStatic::InputUpdateFromVectorDakota(IssmDouble* vector,Nodes* nodes,int name,int type){/*{{{*/
    118117
     118        /*Chase through nodes and find the node to which this SpcStatic applys: */
     119        Node* node=(Node*)nodes->GetObjectById(NULL,nodeid);
     120
     121        /*Apply constraint: */
     122        if(node){ //in case the spc is dealing with a node on another cpu
     123                int sid = node->Sid();
     124                this->value = vector[sid];
     125                _assert_(!xIsNan<IssmDouble>(this->value));
     126        }
     127}
     128/*}}}*/
     129
    119130/*SpcStatic functions*/
    120131int        SpcStatic::GetDof(){/*{{{*/
    121132        return dof;
  • ../trunk-jpl/src/c/classes/Elements/Element.cpp

     
    17911791                                name==DeviatoricStresszzEnum ||
    17921792                                name==DeviatoricStresseffectiveEnum ||
    17931793                                name==VxAverageEnum ||
    1794                                 name==VyAverageEnum
     1794                                name==VyAverageEnum ||
     1795                                name==BalancethicknessSpcthicknessEnum
    17951796
    17961797                                ) {
    17971798                                        return true;
Note: See TracBrowser for help on using the repository browser.