#include <cmath>
#include "v_vector.h"
#include "VerdictVector.hpp"
Go to the source code of this file.
|
#define | VERDICT_MIN(a, b) ( ( a ) < ( b ) ? ( a ) : ( b ) ) |
|
#define | VERDICT_MAX(a, b) ( ( a ) > ( b ) ? ( a ) : ( b ) ) |
|
#define | jacobian_matrix(a, b, c, d, e, f, g) |
|
#define | form_t(m11, m21, m12, m22, mw11, mw21, mw12, mw22, detmw, xm11, xm21, xm12, xm22) |
|
#define | metric_matrix(m11, m21, m12, m22, gm11, gm12, gm22) |
|
|
double | determinant (double a, double b, double c, double d) |
|
double | determinant (const VerdictVector &v1, const VerdictVector &v2, const VerdictVector &v3) |
|
double | normalize_jacobian (double jacobi, VerdictVector &v1, VerdictVector &v2, VerdictVector &v3, int tet_flag=0) |
|
double | norm_squared (double m11, double m21, double m12, double m22) |
|
int | skew_matrix (double gm11, double gm12, double gm22, double det, double &qm11, double &qm21, double &qm12, double &qm22) |
|
void | inverse (const VerdictVector &x1, const VerdictVector &x2, const VerdictVector &x3, VerdictVector &u1, VerdictVector &u2, VerdictVector &u3) |
|
void | form_Q (const VerdictVector &v1, const VerdictVector &v2, const VerdictVector &v3, VerdictVector &q1, VerdictVector &q2, VerdictVector &q3) |
|
void | product (VerdictVector &a1, VerdictVector &a2, VerdictVector &a3, VerdictVector &b1, VerdictVector &b2, VerdictVector &b3, VerdictVector &c1, VerdictVector &c2, VerdictVector &c3) |
|
double | norm_squared (VerdictVector &x1, VerdictVector &x2, VerdictVector &x3) |
|
double | skew_x (VerdictVector &q1, VerdictVector &q2, VerdictVector &q3, VerdictVector &qw1, VerdictVector &qw2, VerdictVector &qw3) |
|
◆ form_t
#define form_t |
( |
|
m11, |
|
|
|
m21, |
|
|
|
m12, |
|
|
|
m22, |
|
|
|
mw11, |
|
|
|
mw21, |
|
|
|
mw12, |
|
|
|
mw22, |
|
|
|
detmw, |
|
|
|
xm11, |
|
|
|
xm21, |
|
|
|
xm12, |
|
|
|
xm22 |
|
) |
| |
Value: xm11 = ( ( m11 ) * ( mw22 ) - ( m12 ) * ( mw21 ) ) / ( detmw ); \
( xm21 ) = ( ( m21 ) * ( mw22 ) - ( m22 ) * ( mw21 ) ) / ( detmw ); \
( xm12 ) = ( ( m12 ) * ( mw11 ) - ( m11 ) * ( mw12 ) ) / ( detmw ); \
( xm22 ) = ( ( m22 ) * ( mw11 ) - ( m21 ) * ( mw12 ) ) / ( detmw );
Definition at line 67 of file verdict_defines.hpp.
◆ jacobian_matrix
#define jacobian_matrix |
( |
|
a, |
|
|
|
b, |
|
|
|
c, |
|
|
|
d, |
|
|
|
e, |
|
|
|
f, |
|
|
|
g |
|
) |
| |
Value: double jac_mat_tmp; \
jac_mat_tmp = sqrt( a ); \
if( jac_mat_tmp == 0 ) \
{ \
( d ) = 0; \
( e ) = 0; \
( f ) = 0; \
( g ) = 0; \
} \
else \
{ \
( d ) = jac_mat_tmp; \
( e ) = 0; \
( f ) = ( b ) / jac_mat_tmp; \
( g ) = ( c ) / jac_mat_tmp; \
}
Definition at line 48 of file verdict_defines.hpp.
◆ metric_matrix
#define metric_matrix |
( |
|
m11, |
|
|
|
m21, |
|
|
|
m12, |
|
|
|
m22, |
|
|
|
gm11, |
|
|
|
gm12, |
|
|
|
gm22 |
|
) |
| |
Value: gm11 = ( m11 ) * ( m11 ) + ( m21 ) * ( m21 ); \
( gm12 ) = ( m11 ) * ( m12 ) + ( m21 ) * ( m22 ); \
( gm22 ) = ( m12 ) * ( m12 ) + ( m22 ) * ( m22 );
Definition at line 116 of file verdict_defines.hpp.
◆ VERDICT_MAX
#define VERDICT_MAX |
( |
|
a, |
|
|
|
b |
|
) |
| ( ( a ) > ( b ) ? ( a ) : ( b ) ) |
◆ VERDICT_MIN
#define VERDICT_MIN |
( |
|
a, |
|
|
|
b |
|
) |
| ( ( a ) < ( b ) ? ( a ) : ( b ) ) |
◆ VerdictBoolean
◆ determinant() [1/2]
◆ determinant() [2/2]
double determinant |
( |
double |
a, |
|
|
double |
b, |
|
|
double |
c, |
|
|
double |
d |
|
) |
| |
|
inline |
◆ form_Q()
Definition at line 210 of file verdict_defines.hpp.
218 double g11, g12, g13, g22, g23, g33;
227 double rtg11 = sqrt( g11 );
228 double rtg22 = sqrt( g22 );
229 double rtg33 = sqrt( g33 );
234 double cross = sqrt( temp1 % temp1 );
236 double q11, q21, q31;
237 double q12, q22, q32;
238 double q13, q23, q33;
244 q12 = g12 / rtg11 / rtg22;
245 q22 =
cross / rtg11 / rtg22;
248 q13 = g13 / rtg11 / rtg33;
249 q23 = ( g11 * g23 - g12 * g13 ) / rtg11 / rtg33 /
cross;
251 q33 = ( v1 % temp1 ) / rtg33 /
cross;
253 q1.
set( q11, q21, q31 );
254 q2.
set( q12, q22, q32 );
255 q3.
set( q13, q23, q33 );
References moab::cross(), and VerdictVector::set().
◆ inverse()
Definition at line 143 of file verdict_defines.hpp.
153 rx1.
set( x1.
x(), x2.
x(), x3.
x() );
154 rx2.
set( x1.
y(), x2.
y(), x3.
y() );
155 rx3.
set( x1.
z(), x2.
z(), x3.
z() );
References determinant(), VerdictVector::set(), VerdictVector::x(), VerdictVector::y(), and VerdictVector::z().
Referenced by skew_x(), and test_spectral_hex().
◆ norm_squared() [1/2]
double norm_squared |
( |
double |
m11, |
|
|
double |
m21, |
|
|
double |
m12, |
|
|
double |
m22 |
|
) |
| |
|
inline |
◆ norm_squared() [2/2]
◆ normalize_jacobian()
Definition at line 75 of file verdict_defines.hpp.
81 double return_value = 0.0;
86 double l1, l2, l3, length_product;
94 length_product = sqrt( l1 * l2 * l3 );
98 if( length_product < fabs( jacobi ) )
100 length_product = fabs( jacobi );
106 return_value = jacobi / length_product;
References VerdictVector::length_squared(), and verdictSqrt2.
◆ product()
Definition at line 258 of file verdict_defines.hpp.
271 x1.
set( a1.
x(), a2.
x(), a3.
x() );
272 x2.
set( a1.
y(), a2.
y(), a3.
y() );
273 x3.
set( a1.
z(), a2.
z(), a3.
z() );
275 c1.
set( x1 % b1, x2 % b1, x3 % b1 );
276 c2.
set( x1 % b2, x2 % b2, x3 % b2 );
277 c3.
set( x1 % b3, x2 % b3, x3 % b3 );
References VerdictVector::set(), VerdictVector::x(), VerdictVector::y(), and VerdictVector::z().
Referenced by skew_x().
◆ skew_matrix()
int skew_matrix |
( |
double |
gm11, |
|
|
double |
gm12, |
|
|
double |
gm22, |
|
|
double |
det, |
|
|
double & |
qm11, |
|
|
double & |
qm21, |
|
|
double & |
qm12, |
|
|
double & |
qm22 |
|
) |
| |
|
inline |
◆ skew_x()
Definition at line 286 of file verdict_defines.hpp.
293 double normsq1, normsq2, kappa;
297 inverse( qw1, qw2, qw3, u1, u2, u3 );
298 product( q1, q2, q3, u1, u2, u3, x1, x2, x3 );
299 inverse( x1, x2, x3, u1, u2, u3 );
302 kappa = sqrt( normsq1 * normsq2 );
References inverse(), norm_squared(), product(), and VERDICT_DBL_MIN.
◆ verdictSqrt2