Ice Sheet System Model  4.18
Code documentation
HydrologyDCEfficientAnalysis.h
Go to the documentation of this file.
1 
5 #ifndef _HydrologyDCEfficientAnalysis_
6 #define _HydrologyDCEfficientAnalysis_
7 
8 /*Headers*/
9 #include "./Analysis.h"
10 class Node;
11 class Input2;
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,Inputs2* inputs2,IoModel* iomodel,int analysis_counter,int analysis_type);
19  void CreateNodes(Nodes* nodes,IoModel* iomodel,bool isamr=false);
20  void CreateConstraints(Constraints* constraints,IoModel* iomodel);
21  void CreateLoads(Loads* loads, IoModel* iomodel);
24 
25  /*Finite element Analysis*/
26  void Core(FemModel* femmodel);
31  void GetB(IssmDouble* B,Element* element,IssmDouble* xyz_list,Gauss* gauss);
32  void GetSolutionFromInputs(Vector<IssmDouble>* solution,Element* element);
33  void GradientJ(Vector<IssmDouble>* gradient,Element* element,int control_type,int control_index);
34  void InputUpdateFromSolution(IssmDouble* solution,Element* element);
36 
37  /*Intermediaries*/
38  IssmDouble EplStoring(Element* element,Gauss* gauss, Input2* epl_thick_input, Input2* epl_head_input, Input2* base_input);
39  IssmDouble EplTransmitivity(Element* element,Gauss* gauss, Input2* epl_thick_input, Input2* epl_head_input, Input2* base_input);
40  void GetHydrologyDCInefficientHmax(IssmDouble* ph_max,Element* element, Node* innode);
42  IssmDouble GetHydrologyPVectorTransfer(Element* element, Gauss* gauss, Input2* sed_head_input);
44  void HydrologyEPLGetMask(Vector<IssmDouble>* vec_mask, Vector<IssmDouble>* recurence, Element* element);
45  void HydrologyEPLGetActive(Vector<IssmDouble>* active_vec, Element* element);
46 };
47 #endif
IssmDouble
double IssmDouble
Definition: types.h:37
Nodes
Declaration of Nodes class.
Definition: Nodes.h:19
HydrologyDCEfficientAnalysis::CreateLoads
void CreateLoads(Loads *loads, IoModel *iomodel)
Definition: HydrologyDCEfficientAnalysis.cpp:102
HydrologyDCEfficientAnalysis::GetHydrologyDCInefficientHmax
void GetHydrologyDCInefficientHmax(IssmDouble *ph_max, Element *element, Node *innode)
Definition: HydrologyDCEfficientAnalysis.cpp:534
HydrologyDCEfficientAnalysis::GetB
void GetB(IssmDouble *B, Element *element, IssmDouble *xyz_list, Gauss *gauss)
Definition: HydrologyDCEfficientAnalysis.cpp:408
Parameters
Declaration of Parameters class.
Definition: Parameters.h:18
Constraints
Declaration of Constraints class.
Definition: Constraints.h:13
Elements
Declaration of Elements class.
Definition: Elements.h:17
HydrologyDCEfficientAnalysis::UpdateElements
void UpdateElements(Elements *elements, Inputs2 *inputs2, IoModel *iomodel, int analysis_counter, int analysis_type)
Definition: HydrologyDCEfficientAnalysis.cpp:36
HydrologyDCEfficientAnalysis::GetHydrologyKMatrixTransfer
IssmDouble GetHydrologyKMatrixTransfer(Element *element)
Definition: HydrologyDCEfficientAnalysis.cpp:569
HydrologyDCEfficientAnalysis::Core
void Core(FemModel *femmodel)
Definition: HydrologyDCEfficientAnalysis.cpp:155
HydrologyDCEfficientAnalysis::HydrologyEPLGetActive
void HydrologyEPLGetActive(Vector< IssmDouble > *active_vec, Element *element)
Definition: HydrologyDCEfficientAnalysis.cpp:808
HydrologyDCEfficientAnalysis::GetSolutionFromInputs
void GetSolutionFromInputs(Vector< IssmDouble > *solution, Element *element)
Definition: HydrologyDCEfficientAnalysis.cpp:435
HydrologyDCEfficientAnalysis
Definition: HydrologyDCEfficientAnalysis.h:12
Element
Definition: Element.h:41
HydrologyDCEfficientAnalysis::HydrologyEPLGetMask
void HydrologyEPLGetMask(Vector< IssmDouble > *vec_mask, Vector< IssmDouble > *recurence, Element *element)
Definition: HydrologyDCEfficientAnalysis.cpp:714
HydrologyDCEfficientAnalysis::CreateJacobianMatrix
ElementMatrix * CreateJacobianMatrix(Element *element)
Definition: HydrologyDCEfficientAnalysis.cpp:162
Analysis.h
abstract class for Analysis objects
HydrologyDCEfficientAnalysis::InitZigZagCounter
void InitZigZagCounter(FemModel *femmodel)
Definition: HydrologyDCEfficientAnalysis.cpp:136
HydrologyDCEfficientAnalysis::UpdateParameters
void UpdateParameters(Parameters *parameters, IoModel *iomodel, int solution_enum, int analysis_enum)
Definition: HydrologyDCEfficientAnalysis.cpp:11
HydrologyDCEfficientAnalysis::CreateKMatrix
ElementMatrix * CreateKMatrix(Element *element)
Definition: HydrologyDCEfficientAnalysis.cpp:165
HydrologyDCEfficientAnalysis::ComputeEPLThickness
void ComputeEPLThickness(FemModel *femmodel)
Definition: HydrologyDCEfficientAnalysis.cpp:615
HydrologyDCEfficientAnalysis::CreateDVector
ElementVector * CreateDVector(Element *element)
Definition: HydrologyDCEfficientAnalysis.cpp:158
HydrologyDCEfficientAnalysis::CreatePVector
ElementVector * CreatePVector(Element *element)
Definition: HydrologyDCEfficientAnalysis.cpp:269
Inputs2
Declaration of Inputs class.
Definition: Inputs2.h:23
HydrologyDCEfficientAnalysis::EplStoring
IssmDouble EplStoring(Element *element, Gauss *gauss, Input2 *epl_thick_input, Input2 *epl_head_input, Input2 *base_input)
Definition: HydrologyDCEfficientAnalysis.cpp:489
Input2
Definition: Input2.h:18
FemModel
Definition: FemModel.h:31
Loads
Declaration of Loads class.
Definition: Loads.h:16
Node
Definition: Node.h:23
HydrologyDCEfficientAnalysis::GetHydrologyPVectorTransfer
IssmDouble GetHydrologyPVectorTransfer(Element *element, Gauss *gauss, Input2 *sed_head_input)
Definition: HydrologyDCEfficientAnalysis.cpp:590
HydrologyDCEfficientAnalysis::EplTransmitivity
IssmDouble EplTransmitivity(Element *element, Gauss *gauss, Input2 *epl_thick_input, Input2 *epl_head_input, Input2 *base_input)
Definition: HydrologyDCEfficientAnalysis.cpp:520
HydrologyDCEfficientAnalysis::ResetCounter
void ResetCounter(FemModel *femmodel)
Definition: HydrologyDCEfficientAnalysis.cpp:143
HydrologyDCEfficientAnalysis::GradientJ
void GradientJ(Vector< IssmDouble > *gradient, Element *element, int control_type, int control_index)
Definition: HydrologyDCEfficientAnalysis.cpp:438
HydrologyDCEfficientAnalysis::InputUpdateFromSolution
void InputUpdateFromSolution(IssmDouble *solution, Element *element)
Definition: HydrologyDCEfficientAnalysis.cpp:441
ElementVector
Definition: ElementVector.h:20
HydrologyDCEfficientAnalysis::CreateNodes
void CreateNodes(Nodes *nodes, IoModel *iomodel, bool isamr=false)
Definition: HydrologyDCEfficientAnalysis.cpp:70
IoModel
Definition: IoModel.h:48
HydrologyDCEfficientAnalysis::CreateConstraints
void CreateConstraints(Constraints *constraints, IoModel *iomodel)
Definition: HydrologyDCEfficientAnalysis.cpp:88
ElementMatrix
Definition: ElementMatrix.h:19
HydrologyDCEfficientAnalysis::DofsPerNode
int DofsPerNode(int **doflist, int domaintype, int approximation)
Definition: HydrologyDCEfficientAnalysis.cpp:8
Vector< IssmDouble >
Gauss
Definition: Gauss.h:8
HydrologyDCEfficientAnalysis::UpdateConstraints
void UpdateConstraints(FemModel *femmodel)
Definition: HydrologyDCEfficientAnalysis.cpp:483
Analysis
Definition: Analysis.h:30
femmodel
FemModel * femmodel
Definition: esmfbinders.cpp:16