Changeset 17212


Ignore:
Timestamp:
02/04/14 20:00:58 (11 years ago)
Author:
Mathieu Morlighem
Message:

NEW: added UpdateConstraints method to all analyses

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

Legend:

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

    r17005 r17212  
    164164        }
    165165}/*}}}*/
     166void AdjointBalancethicknessAnalysis::UpdateConstraints(FemModel* femmodel){/*{{{*/
     167        /*Default, do nothing*/
     168        return;
     169}/*}}}*/
  • issm/trunk-jpl/src/c/analyses/AdjointBalancethicknessAnalysis.h

    r17005 r17212  
    2828                void GetSolutionFromInputs(Vector<IssmDouble>* solution,Element* element);
    2929                void InputUpdateFromSolution(IssmDouble* solution,Element* element);
     30                void UpdateConstraints(FemModel* femmodel);
    3031};
    3132#endif
  • issm/trunk-jpl/src/c/analyses/AdjointHorizAnalysis.cpp

    r17005 r17212  
    996996        xDelete<IssmDouble>(values);
    997997}/*}}}*/
     998void AdjointHorizAnalysis::UpdateConstraints(FemModel* femmodel){/*{{{*/
     999        /*Default, do nothing*/
     1000        return;
     1001}/*}}}*/
  • issm/trunk-jpl/src/c/analyses/AdjointHorizAnalysis.h

    r17005 r17212  
    3434                void GetSolutionFromInputs(Vector<IssmDouble>* solution,Element* element);
    3535                void InputUpdateFromSolution(IssmDouble* solution,Element* element);
     36                void UpdateConstraints(FemModel* femmodel);
    3637                void InputUpdateFromSolutionHoriz(IssmDouble* solution,Element* element);
    3738                void InputUpdateFromSolutionFS(IssmDouble* solution,Element* element);
  • issm/trunk-jpl/src/c/analyses/Analysis.h

    r17009 r17212  
    4040                virtual void GetSolutionFromInputs(Vector<IssmDouble>* solution,Element* element)=0;
    4141                virtual void InputUpdateFromSolution(IssmDouble* solution,Element* element)=0;
     42                virtual void UpdateConstraints(FemModel* femmodel)=0;
    4243};
    4344#endif
  • issm/trunk-jpl/src/c/analyses/BalancethicknessAnalysis.cpp

    r17005 r17212  
    492492        }
    493493}/*}}}*/
     494void BalancethicknessAnalysis::UpdateConstraints(FemModel* femmodel){/*{{{*/
     495        /*Default, do nothing*/
     496        return;
     497}/*}}}*/
  • issm/trunk-jpl/src/c/analyses/BalancethicknessAnalysis.h

    r17005 r17212  
    3434                void GetSolutionFromInputs(Vector<IssmDouble>* solution,Element* element);
    3535                void InputUpdateFromSolution(IssmDouble* solution,Element* element);
     36                void UpdateConstraints(FemModel* femmodel);
    3637};
    3738#endif
  • issm/trunk-jpl/src/c/analyses/BalancethicknessSoftAnalysis.cpp

    r17005 r17212  
    4848        _error_("not implemented yet");
    4949}/*}}}*/
     50void BalancethicknessSoftAnalysis::UpdateConstraints(FemModel* femmodel){/*{{{*/
     51        /*Default, do nothing*/
     52        return;
     53}/*}}}*/
  • issm/trunk-jpl/src/c/analyses/BalancethicknessSoftAnalysis.h

    r17005 r17212  
    2828                void GetSolutionFromInputs(Vector<IssmDouble>* solution,Element* element);
    2929                void InputUpdateFromSolution(IssmDouble* solution,Element* element);
     30                void UpdateConstraints(FemModel* femmodel);
    3031};
    3132#endif
  • issm/trunk-jpl/src/c/analyses/BalancevelocityAnalysis.cpp

    r17005 r17212  
    257257        }
    258258}/*}}}*/
     259void BalancevelocityAnalysis::UpdateConstraints(FemModel* femmodel){/*{{{*/
     260        /*Default, do nothing*/
     261        return;
     262}/*}}}*/
  • issm/trunk-jpl/src/c/analyses/BalancevelocityAnalysis.h

    r17005 r17212  
    2828                void GetSolutionFromInputs(Vector<IssmDouble>* solution,Element* element);
    2929                void InputUpdateFromSolution(IssmDouble* solution,Element* element);
     30                void UpdateConstraints(FemModel* femmodel);
    3031};
    3132#endif
  • issm/trunk-jpl/src/c/analyses/DamageEvolutionAnalysis.cpp

    r17005 r17212  
    384384        xDelete<int>(doflist);
    385385}/*}}}*/
     386void DamageEvolutionAnalysis::UpdateConstraints(FemModel* femmodel){/*{{{*/
     387        /*Default, do nothing*/
     388        return;
     389}/*}}}*/
    386390
    387391/*Intermediaries*/
  • issm/trunk-jpl/src/c/analyses/DamageEvolutionAnalysis.h

    r17005 r17212  
    3030                void GetSolutionFromInputs(Vector<IssmDouble>* solution,Element* element);
    3131                void InputUpdateFromSolution(IssmDouble* solution,Element* element);
     32                void UpdateConstraints(FemModel* femmodel);
    3233
    3334                /*Intermediaries*/
  • issm/trunk-jpl/src/c/analyses/EnthalpyAnalysis.cpp

    r17211 r17212  
    818818        xDelete<int>(doflist);
    819819}/*}}}*/
    820 
     820void EnthalpyAnalysis::UpdateConstraints(FemModel* femmodel){/*{{{*/
     821        /*Default, do nothing*/
     822        return;
     823}/*}}}*/
    821824
    822825/*Modules*/
  • issm/trunk-jpl/src/c/analyses/EnthalpyAnalysis.h

    r17166 r17212  
    3636                void GetSolutionFromInputs(Vector<IssmDouble>* solution,Element* element);
    3737                void InputUpdateFromSolution(IssmDouble* solution,Element* element);
     38                void UpdateConstraints(FemModel* femmodel);
    3839
    3940                /*Modules*/
  • issm/trunk-jpl/src/c/analyses/EnumToAnalysis.h

    r17005 r17212  
    2323                void GetSolutionFromInputs(Vector<IssmDouble>* solution,Element* element);
    2424                void InputUpdateFromSolution(IssmDouble* solution,Element* element);
     25                void UpdateConstraints(FemModel* femmodel);
  • issm/trunk-jpl/src/c/analyses/ExtrapolationAnalysis.cpp

    r17171 r17212  
    5353
    5454        if(VerboseSolution()) _printf0_("extrapolation: call computational core:\n");
    55         UpdateConstraints(femmodel->elements);
    5655        solutionsequence_linear(femmodel);
    5756
     
    254253
    255254}/*}}}*/
    256 void ExtrapolationAnalysis::UpdateConstraints(Elements* elements){/*{{{*/
    257 
    258         for(int i=0;i<elements->Size();i++){
    259                 Element* element=dynamic_cast<Element*>(elements->GetObjectByOffset(i));
    260                 this->SetConstraintsOnIce(element);
    261         }
    262 
    263 }/*}}}*/
    264255void ExtrapolationAnalysis::SetConstraintsOnIce(Element* element){/*{{{*/
    265256
     
    294285        delete gauss;
    295286}/*}}}*/
     287void ExtrapolationAnalysis::UpdateConstraints(FemModel* femmodel){/*{{{*/
     288
     289        for(int i=0;i<femmodel->elements->Size();i++){
     290                Element* element=dynamic_cast<Element*>(femmodel->elements->GetObjectByOffset(i));
     291                this->SetConstraintsOnIce(element);
     292        }
     293
     294}/*}}}*/
  • issm/trunk-jpl/src/c/analyses/ExtrapolationAnalysis.h

    r17144 r17212  
    2828        void GetSolutionFromInputs(Vector<IssmDouble>* solution,Element* element);
    2929        void InputUpdateFromSolution(IssmDouble* solution,Element* element);
     30        void UpdateConstraints(FemModel* femmodel);
    3031        void GetB(IssmDouble* B,Element* element,IssmDouble* xyz_list,Gauss* gauss);
    3132        void GetBprime(IssmDouble* Bprime,Element* element,IssmDouble* xyz_list,Gauss* gauss);
    32         void UpdateConstraints(Elements* elements);
    3333        void SetConstraintsOnIce(Element* element);
    3434};
  • issm/trunk-jpl/src/c/analyses/ExtrudeFromBaseAnalysis.cpp

    r17184 r17212  
    243243        element->InputUpdateFromSolutionOneDof(solution,inputenum);
    244244}/*}}}*/
     245void ExtrudeFromBaseAnalysis::UpdateConstraints(FemModel* femmodel){/*{{{*/
     246        /*Default, do nothing*/
     247        return;
     248}/*}}}*/
  • issm/trunk-jpl/src/c/analyses/ExtrudeFromBaseAnalysis.h

    r17183 r17212  
    3232                void GetSolutionFromInputs(Vector<IssmDouble>* solution,Element* element);
    3333                void InputUpdateFromSolution(IssmDouble* solution,Element* element);
     34                void UpdateConstraints(FemModel* femmodel);
    3435};
    3536#endif
  • issm/trunk-jpl/src/c/analyses/ExtrudeFromTopAnalysis.cpp

    r17184 r17212  
    243243        element->InputUpdateFromSolutionOneDof(solution,inputenum);
    244244}/*}}}*/
     245void ExtrudeFromTopAnalysis::UpdateConstraints(FemModel* femmodel){/*{{{*/
     246        /*Default, do nothing*/
     247        return;
     248}/*}}}*/
  • issm/trunk-jpl/src/c/analyses/ExtrudeFromTopAnalysis.h

    r17183 r17212  
    3232                void GetSolutionFromInputs(Vector<IssmDouble>* solution,Element* element);
    3333                void InputUpdateFromSolution(IssmDouble* solution,Element* element);
     34                void UpdateConstraints(FemModel* femmodel);
    3435};
    3536#endif
  • issm/trunk-jpl/src/c/analyses/FreeSurfaceBaseAnalysis.cpp

    r17182 r17212  
    363363        element->InputUpdateFromSolutionOneDof(solution,BedEnum);
    364364}/*}}}*/
     365void FreeSurfaceBaseAnalysis::UpdateConstraints(FemModel* femmodel){/*{{{*/
     366        /*Default, do nothing*/
     367        return;
     368}/*}}}*/
  • issm/trunk-jpl/src/c/analyses/FreeSurfaceBaseAnalysis.h

    r17172 r17212  
    3030                void GetSolutionFromInputs(Vector<IssmDouble>* solution,Element* element);
    3131                void InputUpdateFromSolution(IssmDouble* solution,Element* element);
     32                void UpdateConstraints(FemModel* femmodel);
    3233};
    3334#endif
  • issm/trunk-jpl/src/c/analyses/FreeSurfaceTopAnalysis.cpp

    r17182 r17212  
    368368        element->InputUpdateFromSolutionOneDof(solution,SurfaceEnum);
    369369}/*}}}*/
     370void FreeSurfaceTopAnalysis::UpdateConstraints(FemModel* femmodel){/*{{{*/
     371        /*Default, do nothing*/
     372        return;
     373}/*}}}*/
  • issm/trunk-jpl/src/c/analyses/FreeSurfaceTopAnalysis.h

    r17172 r17212  
    3030                void GetSolutionFromInputs(Vector<IssmDouble>* solution,Element* element);
    3131                void InputUpdateFromSolution(IssmDouble* solution,Element* element);
     32                void UpdateConstraints(FemModel* femmodel);
    3233};
    3334#endif
  • issm/trunk-jpl/src/c/analyses/GiaAnalysis.cpp

    r17005 r17212  
    6060        _error_("not implemented yet");
    6161}/*}}}*/
     62void GiaAnalysis::UpdateConstraints(FemModel* femmodel){/*{{{*/
     63        /*Default, do nothing*/
     64        return;
     65}/*}}}*/
  • issm/trunk-jpl/src/c/analyses/GiaAnalysis.h

    r17005 r17212  
    2828                void GetSolutionFromInputs(Vector<IssmDouble>* solution,Element* element);
    2929                void InputUpdateFromSolution(IssmDouble* solution,Element* element);
     30                void UpdateConstraints(FemModel* femmodel);
    3031};
    3132#endif
  • issm/trunk-jpl/src/c/analyses/HydrologyDCEfficientAnalysis.cpp

    r17192 r17212  
    103103        _error_("not implemented");
    104104}/*}}}*/
    105 
    106105ElementVector* HydrologyDCEfficientAnalysis::CreateDVector(Element* element){/*{{{*/
    107106        /*Default, return NULL*/
    108107        return NULL;
    109108}/*}}}*/
    110 
    111109ElementMatrix* HydrologyDCEfficientAnalysis::CreateJacobianMatrix(Element* element){/*{{{*/
    112110_error_("Not implemented");
    113111}/*}}}*/
    114 
    115112ElementMatrix* HydrologyDCEfficientAnalysis::CreateKMatrix(Element* element){/*{{{*/
    116113
     
    293290        return pe;
    294291}/*}}}*/
    295 
    296292void HydrologyDCEfficientAnalysis::GetSolutionFromInputs(Vector<IssmDouble>* solution,Element* element){/*{{{*/
    297293        element->GetSolutionFromInputsOneDof(solution,EplHeadEnum);
    298294}/*}}}*/
    299 
    300295void HydrologyDCEfficientAnalysis::InputUpdateFromSolution(IssmDouble* solution,Element* element){/*{{{*/
    301296
     
    349344        if(meshtype!=Mesh2DhorizontalEnum){basalelement->DeleteMaterials(); delete basalelement;};
    350345} /*}}}*/
     346void HydrologyDCEfficientAnalysis::UpdateConstraints(FemModel* femmodel){/*{{{*/
     347        /*Default, do nothing*/
     348        return;
     349}/*}}}*/
    351350
    352351/*Intermediaries*/
     
    359358        return rho_freshwater*g*epl_porosity*(water_compressibility+(epl_compressibility/epl_porosity));                 
    360359}/*}}}*/
    361 
    362360void HydrologyDCEfficientAnalysis::GetB(IssmDouble* B,Element* element,IssmDouble* xyz_list,Gauss* gauss){/*{{{*/
    363361        /*Compute B  matrix. B=[B1 B2 B3] where Bi is of size 3*NDOF2.
  • issm/trunk-jpl/src/c/analyses/HydrologyDCEfficientAnalysis.h

    r17005 r17212  
    2828                void GetSolutionFromInputs(Vector<IssmDouble>* solution,Element* element);
    2929                void InputUpdateFromSolution(IssmDouble* solution,Element* element);
     30                void UpdateConstraints(FemModel* femmodel);
    3031
    3132                /*Intermediaries*/
  • issm/trunk-jpl/src/c/analyses/HydrologyDCInefficientAnalysis.cpp

    r17192 r17212  
    299299        return pe;
    300300}/*}}}*/
    301 
    302301void HydrologyDCInefficientAnalysis::GetB(IssmDouble* B,Element* element,IssmDouble* xyz_list,Gauss* gauss){/*{{{*/
    303302        /*Compute B  matrix. B=[B1 B2 B3] where Bi is of size 3*NDOF2.
     
    327326        xDelete<IssmDouble>(dbasis);
    328327}/*}}}*/
    329 
    330328void HydrologyDCInefficientAnalysis::GetSolutionFromInputs(Vector<IssmDouble>* solution,Element* element){/*{{{*/
    331329        element->GetSolutionFromInputsOneDof(solution,SedimentHeadEnum);
    332330}/*}}}*/
    333 
    334331void HydrologyDCInefficientAnalysis::InputUpdateFromSolution(IssmDouble* solution,Element* element){/*{{{*/
    335332
     
    389386        xDelete<int>(doflist);
    390387        if(meshtype!=Mesh2DhorizontalEnum){basalelement->DeleteMaterials(); delete basalelement;};
     388}/*}}}*/
     389void HydrologyDCInefficientAnalysis::UpdateConstraints(FemModel* femmodel){/*{{{*/
     390        /*Default, do nothing*/
     391        return;
    391392}/*}}}*/
    392393
     
    401402        return rho_freshwater*g*sediment_porosity*sediment_thickness*(water_compressibility+(sediment_compressibility/sediment_porosity));               
    402403}/*}}}*/
    403 
    404404void HydrologyDCInefficientAnalysis::ElementizeEplMask(FemModel* femmodel){/*{{{*/
    405405
  • issm/trunk-jpl/src/c/analyses/HydrologyDCInefficientAnalysis.h

    r17005 r17212  
    2828                void GetSolutionFromInputs(Vector<IssmDouble>* solution,Element* element);
    2929                void InputUpdateFromSolution(IssmDouble* solution,Element* element);
     30                void UpdateConstraints(FemModel* femmodel);
    3031
    3132                /*Intermediaries*/
  • issm/trunk-jpl/src/c/analyses/HydrologyShreveAnalysis.cpp

    r17005 r17212  
    314314        xDelete<IssmDouble>(values);
    315315        xDelete<int>(doflist);
     316}/*}}}*/
     317void HydrologyShreveAnalysis::UpdateConstraints(FemModel* femmodel){/*{{{*/
     318        /*Default, do nothing*/
     319        return;
    316320}/*}}}*/
    317321
  • issm/trunk-jpl/src/c/analyses/HydrologyShreveAnalysis.h

    r17005 r17212  
    2828                void GetSolutionFromInputs(Vector<IssmDouble>* solution,Element* element);
    2929                void InputUpdateFromSolution(IssmDouble* solution,Element* element);
     30                void UpdateConstraints(FemModel* femmodel);
    3031
    3132                /*Intermediaries*/
  • issm/trunk-jpl/src/c/analyses/L2ProjectionBaseAnalysis.cpp

    r17005 r17212  
    219219        }
    220220}/*}}}*/
     221void L2ProjectionBaseAnalysis::UpdateConstraints(FemModel* femmodel){/*{{{*/
     222        /*Default, do nothing*/
     223        return;
     224}/*}}}*/
  • issm/trunk-jpl/src/c/analyses/L2ProjectionBaseAnalysis.h

    r17005 r17212  
    2828                void GetSolutionFromInputs(Vector<IssmDouble>* solution,Element* element);
    2929                void InputUpdateFromSolution(IssmDouble* solution,Element* element);
     30                void UpdateConstraints(FemModel* femmodel);
    3031};
    3132#endif
  • issm/trunk-jpl/src/c/analyses/L2ProjectionEPLAnalysis.cpp

    r17030 r17212  
    7373        _error_("not implemented");
    7474}/*}}}*/
    75 
    7675ElementVector* L2ProjectionEPLAnalysis::CreateDVector(Element* element){/*{{{*/
    7776        /*Default, return NULL*/
    7877        return NULL;
    7978}/*}}}*/
    80 
    8179ElementMatrix* L2ProjectionEPLAnalysis::CreateJacobianMatrix(Element* element){/*{{{*/
    8280_error_("Not implemented");
    8381}/*}}}*/
    84 
    8582ElementMatrix* L2ProjectionEPLAnalysis::CreateKMatrix(Element* element){/*{{{*/
    8683
     
    232229        return pe;
    233230}/*}}}*/
    234 
    235231void L2ProjectionEPLAnalysis::GetSolutionFromInputs(Vector<IssmDouble>* solution,Element* element){/*{{{*/
    236232           _error_("not implemented yet");
    237233}/*}}}*/
    238 
    239234void L2ProjectionEPLAnalysis::InputUpdateFromSolution(IssmDouble* solution,Element* element){/*{{{*/
    240235        int inputenum,meshtype;
     
    255250        }
    256251}/*}}}*/
    257 
     252void L2ProjectionEPLAnalysis::UpdateConstraints(FemModel* femmodel){/*{{{*/
     253        /*Default, do nothing*/
     254        return;
     255}/*}}}*/
     256
  • issm/trunk-jpl/src/c/analyses/L2ProjectionEPLAnalysis.h

    r17005 r17212  
    2828                void GetSolutionFromInputs(Vector<IssmDouble>* solution,Element* element);
    2929                void InputUpdateFromSolution(IssmDouble* solution,Element* element);
     30                void UpdateConstraints(FemModel* femmodel);
    3031};
    3132#endif
  • issm/trunk-jpl/src/c/analyses/LevelsetAnalysis.cpp

    r17210 r17212  
    268268        }
    269269}/*}}}*/
     270void LevelsetAnalysis::UpdateConstraints(FemModel* femmodel){/*{{{*/
     271        /*Default, do nothing*/
     272        return;
     273}/*}}}*/
    270274void LevelsetAnalysis::GetB(IssmDouble* B,Element* element,IssmDouble* xyz_list,Gauss* gauss){/*{{{*/
    271275        /*Compute B  matrix. B=[B1 B2 B3] where Bi is of size 3*NDOF2.
  • issm/trunk-jpl/src/c/analyses/LevelsetAnalysis.h

    r17210 r17212  
    2727        ElementVector* CreatePVector(Element* element);
    2828        void GetSolutionFromInputs(Vector<IssmDouble>* solution,Element* element);
    29         void InputUpdateFromSolution(IssmDouble* solution,Element* element);
     29                void InputUpdateFromSolution(IssmDouble* solution,Element* element);
     30                void UpdateConstraints(FemModel* femmodel);
    3031        void GetB(IssmDouble* B,Element* element,IssmDouble* xyz_list,Gauss* gauss);
    3132        void GetBprime(IssmDouble* Bprime,Element* element,IssmDouble* xyz_list,Gauss* gauss);
  • issm/trunk-jpl/src/c/analyses/MasstransportAnalysis.cpp

    r17087 r17212  
    692692        if(meshtype!=Mesh2DhorizontalEnum){basalelement->DeleteMaterials(); delete basalelement;};
    693693}/*}}}*/
     694void MasstransportAnalysis::UpdateConstraints(FemModel* femmodel){/*{{{*/
     695        /*Default, do nothing*/
     696        return;
     697}/*}}}*/
  • issm/trunk-jpl/src/c/analyses/MasstransportAnalysis.h

    r17005 r17212  
    3434                void GetSolutionFromInputs(Vector<IssmDouble>* solution,Element* element);
    3535                void InputUpdateFromSolution(IssmDouble* solution,Element* element);
     36                void UpdateConstraints(FemModel* femmodel);
    3637};
    3738#endif
  • issm/trunk-jpl/src/c/analyses/MeltingAnalysis.cpp

    r17005 r17212  
    135135        element->InputUpdateFromSolutionOneDof(solution,BasalforcingsMeltingRateEnum);
    136136}/*}}}*/
     137void MeltingAnalysis::UpdateConstraints(FemModel* femmodel){/*{{{*/
     138        /*Default, do nothing*/
     139        return;
     140}/*}}}*/
  • issm/trunk-jpl/src/c/analyses/MeltingAnalysis.h

    r17005 r17212  
    2828                void GetSolutionFromInputs(Vector<IssmDouble>* solution,Element* element);
    2929                void InputUpdateFromSolution(IssmDouble* solution,Element* element);
     30                void UpdateConstraints(FemModel* femmodel);
    3031};
    3132#endif
  • issm/trunk-jpl/src/c/analyses/MeshdeformationAnalysis.cpp

    r17005 r17212  
    4848        _error_("not implemented yet");
    4949}/*}}}*/
     50void MeshdeformationAnalysis::UpdateConstraints(FemModel* femmodel){/*{{{*/
     51        /*Default, do nothing*/
     52        return;
     53}/*}}}*/
  • issm/trunk-jpl/src/c/analyses/MeshdeformationAnalysis.h

    r17005 r17212  
    2828                void GetSolutionFromInputs(Vector<IssmDouble>* solution,Element* element);
    2929                void InputUpdateFromSolution(IssmDouble* solution,Element* element);
     30                void UpdateConstraints(FemModel* femmodel);
    3031};
    3132#endif
  • issm/trunk-jpl/src/c/analyses/SmoothedSurfaceSlopeXAnalysis.cpp

    r17005 r17212  
    178178        element->InputUpdateFromSolutionOneDof(solution,SurfaceSlopeXEnum);
    179179}/*}}}*/
     180void SmoothedSurfaceSlopeXAnalysis::UpdateConstraints(FemModel* femmodel){/*{{{*/
     181        /*Default, do nothing*/
     182        return;
     183}/*}}}*/
  • issm/trunk-jpl/src/c/analyses/SmoothedSurfaceSlopeXAnalysis.h

    r17005 r17212  
    2828                void GetSolutionFromInputs(Vector<IssmDouble>* solution,Element* element);
    2929                void InputUpdateFromSolution(IssmDouble* solution,Element* element);
     30                void UpdateConstraints(FemModel* femmodel);
    3031};
    3132#endif
  • issm/trunk-jpl/src/c/analyses/SmoothedSurfaceSlopeYAnalysis.cpp

    r17005 r17212  
    178178        element->InputUpdateFromSolutionOneDof(solution,SurfaceSlopeYEnum);
    179179}/*}}}*/
     180void SmoothedSurfaceSlopeYAnalysis::UpdateConstraints(FemModel* femmodel){/*{{{*/
     181        /*Default, do nothing*/
     182        return;
     183}/*}}}*/
  • issm/trunk-jpl/src/c/analyses/SmoothedSurfaceSlopeYAnalysis.h

    r17005 r17212  
    2828                void GetSolutionFromInputs(Vector<IssmDouble>* solution,Element* element);
    2929                void InputUpdateFromSolution(IssmDouble* solution,Element* element);
     30                void UpdateConstraints(FemModel* femmodel);
    3031};
    3132#endif
  • issm/trunk-jpl/src/c/analyses/StressbalanceAnalysis.cpp

    r17210 r17212  
    10231023        }
    10241024}/*}}}*/
     1025void StressbalanceAnalysis::UpdateConstraints(FemModel* femmodel){/*{{{*/
     1026        /*Default, do nothing*/
     1027        return;
     1028}/*}}}*/
    10251029
    10261030/*SSA*/
  • issm/trunk-jpl/src/c/analyses/StressbalanceAnalysis.h

    r17111 r17212  
    2929                void GetSolutionFromInputsHoriz(Vector<IssmDouble>* solution,Element* element);
    3030                void InputUpdateFromSolution(IssmDouble* solution,Element* element);
     31                void UpdateConstraints(FemModel* femmodel);
    3132
    3233                /*SSA*/
  • issm/trunk-jpl/src/c/analyses/StressbalanceSIAAnalysis.cpp

    r17009 r17212  
    513513        xDelete<int>(doflist);
    514514}/*}}}*/
     515void StressbalanceSIAAnalysis::UpdateConstraints(FemModel* femmodel){/*{{{*/
     516        /*Default, do nothing*/
     517        return;
     518}/*}}}*/
  • issm/trunk-jpl/src/c/analyses/StressbalanceSIAAnalysis.h

    r17005 r17212  
    3232                void GetSolutionFromInputs(Vector<IssmDouble>* solution,Element* element);
    3333                void InputUpdateFromSolution(IssmDouble* solution,Element* element);
     34                void UpdateConstraints(FemModel* femmodel);
    3435};
    3536#endif
  • issm/trunk-jpl/src/c/analyses/StressbalanceVerticalAnalysis.cpp

    r17010 r17212  
    468468        xDelete<int>(doflist);
    469469}/*}}}*/
     470void StressbalanceVerticalAnalysis::UpdateConstraints(FemModel* femmodel){/*{{{*/
     471        /*Default, do nothing*/
     472        return;
     473}/*}}}*/
  • issm/trunk-jpl/src/c/analyses/StressbalanceVerticalAnalysis.h

    r17005 r17212  
    3434                void GetSolutionFromInputs(Vector<IssmDouble>* solution,Element* element);
    3535                void InputUpdateFromSolution(IssmDouble* solution,Element* element);
     36                void UpdateConstraints(FemModel* femmodel);
    3637};
    3738#endif
  • issm/trunk-jpl/src/c/analyses/ThermalAnalysis.cpp

    r17005 r17212  
    682682        xDelete<int>(doflist);
    683683}/*}}}*/
     684void ThermalAnalysis::UpdateConstraints(FemModel* femmodel){/*{{{*/
     685        /*Default, do nothing*/
     686        return;
     687}/*}}}*/
  • issm/trunk-jpl/src/c/analyses/ThermalAnalysis.h

    r17005 r17212  
    3636                void GetSolutionFromInputs(Vector<IssmDouble>* solution,Element* element);
    3737                void InputUpdateFromSolution(IssmDouble* solution,Element* element);
     38                void UpdateConstraints(FemModel* femmodel);
    3839};
    3940#endif
Note: See TracChangeset for help on using the changeset viewer.