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
55
valib_sym_antisym3
(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
include
qcriterion_common.h
Generated by
1.8.17