10 #include <eigen3/Eigen/Dense>
42 inline double sq(
const double x) {
return x * x; }
78 d[CURRENT].
u.cwiseAbs().minCoeff(&minIdx);
81 ep -=
ep.dot(
d[CURRENT].
u) *
d[CURRENT].
u;
85 eq =
d[CURRENT].
u.cross(
ep);
88 Eigen::Vector3d new_ep = cos(r) *
ep - sin(r) *
eq;
89 eq = sin(r) *
ep + cos(r) *
eq;
94 if (PARANOID_ORTHONORMALIZATION)
97 ep -=
ep.dot(
d[CURRENT].
u) *
d[CURRENT].
u;
99 eq -=
eq.dot(
d[CURRENT].
u) *
d[CURRENT].
u;
117 inline void make_evol(
const double vp ,
const double vq ,
120 d[NEXT].
v = vp *
ep + vq *
eq;
121 d[NEXT].
u =
d[CURRENT].
u + dt *
d[NEXT].
v;
122 d[NEXT].
u.normalize();
159 {
return n.
d[NEXT].
u(idx); }
163 {
return n.
d[NEXT].
v(idx); }
constexpr double u[NPI]
Definition: facette.h:46
const int NB_DATANODE
Definition: node.h:23
index
Definition: node.h:34
const int DIM
Definition: node.h:20
void set_phiv(Node &n, double val)
Definition: node.h:169
void set_phi(Node &n, double val)
Definition: node.h:166
step
Definition: node.h:27
double get_u_comp(Node const &n, index idx)
Definition: node.h:158
double get_phiv(Node const &n)
Definition: node.h:155
double sq(const double x)
Definition: node.h:42
Eigen::Vector3d get_u(Node const &n)
Definition: node.h:143
Eigen::Vector3d get_v(Node const &n)
Definition: node.h:147
double get_phi(Node const &n)
Definition: node.h:151
double get_v_comp(Node const &n, index idx)
Definition: node.h:162
double proj_ep(void) const
Definition: node.h:126
Eigen::Vector3d eq
Definition: node.h:65
const Eigen::Vector3d get_u(step k) const
Definition: node.h:132
Eigen::Vector3d ep
Definition: node.h:63
Eigen::Vector3d p
Definition: node.h:62
void make_evol(const double vp, const double vq, const double dt)
Definition: node.h:117
const Eigen::Vector3d get_v(step k) const
Definition: node.h:136
void evolution(void)
Definition: node.h:108
void setBasis(const double r)
Definition: node.h:74
double proj_eq(void) const
Definition: node.h:129
dataNode d[NB_DATANODE]
Definition: node.h:71
double phi
Definition: node.h:52
Eigen::Vector3d v
Definition: node.h:51
double phiv
Definition: node.h:53
Eigen::Vector3d u
Definition: node.h:50