source: issm/trunk-jpl/src/c/objects/Elements/TriaRef.h@ 12471

Last change on this file since 12471 was 12471, checked in by utke, 13 years ago

type renames

File size: 2.1 KB
Line 
1/*!\file: TriaRef.h
2 * \brief abstract class for handling Tria oriented routines, like nodal functions,
3 * strain rate generation, etc ...
4 */
5
6
7#ifndef _TRIAREF_H_
8#define _TRIAREF_H_
9
10class GaussTria;
11
12class TriaRef{
13
14
15 public:
16 int* element_type_list; //P1CG, P1DG, MINI, P2...
17 int element_type;
18
19 TriaRef();
20 TriaRef(const int nummodels);
21 ~TriaRef();
22
23 /*Management*/
24 void SetElementType(int type,int type_counter);
25
26 /*Numerics*/
27 void GetBMacAyeal(IssmDouble* B, IssmDouble* xyz_list, GaussTria* gauss);
28 void GetBMacAyealStokes(IssmDouble* B , IssmDouble* xyz_list, GaussTria* gauss);
29 void GetBprimeMacAyeal(IssmDouble* Bprime, IssmDouble* xyz_list, GaussTria* gauss);
30 void GetBprimeMacAyealStokes(IssmDouble* Bprime, IssmDouble* xyz_list, GaussTria* gauss);
31 void GetBprimePrognostic(IssmDouble* Bprime_prog, IssmDouble* xyz_list, GaussTria* gauss);
32 void GetBPrognostic(IssmDouble* B_prog, IssmDouble* xyz_list, GaussTria* gauss);
33 void GetL(IssmDouble* L, IssmDouble* xyz_list,GaussTria* gauss,int numdof);
34 void GetJacobian(IssmDouble* J, IssmDouble* xyz_list,GaussTria* gauss);
35 void GetSegmentJacobianDeterminant(IssmDouble* Jdet, IssmDouble* xyz_list,GaussTria* gauss);
36 void GetJacobianDeterminant2d(IssmDouble* Jdet, IssmDouble* xyz_list,GaussTria* gauss);
37 void GetJacobianDeterminant3d(IssmDouble* Jdet, IssmDouble* xyz_list,GaussTria* gauss);
38 void GetJacobianInvert(IssmDouble* Jinv, IssmDouble* xyz_list,GaussTria* gauss);
39 void GetNodalFunctions(IssmDouble* l1l2l3,GaussTria* gauss);
40 void GetSegmentNodalFunctions(IssmDouble* l1l2l3,GaussTria* gauss, int index1,int index2);
41 void GetSegmentBFlux(IssmDouble* B,GaussTria* gauss, int index1,int index2);
42 void GetSegmentBprimeFlux(IssmDouble* Bprime,GaussTria* gauss, int index1,int index2);
43 void GetNodalFunctionsDerivatives(IssmDouble* l1l2l3,IssmDouble* xyz_list, GaussTria* gauss);
44 void GetNodalFunctionsDerivativesReference(IssmDouble* dl1dl3,GaussTria* gauss);
45 void GetInputValue(IssmDouble* pp, IssmDouble* plist, GaussTria* gauss);
46 void GetInputDerivativeValue(IssmDouble* pp, IssmDouble* plist,IssmDouble* xyz_list, GaussTria* gauss);
47
48};
49#endif
Note: See TracBrowser for help on using the repository browser.