source: issm/trunk/src/c/analyses/AdjointHorizAnalysis.h@ 18301

Last change on this file since 18301 was 18301, checked in by Mathieu Morlighem, 11 years ago

merged trunk-jpl and trunk for revision 18299

File size: 2.5 KB
Line 
1/*! \file AdjointHorizAnalysis.h
2 * \brief: header file for generic external result object
3 */
4
5#ifndef _AdjointHorizAnalysis_
6#define _AdjointHorizAnalysis_
7
8/*Headers*/
9#include "./Analysis.h"
10
11class AdjointHorizAnalysis: public Analysis{
12
13 public:
14 /*Model processing*/
15 int DofsPerNode(int** doflist,int domaintype,int approximation);
16 void UpdateParameters(Parameters* parameters,IoModel* iomodel,int solution_enum,int analysis_enum);
17 void UpdateElements(Elements* elements,IoModel* iomodel,int analysis_counter,int analysis_type);
18 void CreateNodes(Nodes* nodes,IoModel* iomodel);
19 void CreateConstraints(Constraints* constraints,IoModel* iomodel);
20 void CreateLoads(Loads* loads, IoModel* iomodel);
21
22 /*Finite element Analysis*/
23 void Core(FemModel* femmodel);
24 ElementVector* CreateDVector(Element* element);
25 ElementMatrix* CreateJacobianMatrix(Element* element);
26 ElementMatrix* CreateKMatrix(Element* element);
27 ElementMatrix* CreateKMatrixSSA(Element* element);
28 ElementMatrix* CreateKMatrixHO(Element* element);
29 ElementMatrix* CreateKMatrixFS(Element* element);
30 ElementVector* CreatePVector(Element* element);
31 ElementVector* CreatePVectorSSA(Element* element);
32 ElementVector* CreatePVectorHO(Element* element);
33 ElementVector* CreatePVectorFS(Element* element);
34 void GetSolutionFromInputs(Vector<IssmDouble>* solution,Element* element);
35 void GradientJ(Vector<IssmDouble>* gradient,Element* element,int control_type,int control_index);
36 void GradientJDragGradient(Element* element,Vector<IssmDouble>* gradient,int control_index);
37 void GradientJBGradient(Element* element,Vector<IssmDouble>* gradient,int control_index);
38 void GradientJDragSSA(Element* element,Vector<IssmDouble>* gradient,int control_index);
39 void GradientJDragHO(Element* element,Vector<IssmDouble>* gradient,int control_index);
40 void GradientJDragFS(Element* element,Vector<IssmDouble>* gradient,int control_index);
41 void GradientJBbarSSA(Element* element,Vector<IssmDouble>* gradient,int control_index);
42 void GradientJBbarHO(Element* element,Vector<IssmDouble>* gradient,int control_index);
43 void GradientJBbarFS(Element* element,Vector<IssmDouble>* gradient,int control_index);
44 void GradientJDSSA(Element* element,Vector<IssmDouble>* gradient,int control_index);
45 void InputUpdateFromSolution(IssmDouble* solution,Element* element);
46 void UpdateConstraints(FemModel* femmodel);
47 void InputUpdateFromSolutionHoriz(IssmDouble* solution,Element* element);
48 void InputUpdateFromSolutionFS(IssmDouble* solution,Element* element);
49};
50#endif
Note: See TracBrowser for help on using the repository browser.