source: issm/branches/trunk-larour-NatGeoScience2016/src/c/analyses/HydrologyDCInefficientAnalysis.h@ 21759

Last change on this file since 21759 was 21759, checked in by Eric.Larour, 8 years ago

CHG: merged branch back to trunk-jpl 21754.

File size: 1.9 KB
Line 
1/*! \file HydrologyDCInefficientAnalysis.h
2 * \brief: header file for generic external result object
3 */
4
5#ifndef _HydrologyDCInefficientAnalysis_
6#define _HydrologyDCInefficientAnalysis_
7
8/*Headers*/
9#include "./Analysis.h"
10class Node;
11class Input;
12class HydrologyDCInefficientAnalysis: public Analysis{
13
14 public:
15 /*Model processing*/
16 int DofsPerNode(int** doflist,int domaintype,int approximation);
17 void UpdateParameters(Parameters* parameters,IoModel* iomodel,int solution_enum,int analysis_enum);
18 void UpdateElements(Elements* elements,IoModel* iomodel,int analysis_counter,int analysis_type);
19 void CreateNodes(Nodes* nodes,IoModel* iomodel);
20 void CreateConstraints(Constraints* constraints,IoModel* iomodel);
21 void CreateLoads(Loads* loads, IoModel* iomodel);
22
23 /*Finite element Analysis*/
24 void Core(FemModel* femmodel);
25 ElementVector* CreateDVector(Element* element);
26 ElementMatrix* CreateJacobianMatrix(Element* element);
27 ElementMatrix* CreateKMatrix(Element* element);
28 ElementVector* CreatePVector(Element* element);
29 void GetSolutionFromInputs(Vector<IssmDouble>* solution,Element* element);
30 void GradientJ(Vector<IssmDouble>* gradient,Element* element,int control_type,int control_index);
31 void InputUpdateFromSolution(IssmDouble* solution,Element* element);
32 void UpdateConstraints(FemModel* femmodel);
33
34 /*Intermediaries*/
35 void GetB(IssmDouble* B,Element* element,IssmDouble* xyz_list,Gauss* gauss);
36 IssmDouble SedimentStoring(Element* element, Gauss* gauss, Input* sed_head_input, Input* base_input);
37 IssmDouble SedimentTransmitivity(Element* element,Gauss* gauss,Input* sed_head_input, Input* base_input,Input* SedTrans_input);
38 void GetHydrologyDCInefficientHmax(IssmDouble* ph_max,Element* element, Node* innode);
39 IssmDouble GetHydrologyKMatrixTransfer(Element* element);
40 IssmDouble GetHydrologyPVectorTransfer(Element* element, Gauss* gauss, Input* epl_head_input);
41 void ElementizeEplMask(FemModel* femmodel);
42};
43#endif
Note: See TracBrowser for help on using the repository browser.