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 |
|
---|
10 | class GaussTria;
|
---|
11 |
|
---|
12 | class 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(double* B, double* xyz_list, GaussTria* gauss);
|
---|
28 | void GetBMacAyealStokes(double* B , double* xyz_list, GaussTria* gauss);
|
---|
29 | void GetBprimeMacAyeal(double* Bprime, double* xyz_list, GaussTria* gauss);
|
---|
30 | void GetBprimeMacAyealStokes(double* Bprime, double* xyz_list, GaussTria* gauss);
|
---|
31 | void GetBprimePrognostic(double* Bprime_prog, double* xyz_list, GaussTria* gauss);
|
---|
32 | void GetBPrognostic(double* B_prog, double* xyz_list, GaussTria* gauss);
|
---|
33 | void GetL(double* L, double* xyz_list,GaussTria* gauss,int numdof);
|
---|
34 | void GetJacobian(double* J, double* xyz_list,GaussTria* gauss);
|
---|
35 | void GetSegmentJacobianDeterminant(double* Jdet, double* xyz_list,GaussTria* gauss);
|
---|
36 | void GetJacobianDeterminant2d(double* Jdet, double* xyz_list,GaussTria* gauss);
|
---|
37 | void GetJacobianDeterminant3d(double* Jdet, double* xyz_list,GaussTria* gauss);
|
---|
38 | void GetJacobianInvert(double* Jinv, double* xyz_list,GaussTria* gauss);
|
---|
39 | void GetNodalFunctions(double* l1l2l3,GaussTria* gauss);
|
---|
40 | void GetSegmentNodalFunctions(double* l1l2l3,GaussTria* gauss, int index1,int index2);
|
---|
41 | void GetSegmentBFlux(double* B,GaussTria* gauss, int index1,int index2);
|
---|
42 | void GetSegmentBprimeFlux(double* Bprime,GaussTria* gauss, int index1,int index2);
|
---|
43 | void GetNodalFunctionsDerivatives(double* l1l2l3,double* xyz_list, GaussTria* gauss);
|
---|
44 | void GetNodalFunctionsDerivativesReference(double* dl1dl3,GaussTria* gauss);
|
---|
45 | void GetInputValue(double* pp, double* plist, GaussTria* gauss);
|
---|
46 | void GetInputDerivativeValue(double* pp, double* plist,double* xyz_list, GaussTria* gauss);
|
---|
47 |
|
---|
48 | };
|
---|
49 | #endif
|
---|