1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53
|
/*----------------------------------------------------------------------
exx_vector.h
Some simple geometrical calculations.
Coded by M. Toyoda 07/JAN/2010
----------------------------------------------------------------------*/
#ifndef EXX_VECTOR_H_INCLUDED
#define EXX_VECTOR_H_INCLUDED
double EXX_Vector_Distance(const double v[3], const double w[3]);
void EXX_Vector_F2C(
double v_c[3], /* (OUT) v in cartesian coord */
const double v[3], /* (IN) a vector in fractional coord */
const double pvec[9] /* (IN) primitive translational vectors */
);
void EXX_Vector_C2F(
double v_f[3], /* (OUT) v in cartesian coord */
const double v[3], /* (IN) a vector in fractional coord */
const double pvec[9] /* (IN) primitive translational vectors */
);
void EXX_Vector_F2C_Offsite(
double v_c[3], /* (OUT) v in cartesian coord */
const double v[3], /* (IN) a vector in fractional coord */
const double pvec[9], /* (IN) primitive translational vectors */
int icell,
int nshell
);
void EXX_Vector_C2S(
const double v[3], /* (IN) a vector in cartesian */
double *r, /* (OUT) v in spherical coord */
double *theta,
double *phi
);
void EXX_Vector_PAO_Overlap(
double rc1, /* (IN) cutoff of PAO 1 */
double rc2, /* (IN) cutoff of PAO 2 */
double d, /* (IN) displacement */
double *pair_rc, /* (OUT) cutoff of overlap */
double *pair_cx /* (OUT) dividing ratio of center of overlap */
);
#endif /* EXX_VECTOR_H_INCLUDED */
|