Changeset 18055


Ignore:
Timestamp:
05/23/14 15:16:45 (11 years ago)
Author:
Mathieu Morlighem
Message:

NEW: added new method for gradient calculation

Location:
issm/trunk-jpl/src/c/analyses
Files:
66 edited

Legend:

Unmodified
Added
Removed
  • issm/trunk-jpl/src/c/analyses/AdjointBalancethickness2Analysis.cpp

    r18054 r18055  
    123123        _error_("not implemented yet");
    124124}/*}}}*/
     125void AdjointBalancethickness2Analysis::GradientJ(Vector<IssmDouble>* gradient,int control_index){/*{{{*/
     126        _error_("Not implemented yet");
     127}/*}}}*/
    125128void AdjointBalancethickness2Analysis::InputUpdateFromSolution(IssmDouble* solution,Element* element){/*{{{*/
    126129        element->InputUpdateFromSolutionOneDof(solution,AdjointEnum);
  • issm/trunk-jpl/src/c/analyses/AdjointBalancethickness2Analysis.h

    r17933 r18055  
    2727                ElementVector* CreatePVector(Element* element);
    2828                void GetSolutionFromInputs(Vector<IssmDouble>* solution,Element* element);
     29                void GradientJ(Vector<IssmDouble>* gradient,int control_index);
    2930                void InputUpdateFromSolution(IssmDouble* solution,Element* element);
    3031                void UpdateConstraints(FemModel* femmodel);
  • issm/trunk-jpl/src/c/analyses/AdjointBalancethicknessAnalysis.cpp

    r17700 r18055  
    150150        _error_("not implemented yet");
    151151}/*}}}*/
     152void AdjointBalancethicknessAnalysis::GradientJ(Vector<IssmDouble>* gradient,int control_index){/*{{{*/
     153        _error_("Not implemented yet");
     154}/*}}}*/
    152155void AdjointBalancethicknessAnalysis::InputUpdateFromSolution(IssmDouble* solution,Element* element){/*{{{*/
    153156
  • issm/trunk-jpl/src/c/analyses/AdjointBalancethicknessAnalysis.h

    r17686 r18055  
    2727                ElementVector* CreatePVector(Element* element);
    2828                void GetSolutionFromInputs(Vector<IssmDouble>* solution,Element* element);
     29                void GradientJ(Vector<IssmDouble>* gradient,int control_index);
    2930                void InputUpdateFromSolution(IssmDouble* solution,Element* element);
    3031                void UpdateConstraints(FemModel* femmodel);
  • issm/trunk-jpl/src/c/analyses/AdjointHorizAnalysis.cpp

    r17971 r18055  
    900900           _error_("not implemented yet");
    901901}/*}}}*/
     902void AdjointHorizAnalysis::GradientJ(Vector<IssmDouble>* gradient,int control_index){/*{{{*/
     903        _error_("Not implemented yet");
     904}/*}}}*/
    902905void AdjointHorizAnalysis::InputUpdateFromSolution(IssmDouble* solution,Element* element){/*{{{*/
    903906        int approximation;
  • issm/trunk-jpl/src/c/analyses/AdjointHorizAnalysis.h

    r17686 r18055  
    3333                ElementVector* CreatePVectorFS(Element* element);
    3434                void GetSolutionFromInputs(Vector<IssmDouble>* solution,Element* element);
     35                void GradientJ(Vector<IssmDouble>* gradient,int control_index);
    3536                void InputUpdateFromSolution(IssmDouble* solution,Element* element);
    3637                void UpdateConstraints(FemModel* femmodel);
  • issm/trunk-jpl/src/c/analyses/Analysis.h

    r17907 r18055  
    4040                virtual ElementVector* CreatePVector(Element* element)=0;
    4141                virtual void GetSolutionFromInputs(Vector<IssmDouble>* solution,Element* element)=0;
     42                virtual void GradientJ(Vector<IssmDouble>* gradient,int control_index)=0;
    4243                virtual void InputUpdateFromSolution(IssmDouble* solution,Element* element)=0;
    4344                virtual void UpdateConstraints(FemModel* femmodel)=0;
  • issm/trunk-jpl/src/c/analyses/Balancethickness2Analysis.cpp

    r18039 r18055  
    196196           _error_("not implemented yet");
    197197}/*}}}*/
     198void Balancethickness2Analysis::GradientJ(Vector<IssmDouble>* gradient,int control_index){/*{{{*/
     199        _error_("Not implemented yet");
     200}/*}}}*/
    198201void Balancethickness2Analysis::InputUpdateFromSolution(IssmDouble* solution,Element* element){/*{{{*/
    199202
  • issm/trunk-jpl/src/c/analyses/Balancethickness2Analysis.h

    r17850 r18055  
    2929                ElementVector* CreatePVectorBoundary(Element* element);
    3030                void GetSolutionFromInputs(Vector<IssmDouble>* solution,Element* element);
     31                void GradientJ(Vector<IssmDouble>* gradient,int control_index);
    3132                void InputUpdateFromSolution(IssmDouble* solution,Element* element);
    3233                void UpdateConstraints(FemModel* femmodel);
  • issm/trunk-jpl/src/c/analyses/BalancethicknessAnalysis.cpp

    r17886 r18055  
    479479           _error_("not implemented yet");
    480480}/*}}}*/
     481void BalancethicknessAnalysis::GradientJ(Vector<IssmDouble>* gradient,int control_index){/*{{{*/
     482        _error_("Not implemented yet");
     483}/*}}}*/
    481484void BalancethicknessAnalysis::InputUpdateFromSolution(IssmDouble* solution,Element* element){/*{{{*/
    482485
  • issm/trunk-jpl/src/c/analyses/BalancethicknessAnalysis.h

    r17686 r18055  
    3333                void GetBprime(IssmDouble* B,Element* element,IssmDouble* xyz_list,Gauss* gauss);
    3434                void GetSolutionFromInputs(Vector<IssmDouble>* solution,Element* element);
     35                void GradientJ(Vector<IssmDouble>* gradient,int control_index);
    3536                void InputUpdateFromSolution(IssmDouble* solution,Element* element);
    3637                void UpdateConstraints(FemModel* femmodel);
  • issm/trunk-jpl/src/c/analyses/BalancethicknessSoftAnalysis.cpp

    r17686 r18055  
    4545           _error_("not implemented yet");
    4646}/*}}}*/
     47void BalancethicknessSoftAnalysis::GradientJ(Vector<IssmDouble>* gradient,int control_index){/*{{{*/
     48        _error_("Not implemented yet");
     49}/*}}}*/
    4750void BalancethicknessSoftAnalysis::InputUpdateFromSolution(IssmDouble* solution,Element* element){/*{{{*/
    4851        _error_("not implemented yet");
  • issm/trunk-jpl/src/c/analyses/BalancethicknessSoftAnalysis.h

    r17686 r18055  
    2727                ElementVector* CreatePVector(Element* element);
    2828                void GetSolutionFromInputs(Vector<IssmDouble>* solution,Element* element);
     29                void GradientJ(Vector<IssmDouble>* gradient,int control_index);
    2930                void InputUpdateFromSolution(IssmDouble* solution,Element* element);
    3031                void UpdateConstraints(FemModel* femmodel);
  • issm/trunk-jpl/src/c/analyses/BalancevelocityAnalysis.cpp

    r17886 r18055  
    241241           _error_("not implemented yet");
    242242}/*}}}*/
     243void BalancevelocityAnalysis::GradientJ(Vector<IssmDouble>* gradient,int control_index){/*{{{*/
     244        _error_("Not implemented yet");
     245}/*}}}*/
    243246void BalancevelocityAnalysis::InputUpdateFromSolution(IssmDouble* solution,Element* element){/*{{{*/
    244247
  • issm/trunk-jpl/src/c/analyses/BalancevelocityAnalysis.h

    r17686 r18055  
    2727                ElementVector* CreatePVector(Element* element);
    2828                void GetSolutionFromInputs(Vector<IssmDouble>* solution,Element* element);
     29                void GradientJ(Vector<IssmDouble>* gradient,int control_index);
    2930                void InputUpdateFromSolution(IssmDouble* solution,Element* element);
    3031                void UpdateConstraints(FemModel* femmodel);
  • issm/trunk-jpl/src/c/analyses/DamageEvolutionAnalysis.cpp

    r18041 r18055  
    382382void DamageEvolutionAnalysis::GetSolutionFromInputs(Vector<IssmDouble>* solution,Element* element){/*{{{*/
    383383           _error_("not implemented yet");
     384}/*}}}*/
     385void DamageEvolutionAnalysis::GradientJ(Vector<IssmDouble>* gradient,int control_index){/*{{{*/
     386        _error_("Not implemented yet");
    384387}/*}}}*/
    385388void DamageEvolutionAnalysis::InputUpdateFromSolution(IssmDouble* solution,Element* element){/*{{{*/
  • issm/trunk-jpl/src/c/analyses/DamageEvolutionAnalysis.h

    r17686 r18055  
    2929                void GetBprime(IssmDouble* B,Element* element,int dim,IssmDouble* xyz_list,Gauss* gauss);
    3030                void GetSolutionFromInputs(Vector<IssmDouble>* solution,Element* element);
     31                void GradientJ(Vector<IssmDouble>* gradient,int control_index);
    3132                void InputUpdateFromSolution(IssmDouble* solution,Element* element);
    3233                void UpdateConstraints(FemModel* femmodel);
  • issm/trunk-jpl/src/c/analyses/DepthAverageAnalysis.cpp

    r17700 r18055  
    160160           _error_("not implemented yet");
    161161}/*}}}*/
     162void DepthAverageAnalysis::GradientJ(Vector<IssmDouble>* gradient,int control_index){/*{{{*/
     163        _error_("Not implemented yet");
     164}/*}}}*/
    162165void DepthAverageAnalysis::InputUpdateFromSolution(IssmDouble* solution,Element* element){/*{{{*/
    163166
  • issm/trunk-jpl/src/c/analyses/DepthAverageAnalysis.h

    r17686 r18055  
    2828                void GetB(IssmDouble* B,Element* element,int dim,IssmDouble* xyz_list,Gauss* gauss);
    2929                void GetSolutionFromInputs(Vector<IssmDouble>* solution,Element* element);
     30                void GradientJ(Vector<IssmDouble>* gradient,int control_index);
    3031                void InputUpdateFromSolution(IssmDouble* solution,Element* element);
    3132                void UpdateConstraints(FemModel* femmodel);
  • issm/trunk-jpl/src/c/analyses/EnthalpyAnalysis.cpp

    r17981 r18055  
    779779void EnthalpyAnalysis::GetSolutionFromInputs(Vector<IssmDouble>* solution,Element* element){/*{{{*/
    780780        element->GetSolutionFromInputsOneDof(solution,EnthalpyEnum);
     781}/*}}}*/
     782void EnthalpyAnalysis::GradientJ(Vector<IssmDouble>* gradient,int control_index){/*{{{*/
     783        _error_("Not implemented yet");
    781784}/*}}}*/
    782785void EnthalpyAnalysis::InputUpdateFromSolution(IssmDouble* solution,Element* element){/*{{{*/
  • issm/trunk-jpl/src/c/analyses/EnthalpyAnalysis.h

    r17686 r18055  
    3535                void GetBAdvecprime(IssmDouble* B,Element* element,IssmDouble* xyz_list,Gauss* gauss);
    3636                void GetSolutionFromInputs(Vector<IssmDouble>* solution,Element* element);
     37                void GradientJ(Vector<IssmDouble>* gradient,int control_index);
    3738                void InputUpdateFromSolution(IssmDouble* solution,Element* element);
    3839                void UpdateConstraints(FemModel* femmodel);
  • issm/trunk-jpl/src/c/analyses/EnumToAnalysis.h

    r17686 r18055  
    2222                ElementVector* CreatePVector(Element* element);
    2323                void GetSolutionFromInputs(Vector<IssmDouble>* solution,Element* element);
     24                void GradientJ(Vector<IssmDouble>* gradient,int control_index);
    2425                void InputUpdateFromSolution(IssmDouble* solution,Element* element);
    2526                void UpdateConstraints(FemModel* femmodel);
  • issm/trunk-jpl/src/c/analyses/ExtrapolationAnalysis.cpp

    r17886 r18055  
    240240        _error_("not implemented yet");
    241241}/*}}}*/
     242void ExtrapolationAnalysis::GradientJ(Vector<IssmDouble>* gradient,int control_index){/*{{{*/
     243        _error_("Not implemented yet");
     244}/*}}}*/
    242245void ExtrapolationAnalysis::InputUpdateFromSolution(IssmDouble* solution,Element* element){/*{{{*/
    243246
  • issm/trunk-jpl/src/c/analyses/ExtrapolationAnalysis.h

    r17686 r18055  
    2626        ElementMatrix* CreateKMatrix(Element* element);
    2727        ElementVector* CreatePVector(Element* element);
    28         void GetSolutionFromInputs(Vector<IssmDouble>* solution,Element* element);
     28                void GetSolutionFromInputs(Vector<IssmDouble>* solution,Element* element);
     29                void GradientJ(Vector<IssmDouble>* gradient,int control_index);
    2930        void InputUpdateFromSolution(IssmDouble* solution,Element* element);
    3031        void UpdateConstraints(FemModel* femmodel);
  • issm/trunk-jpl/src/c/analyses/ExtrudeFromBaseAnalysis.cpp

    r17700 r18055  
    222222           _error_("not implemented yet");
    223223}/*}}}*/
     224void ExtrudeFromBaseAnalysis::GradientJ(Vector<IssmDouble>* gradient,int control_index){/*{{{*/
     225        _error_("Not implemented yet");
     226}/*}}}*/
    224227void ExtrudeFromBaseAnalysis::InputUpdateFromSolution(IssmDouble* solution,Element* element){/*{{{*/
    225228
  • issm/trunk-jpl/src/c/analyses/ExtrudeFromBaseAnalysis.h

    r17686 r18055  
    3131                void GetB(IssmDouble* B,Element* element,int dim,IssmDouble* xyz_list,Gauss* gauss);
    3232                void GetSolutionFromInputs(Vector<IssmDouble>* solution,Element* element);
     33                void GradientJ(Vector<IssmDouble>* gradient,int control_index);
    3334                void InputUpdateFromSolution(IssmDouble* solution,Element* element);
    3435                void UpdateConstraints(FemModel* femmodel);
  • issm/trunk-jpl/src/c/analyses/ExtrudeFromTopAnalysis.cpp

    r17700 r18055  
    222222           _error_("not implemented yet");
    223223}/*}}}*/
     224void ExtrudeFromTopAnalysis::GradientJ(Vector<IssmDouble>* gradient,int control_index){/*{{{*/
     225        _error_("Not implemented yet");
     226}/*}}}*/
    224227void ExtrudeFromTopAnalysis::InputUpdateFromSolution(IssmDouble* solution,Element* element){/*{{{*/
    225228
  • issm/trunk-jpl/src/c/analyses/ExtrudeFromTopAnalysis.h

    r17686 r18055  
    3131                void GetB(IssmDouble* B,Element* element,int dim,IssmDouble* xyz_list,Gauss* gauss);
    3232                void GetSolutionFromInputs(Vector<IssmDouble>* solution,Element* element);
     33                void GradientJ(Vector<IssmDouble>* gradient,int control_index);
    3334                void InputUpdateFromSolution(IssmDouble* solution,Element* element);
    3435                void UpdateConstraints(FemModel* femmodel);
  • issm/trunk-jpl/src/c/analyses/FreeSurfaceBaseAnalysis.cpp

    r17886 r18055  
    363363void FreeSurfaceBaseAnalysis::GetSolutionFromInputs(Vector<IssmDouble>* solution,Element* element){/*{{{*/
    364364           _error_("not implemented yet");
     365}/*}}}*/
     366void FreeSurfaceBaseAnalysis::GradientJ(Vector<IssmDouble>* gradient,int control_index){/*{{{*/
     367        _error_("Not implemented yet");
    365368}/*}}}*/
    366369void FreeSurfaceBaseAnalysis::InputUpdateFromSolution(IssmDouble* solution,Element* element){/*{{{*/
  • issm/trunk-jpl/src/c/analyses/FreeSurfaceBaseAnalysis.h

    r17686 r18055  
    2929                void GetBprime(IssmDouble* B,Element* element,int dim,IssmDouble* xyz_list,Gauss* gauss);
    3030                void GetSolutionFromInputs(Vector<IssmDouble>* solution,Element* element);
     31                void GradientJ(Vector<IssmDouble>* gradient,int control_index);
    3132                void InputUpdateFromSolution(IssmDouble* solution,Element* element);
    3233                void UpdateConstraints(FemModel* femmodel);
  • issm/trunk-jpl/src/c/analyses/FreeSurfaceTopAnalysis.cpp

    r17886 r18055  
    367367           _error_("not implemented yet");
    368368}/*}}}*/
     369void FreeSurfaceTopAnalysis::GradientJ(Vector<IssmDouble>* gradient,int control_index){/*{{{*/
     370        _error_("Not implemented yet");
     371}/*}}}*/
    369372void FreeSurfaceTopAnalysis::InputUpdateFromSolution(IssmDouble* solution,Element* element){/*{{{*/
    370373
  • issm/trunk-jpl/src/c/analyses/FreeSurfaceTopAnalysis.h

    r17686 r18055  
    2929                void GetBprime(IssmDouble* B,Element* element,int dim,IssmDouble* xyz_list,Gauss* gauss);
    3030                void GetSolutionFromInputs(Vector<IssmDouble>* solution,Element* element);
     31                void GradientJ(Vector<IssmDouble>* gradient,int control_index);
    3132                void InputUpdateFromSolution(IssmDouble* solution,Element* element);
    3233                void UpdateConstraints(FemModel* femmodel);
  • issm/trunk-jpl/src/c/analyses/GiaAnalysis.cpp

    r17686 r18055  
    5757           _error_("not implemented yet");
    5858}/*}}}*/
     59void GiaAnalysis::GradientJ(Vector<IssmDouble>* gradient,int control_index){/*{{{*/
     60        _error_("Not implemented yet");
     61}/*}}}*/
    5962void GiaAnalysis::InputUpdateFromSolution(IssmDouble* solution,Element* element){/*{{{*/
    6063        _error_("not implemented yet");
  • issm/trunk-jpl/src/c/analyses/GiaAnalysis.h

    r17686 r18055  
    2727                ElementVector* CreatePVector(Element* element);
    2828                void GetSolutionFromInputs(Vector<IssmDouble>* solution,Element* element);
     29                void GradientJ(Vector<IssmDouble>* gradient,int control_index);
    2930                void InputUpdateFromSolution(IssmDouble* solution,Element* element);
    3031                void UpdateConstraints(FemModel* femmodel);
  • issm/trunk-jpl/src/c/analyses/HydrologyDCEfficientAnalysis.cpp

    r17964 r18055  
    316316void HydrologyDCEfficientAnalysis::GetSolutionFromInputs(Vector<IssmDouble>* solution,Element* element){/*{{{*/
    317317        element->GetSolutionFromInputsOneDof(solution,EplHeadEnum);
     318}/*}}}*/
     319void HydrologyDCEfficientAnalysis::GradientJ(Vector<IssmDouble>* gradient,int control_index){/*{{{*/
     320        _error_("Not implemented yet");
    318321}/*}}}*/
    319322void HydrologyDCEfficientAnalysis::InputUpdateFromSolution(IssmDouble* solution,Element* element){/*{{{*/
  • issm/trunk-jpl/src/c/analyses/HydrologyDCEfficientAnalysis.h

    r17686 r18055  
    2828                ElementVector* CreatePVector(Element* element);
    2929                void GetSolutionFromInputs(Vector<IssmDouble>* solution,Element* element);
     30                void GradientJ(Vector<IssmDouble>* gradient,int control_index);
    3031                void InputUpdateFromSolution(IssmDouble* solution,Element* element);
    3132                void UpdateConstraints(FemModel* femmodel);
  • issm/trunk-jpl/src/c/analyses/HydrologyDCInefficientAnalysis.cpp

    r17980 r18055  
    393393        element->GetSolutionFromInputsOneDof(solution,SedimentHeadEnum);
    394394}/*}}}*/
     395void HydrologyDCInefficientAnalysis::GradientJ(Vector<IssmDouble>* gradient,int control_index){/*{{{*/
     396        _error_("Not implemented yet");
     397}/*}}}*/
    395398void HydrologyDCInefficientAnalysis::InputUpdateFromSolution(IssmDouble* solution,Element* element){/*{{{*/
    396399
  • issm/trunk-jpl/src/c/analyses/HydrologyDCInefficientAnalysis.h

    r17686 r18055  
    2828                ElementVector* CreatePVector(Element* element);
    2929                void GetSolutionFromInputs(Vector<IssmDouble>* solution,Element* element);
     30                void GradientJ(Vector<IssmDouble>* gradient,int control_index);
    3031                void InputUpdateFromSolution(IssmDouble* solution,Element* element);
    3132                void UpdateConstraints(FemModel* femmodel);
  • issm/trunk-jpl/src/c/analyses/HydrologyShreveAnalysis.cpp

    r17946 r18055  
    292292        element->GetSolutionFromInputsOneDof(solution,WatercolumnEnum);
    293293}/*}}}*/
     294void HydrologyShreveAnalysis::GradientJ(Vector<IssmDouble>* gradient,int control_index){/*{{{*/
     295        _error_("Not implemented yet");
     296}/*}}}*/
    294297void HydrologyShreveAnalysis::InputUpdateFromSolution(IssmDouble* solution,Element* element){/*{{{*/
    295298
  • issm/trunk-jpl/src/c/analyses/HydrologyShreveAnalysis.h

    r17686 r18055  
    2727                ElementVector* CreatePVector(Element* element);
    2828                void GetSolutionFromInputs(Vector<IssmDouble>* solution,Element* element);
     29                void GradientJ(Vector<IssmDouble>* gradient,int control_index);
    2930                void InputUpdateFromSolution(IssmDouble* solution,Element* element);
    3031                void UpdateConstraints(FemModel* femmodel);
  • issm/trunk-jpl/src/c/analyses/L2ProjectionBaseAnalysis.cpp

    r17886 r18055  
    199199           _error_("not implemented yet");
    200200}/*}}}*/
     201void L2ProjectionBaseAnalysis::GradientJ(Vector<IssmDouble>* gradient,int control_index){/*{{{*/
     202        _error_("Not implemented yet");
     203}/*}}}*/
    201204void L2ProjectionBaseAnalysis::InputUpdateFromSolution(IssmDouble* solution,Element* element){/*{{{*/
    202205
  • issm/trunk-jpl/src/c/analyses/L2ProjectionBaseAnalysis.h

    r17686 r18055  
    2727                ElementVector* CreatePVector(Element* element);
    2828                void GetSolutionFromInputs(Vector<IssmDouble>* solution,Element* element);
     29                void GradientJ(Vector<IssmDouble>* gradient,int control_index);
    2930                void InputUpdateFromSolution(IssmDouble* solution,Element* element);
    3031                void UpdateConstraints(FemModel* femmodel);
  • issm/trunk-jpl/src/c/analyses/L2ProjectionEPLAnalysis.cpp

    r17886 r18055  
    229229           _error_("not implemented yet");
    230230}/*}}}*/
     231void L2ProjectionEPLAnalysis::GradientJ(Vector<IssmDouble>* gradient,int control_index){/*{{{*/
     232        _error_("Not implemented yet");
     233}/*}}}*/
    231234void L2ProjectionEPLAnalysis::InputUpdateFromSolution(IssmDouble* solution,Element* element){/*{{{*/
    232235        int inputenum,domaintype;
  • issm/trunk-jpl/src/c/analyses/L2ProjectionEPLAnalysis.h

    r17686 r18055  
    2727                ElementVector* CreatePVector(Element* element);
    2828                void GetSolutionFromInputs(Vector<IssmDouble>* solution,Element* element);
     29                void GradientJ(Vector<IssmDouble>* gradient,int control_index);
    2930                void InputUpdateFromSolution(IssmDouble* solution,Element* element);
    3031                void UpdateConstraints(FemModel* femmodel);
  • issm/trunk-jpl/src/c/analyses/LevelsetAnalysis.cpp

    r17993 r18055  
    308308        _error_("not implemented yet");
    309309}/*}}}*/
     310void LevelsetAnalysis::GradientJ(Vector<IssmDouble>* gradient,int control_index){/*{{{*/
     311        _error_("Not implemented yet");
     312}/*}}}*/
    310313void LevelsetAnalysis::InputUpdateFromSolution(IssmDouble* solution,Element* element){/*{{{*/
    311314
  • issm/trunk-jpl/src/c/analyses/LevelsetAnalysis.h

    r17686 r18055  
    2727                ElementVector* CreatePVector(Element* element);
    2828                void GetSolutionFromInputs(Vector<IssmDouble>* solution,Element* element);
     29                void GradientJ(Vector<IssmDouble>* gradient,int control_index);
    2930                void InputUpdateFromSolution(IssmDouble* solution,Element* element);
    3031                void UpdateConstraints(FemModel* femmodel);
  • issm/trunk-jpl/src/c/analyses/LsfReinitializationAnalysis.cpp

    r17924 r18055  
    283283        xDelete<int>(doflist);
    284284
     285}/*}}}*/
     286void LsfReinitializationAnalysis::GradientJ(Vector<IssmDouble>* gradient,int control_index){/*{{{*/
     287        _error_("Not implemented yet");
    285288}/*}}}*/
    286289void LsfReinitializationAnalysis::InputUpdateFromSolution(IssmDouble* solution,Element* element){/*{{{*/
  • issm/trunk-jpl/src/c/analyses/LsfReinitializationAnalysis.h

    r17686 r18055  
    2626        ElementMatrix* CreateKMatrix(Element* element);
    2727        ElementVector* CreatePVector(Element* element);
    28         void GetSolutionFromInputs(Vector<IssmDouble>* solution,Element* element);
     28                void GetSolutionFromInputs(Vector<IssmDouble>* solution,Element* element);
     29                void GradientJ(Vector<IssmDouble>* gradient,int control_index);
    2930        void InputUpdateFromSolution(IssmDouble* solution,Element* element);
    3031        void UpdateConstraints(FemModel* femmodel);
  • issm/trunk-jpl/src/c/analyses/MasstransportAnalysis.cpp

    r18001 r18055  
    675675           _error_("not implemented yet");
    676676}/*}}}*/
     677void MasstransportAnalysis::GradientJ(Vector<IssmDouble>* gradient,int control_index){/*{{{*/
     678        _error_("Not implemented yet");
     679}/*}}}*/
    677680void MasstransportAnalysis::InputUpdateFromSolution(IssmDouble* solution,Element* element){/*{{{*/
    678681
  • issm/trunk-jpl/src/c/analyses/MasstransportAnalysis.h

    r17686 r18055  
    3333                void GetBprime(IssmDouble* B,Element* element,int dim,IssmDouble* xyz_list,Gauss* gauss);
    3434                void GetSolutionFromInputs(Vector<IssmDouble>* solution,Element* element);
     35                void GradientJ(Vector<IssmDouble>* gradient,int control_index);
    3536                void InputUpdateFromSolution(IssmDouble* solution,Element* element);
    3637                void UpdateConstraints(FemModel* femmodel);
  • issm/trunk-jpl/src/c/analyses/MeltingAnalysis.cpp

    r17956 r18055  
    151151           _error_("not implemented yet");
    152152}/*}}}*/
     153void MeltingAnalysis::GradientJ(Vector<IssmDouble>* gradient,int control_index){/*{{{*/
     154        _error_("Not implemented yet");
     155}/*}}}*/
    153156void MeltingAnalysis::InputUpdateFromSolution(IssmDouble* solution,Element* element){/*{{{*/
    154157        element->InputUpdateFromSolutionOneDof(solution,BasalforcingsMeltingRateEnum);
  • issm/trunk-jpl/src/c/analyses/MeltingAnalysis.h

    r17686 r18055  
    2727                ElementVector* CreatePVector(Element* element);
    2828                void GetSolutionFromInputs(Vector<IssmDouble>* solution,Element* element);
     29                void GradientJ(Vector<IssmDouble>* gradient,int control_index);
    2930                void InputUpdateFromSolution(IssmDouble* solution,Element* element);
    3031                void UpdateConstraints(FemModel* femmodel);
  • issm/trunk-jpl/src/c/analyses/MeshdeformationAnalysis.cpp

    r17686 r18055  
    4545           _error_("not implemented yet");
    4646}/*}}}*/
     47void MeshdeformationAnalysis::GradientJ(Vector<IssmDouble>* gradient,int control_index){/*{{{*/
     48        _error_("Not implemented yet");
     49}/*}}}*/
    4750void MeshdeformationAnalysis::InputUpdateFromSolution(IssmDouble* solution,Element* element){/*{{{*/
    4851        _error_("not implemented yet");
  • issm/trunk-jpl/src/c/analyses/MeshdeformationAnalysis.h

    r17686 r18055  
    2727                ElementVector* CreatePVector(Element* element);
    2828                void GetSolutionFromInputs(Vector<IssmDouble>* solution,Element* element);
     29                void GradientJ(Vector<IssmDouble>* gradient,int control_index);
    2930                void InputUpdateFromSolution(IssmDouble* solution,Element* element);
    3031                void UpdateConstraints(FemModel* femmodel);
  • issm/trunk-jpl/src/c/analyses/SmoothedSurfaceSlopeXAnalysis.cpp

    r17886 r18055  
    172172           _error_("not implemented yet");
    173173}/*}}}*/
     174void SmoothedSurfaceSlopeXAnalysis::GradientJ(Vector<IssmDouble>* gradient,int control_index){/*{{{*/
     175        _error_("Not implemented yet");
     176}/*}}}*/
    174177void SmoothedSurfaceSlopeXAnalysis::InputUpdateFromSolution(IssmDouble* solution,Element* element){/*{{{*/
    175178        element->InputUpdateFromSolutionOneDof(solution,SurfaceSlopeXEnum);
  • issm/trunk-jpl/src/c/analyses/SmoothedSurfaceSlopeXAnalysis.h

    r17686 r18055  
    2727                ElementVector* CreatePVector(Element* element);
    2828                void GetSolutionFromInputs(Vector<IssmDouble>* solution,Element* element);
     29                void GradientJ(Vector<IssmDouble>* gradient,int control_index);
    2930                void InputUpdateFromSolution(IssmDouble* solution,Element* element);
    3031                void UpdateConstraints(FemModel* femmodel);
  • issm/trunk-jpl/src/c/analyses/SmoothedSurfaceSlopeYAnalysis.cpp

    r17924 r18055  
    171171           _error_("not implemented yet");
    172172}/*}}}*/
     173void SmoothedSurfaceSlopeYAnalysis::GradientJ(Vector<IssmDouble>* gradient,int control_index){/*{{{*/
     174        _error_("Not implemented yet");
     175}/*}}}*/
    173176void SmoothedSurfaceSlopeYAnalysis::InputUpdateFromSolution(IssmDouble* solution,Element* element){/*{{{*/
    174177        element->InputUpdateFromSolutionOneDof(solution,SurfaceSlopeYEnum);
  • issm/trunk-jpl/src/c/analyses/SmoothedSurfaceSlopeYAnalysis.h

    r17686 r18055  
    2727                ElementVector* CreatePVector(Element* element);
    2828                void GetSolutionFromInputs(Vector<IssmDouble>* solution,Element* element);
     29                void GradientJ(Vector<IssmDouble>* gradient,int control_index);
    2930                void InputUpdateFromSolution(IssmDouble* solution,Element* element);
    3031                void UpdateConstraints(FemModel* femmodel);
  • issm/trunk-jpl/src/c/analyses/StressbalanceAnalysis.cpp

    r17957 r18055  
    10401040        xDelete<int>(doflist);
    10411041}/*}}}*/
     1042void StressbalanceAnalysis::GradientJ(Vector<IssmDouble>* gradient,int control_index){/*{{{*/
     1043        _error_("Not implemented yet");
     1044}/*}}}*/
    10421045void StressbalanceAnalysis::InputUpdateFromSolution(IssmDouble* solution,Element* element){/*{{{*/
    10431046
  • issm/trunk-jpl/src/c/analyses/StressbalanceAnalysis.h

    r17686 r18055  
    2727                ElementVector* CreatePVector(Element* element);
    2828                void GetSolutionFromInputs(Vector<IssmDouble>* solution,Element* element);
     29                void GradientJ(Vector<IssmDouble>* gradient,int control_index);
    2930                void GetSolutionFromInputsHoriz(Vector<IssmDouble>* solution,Element* element);
    3031                void InputUpdateFromSolution(IssmDouble* solution,Element* element);
  • issm/trunk-jpl/src/c/analyses/StressbalanceSIAAnalysis.cpp

    r17925 r18055  
    493493        xDelete<IssmDouble>(values);
    494494}/*}}}*/
     495void StressbalanceSIAAnalysis::GradientJ(Vector<IssmDouble>* gradient,int control_index){/*{{{*/
     496        _error_("Not implemented yet");
     497}/*}}}*/
    495498void StressbalanceSIAAnalysis::InputUpdateFromSolution(IssmDouble* solution,Element* element){/*{{{*/
    496499
  • issm/trunk-jpl/src/c/analyses/StressbalanceSIAAnalysis.h

    r17686 r18055  
    3131                ElementVector* CreatePVector3D(Element* element);
    3232                void GetSolutionFromInputs(Vector<IssmDouble>* solution,Element* element);
     33                void GradientJ(Vector<IssmDouble>* gradient,int control_index);
    3334                void InputUpdateFromSolution(IssmDouble* solution,Element* element);
    3435                void UpdateConstraints(FemModel* femmodel);
  • issm/trunk-jpl/src/c/analyses/StressbalanceVerticalAnalysis.cpp

    r17886 r18055  
    356356void StressbalanceVerticalAnalysis::GetSolutionFromInputs(Vector<IssmDouble>* solution,Element* element){/*{{{*/
    357357        element->GetSolutionFromInputsOneDof(solution,VzEnum);
     358}/*}}}*/
     359void StressbalanceVerticalAnalysis::GradientJ(Vector<IssmDouble>* gradient,int control_index){/*{{{*/
     360        _error_("Not implemented yet");
    358361}/*}}}*/
    359362void StressbalanceVerticalAnalysis::InputUpdateFromSolution(IssmDouble* solution,Element* element){/*{{{*/
  • issm/trunk-jpl/src/c/analyses/StressbalanceVerticalAnalysis.h

    r17686 r18055  
    3333                void GetBprime(IssmDouble* B,Element* element,IssmDouble* xyz_list,Gauss* gauss);
    3434                void GetSolutionFromInputs(Vector<IssmDouble>* solution,Element* element);
     35                void GradientJ(Vector<IssmDouble>* gradient,int control_index);
    3536                void InputUpdateFromSolution(IssmDouble* solution,Element* element);
    3637                void UpdateConstraints(FemModel* femmodel);
  • issm/trunk-jpl/src/c/analyses/ThermalAnalysis.cpp

    r17956 r18055  
    653653        /*Clean-up*/
    654654        xDelete<IssmDouble>(dbasis);
     655}/*}}}*/
     656void ThermalAnalysis::GradientJ(Vector<IssmDouble>* gradient,int control_index){/*{{{*/
     657        _error_("Not implemented yet");
    655658}/*}}}*/
    656659void ThermalAnalysis::InputUpdateFromSolution(IssmDouble* solution,Element* element){/*{{{*/
  • issm/trunk-jpl/src/c/analyses/ThermalAnalysis.h

    r17686 r18055  
    3535                void GetBAdvecprime(IssmDouble* B,Element* element,IssmDouble* xyz_list,Gauss* gauss);
    3636                void GetSolutionFromInputs(Vector<IssmDouble>* solution,Element* element);
     37                void GradientJ(Vector<IssmDouble>* gradient,int control_index);
    3738                void InputUpdateFromSolution(IssmDouble* solution,Element* element);
    3839                void UpdateConstraints(FemModel* femmodel);
Note: See TracChangeset for help on using the changeset viewer.