50 typename std::deque<PARTICLETYPE<T> >::iterator p,
int pInt,
54 T m_p = p->getMagnetisation();
55 T mu_0 = 4 * 3.14159265e-7;
58 T pos[3] = { T(), T(), T() };
59 pos[0] = p->getPos()[0];
60 pos[1] = p->getPos()[1];
61 pos[2] = p->getPos()[2];
63 T forceHelp[3] = { T(), T(), T() };
64 _getMagForce(forceHelp, pos);
65 T fieldHelp[3] = { T(), T(), T() };
66 _getMagField(fieldHelp, pos);
75 p->getTorque()[0] += trq[0];
76 p->getTorque()[1] += trq[1];
77 p->getTorque()[2] += trq[2];
78 p->getForce()[0] += forceHelp[0] * _scale;
79 p->getForce()[1] += forceHelp[1] * _scale;
80 p->getForce()[2] += forceHelp[2] * _scale;
constexpr Vector< T, 3 > crossProduct3D(const ScalarVector< T, 3, IMPL > &a, const ScalarVector< T, 3, IMPL_ > &b) any_platform