9 #include <eigen3/Eigen/Dense>
41 inline double sq(
const double x) {
return x * x; }
77 d[CURRENT].
u.cwiseAbs().minCoeff(&minIdx);
80 ep -=
ep.dot(
d[CURRENT].
u) *
d[CURRENT].
u;
84 eq =
d[CURRENT].
u.cross(
ep);
87 Eigen::Vector3d new_ep = cos(r) *
ep - sin(r) *
eq;
88 eq = sin(r) *
ep + cos(r) *
eq;
93 if (PARANOID_ORTHONORMALIZATION)
96 ep -=
ep.dot(
d[CURRENT].
u) *
d[CURRENT].
u;
98 eq -=
eq.dot(
d[CURRENT].
u) *
d[CURRENT].
u;
116 inline void make_evol(
const double vp ,
const double vq ,
119 d[NEXT].
v = vp *
ep + vq *
eq;
120 d[NEXT].
u =
d[CURRENT].
u + dt *
d[NEXT].
v;
121 d[NEXT].
u.normalize();
158 {
return n.
d[NEXT].
u(idx); }
162 {
return n.
d[NEXT].
v(idx); }
const int NB_DATANODE
Definition: node.h:22
void set_phi(Node &n, const double val)
Definition: node.h:165
void set_phiv(Node &n, const double val)
Definition: node.h:168
index
Definition: node.h:33
double get_u_comp(const Node &n, const index idx)
Definition: node.h:157
Eigen::Vector3d get_u(const Node &n)
Definition: node.h:142
double get_phiv(const Node &n)
Definition: node.h:154
double get_v_comp(const Node &n, const index idx)
Definition: node.h:161
const int DIM
Definition: node.h:19
step
Definition: node.h:26
Eigen::Vector3d get_v(const Node &n)
Definition: node.h:146
double sq(const double x)
Definition: node.h:41
double get_phi(const Node &n)
Definition: node.h:150
constexpr double u[NPI]
Definition: tetra.h:57
double proj_ep(void) const
Definition: node.h:125
Eigen::Vector3d eq
Definition: node.h:64
const Eigen::Vector3d get_u(const step k) const
Definition: node.h:131
const Eigen::Vector3d get_v(const step k) const
Definition: node.h:135
Eigen::Vector3d ep
Definition: node.h:62
Eigen::Vector3d p
Definition: node.h:61
void make_evol(const double vp, const double vq, const double dt)
Definition: node.h:116
void evolution(void)
Definition: node.h:107
void setBasis(const double r)
Definition: node.h:73
double proj_eq(void) const
Definition: node.h:128
dataNode d[NB_DATANODE]
Definition: node.h:70
double phi
Definition: node.h:51
Eigen::Vector3d v
Definition: node.h:50
double phiv
Definition: node.h:52
Eigen::Vector3d u
Definition: node.h:49