00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013 #ifndef SURFACEPROP_H
00014 #define SURFACEPROP_H
00015
00016 #include "definitions.h"
00017
00018 #ifdef __cplusplus
00019 namespace shells {
00020 #define DECLARE_EXTERN extern "C"
00021 #else
00022 #define DECLARE_EXTERN extern
00023 #endif
00024
00025 typedef struct SurfacePropS {
00026 double akov[3][3];
00027 double akov2[3][3];
00028 double akon[3][3];
00029 double amkov[3][3];
00030 double amkon[3][3];
00031 double det;
00032 double a3d[2][3];
00033 } SurfaceProp;
00034
00035
00036 struct ShapeFunctionS;
00037
00038 DECLARE_EXTERN void svmtr (double x[3][MAXVAL],
00039 SurfaceProp *a,
00040 struct ShapeFunctionS *shap,
00041 int nst);
00042
00043 DECLARE_EXTERN void sa3der (double a3d[2][3],
00044 double akovr[3][3],
00045 double akovr2[3][3]);
00046
00047 DECLARE_EXTERN void svmtrshellspace3 (SurfaceProp *a,
00048 SurfaceProp *g,
00049 double thet3,
00050 double stretch);
00051
00052 DECLARE_EXTERN void sakovariant (double x[3][MAXVAL],
00053 struct ShapeFunctionS *shap,
00054 int nst,
00055 double akov[3][3],
00056 double *det);
00057
00058 DECLARE_EXTERN double detrddetlin (double akovc[3][3],
00059 double a3dc[2][3],
00060 double stretch,
00061 double thet3);
00062
00063 #ifdef __cplusplus
00064 }
00065 #endif
00066 #undef DECLARE_EXTERN
00067
00068 #endif
00069