source: issm/trunk-jpl/src/c/analyses/FreeSurfaceBaseAnalysis.h@ 18055

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

NEW: added new method for gradient calculation

File size: 1.4 KB
Line 
1/*! \file FreeSurfaceBaseAnalysis.h
2 * \brief: header file for generic external result object
3 */
4
5#ifndef _FreeSurfaceBaseAnalysis_
6#define _FreeSurfaceBaseAnalysis_
7
8/*Headers*/
9#include "./Analysis.h"
10
11class FreeSurfaceBaseAnalysis: 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 ElementVector* CreatePVector(Element* element);
28 void GetB(IssmDouble* B,Element* element,int dim,IssmDouble* xyz_list,Gauss* gauss);
29 void GetBprime(IssmDouble* B,Element* element,int dim,IssmDouble* xyz_list,Gauss* gauss);
30 void GetSolutionFromInputs(Vector<IssmDouble>* solution,Element* element);
31 void GradientJ(Vector<IssmDouble>* gradient,int control_index);
32 void InputUpdateFromSolution(IssmDouble* solution,Element* element);
33 void UpdateConstraints(FemModel* femmodel);
34};
35#endif
Note: See TracBrowser for help on using the repository browser.