10 #include <eigen3/Eigen/Dense>
42 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); }
constexpr double u[NPI]
Definition: facette.h:20
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:168
void set_phi(Node &n, double val)
Definition: node.h:165
step
Definition: node.h:27
double get_u_comp(Node const &n, index idx)
Definition: node.h:157
double get_phiv(Node const &n)
Definition: node.h:154
double sq(const double x)
Definition: node.h:42
Eigen::Vector3d get_u(Node const &n)
Definition: node.h:142
Eigen::Vector3d get_v(Node const &n)
Definition: node.h:146
double get_phi(Node const &n)
Definition: node.h:150
double get_v_comp(Node const &n, index idx)
Definition: node.h:161
double proj_ep(void) const
Definition: node.h:125
Eigen::Vector3d eq
Definition: node.h:64
const Eigen::Vector3d get_u(step k) const
Definition: node.h:131
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:116
const Eigen::Vector3d get_v(step k) const
Definition: node.h:135
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:52
Eigen::Vector3d v
Definition: node.h:51
double phiv
Definition: node.h:53
Eigen::Vector3d u
Definition: node.h:50