valib
Vortex Analysis LIBrary
qcriterion_common.h
1 
5 #ifndef VA_QCRITERION_COMMON_H
6 #define VA_QCRITERION_COMMON_H
7 
8 #include "common_defs.h"
9 #include "linalg3.h"
10 
11 /***************************************************************************/
16 /***************************************************************************/
50 inline VA_DEVICE_FUN void valib_qcriterion_blending(VA_REAL *SO,
51  VA_REAL blending_ratio,
52  VA_REAL *qcriterion_blended)
53 {
54  // prepare symmetric and antisymmetric parts of SO
56 
57  // evaluate Q = 1/2 (||Omega||_F^2 - ||S||_F^2)
58  *qcriterion_blended = 0.5
59  * (2.0*( SO[1]*SO[1] // )
60  +SO[2]*SO[2] // } Omega^2
61  +SO[5]*SO[5]) // )
62  - blending_ratio *
63  ( SO[0]*SO[0] // )
64  +SO[4]*SO[4] // } diagonal of S^2
65  +SO[8]*SO[8] // )
66  +2.0*( SO[3]*SO[3] // )
67  + SO[6]*SO[6] // } off-diagonal of S^2
68  + SO[7]*SO[7])));// )
69 }
70 
71 /***************************************************************************/
75 #endif // VA_QCRITERION_COMMON_H
valib_qcriterion_blending
VA_DEVICE_FUN void valib_qcriterion_blending(VA_REAL *SO, VA_REAL blending_ratio, VA_REAL *qcriterion_blended)
Definition: qcriterion_common.h:50
valib_sym_antisym3
VA_DEVICE_FUN void valib_sym_antisym3(VA_REAL *A)
Definition: linalg3.h:320