53 T rad,
int id, T masAdd)
54 :
Particle3D<T>::
Particle3D(pos, vel, mas, rad), _dMoment(3, T()), _aVel(3, T()), _torque(3, T()), _magnetisation(T())
59 std::vector<T> dMoment, std::vector<T> aVel, std::vector<T> torque, T magnetisation)
61 _dMoment(dMoment), _aVel(aVel), _torque(torque), _magnetisation(magnetisation)
66 std::vector<T> dMoment, std::vector<T> aVel, std::vector<T> torque, T magnetisation,
int sActivity)
68 _dMoment(dMoment), _aVel(aVel), _torque(torque), _magnetisation(magnetisation), _sActivity(sActivity)
179 for (
int i = 0; i < 3; i++) {
180 serial[i] = this->_pos[i];
181 serial[i + 3] = this->_vel[i];
182 serial[i + 6] = this->_force[i];
184 serial[9] = this->_mas;
185 serial[10] = this->_rad;
186 serial[11] = (double) this->_cuboid;
187 serial[12] = (double) this->_active;
188 serial[13] = (double) this->_id;
189 for (
int i = 0; i < 3; i++) {
190 serial[i + 14] = this->_storeForce[i];
191 serial[i + 17] = _dMoment[i];
192 serial[i + 20] = _aVel[i];
193 serial[i + 23] = _torque[i];
195 serial[26] = _magnetisation;
196 serial[27] = (double) _sActivity;
202 for (
int i = 0; i < 3; i++) {
203 this->_pos[i] = data[i];
204 this->_vel[i] = data[i + 3];
205 this->_force[i] = data[i + 6];
207 this->_mas = data[9];
208 this->_rad = data[10];
209 this->_cuboid = (int) data[11];
210 this->_active = (bool) data[12];
211 this->_id = (int) data[13];
212 for (
int i = 0; i < 3; i++) {
213 this->_storeForce[i] = data[i + 14];
214 _dMoment[i] = data[i + 17];
215 _aVel[i] = data[i + 20];
216 _torque[i] = data[i + 23];
218 _magnetisation = data[26];
219 _sActivity = (int) data[27];
282 _pSys->resetMag(sActivityOfParticle);
283 _pSys->computeForce(sActivityOfParticle);
284 _pSys->explicitEuler(dT, sActivityOfParticle, scale);
285 _pSys->integrateTorqueMag(dT, sActivityOfParticle);
287#ifdef CollisionModels
288 _pSys->partialElasticImpact(0.67);
291#ifdef CollisionModelsCombindedWithMechContactForce
292 _pSys->partialElasticImpactForCombinationWithMechContactForce(0.67);
std::vector< T > & getTorque()
void setSActivity(int sActivity)
void setTorque(std::vector< T > torque)
std::deque< std::list< MagneticParticle3D< T > * > >::iterator & getAggloItr()
void setMagnetisation(T magnetisation)
std::vector< T > & getAVel()
std::vector< T > & getMoment()
void setAggloItr(typename std::deque< std::list< MagneticParticle3D< T > * > >::iterator aggloItr)
void setMoment(std::vector< T > moment)
void serialize(T serial[])
void setAVel(std::vector< T > aVel)
void simulateWithTwoWayCoupling_Mathias(T dT, ForwardCouplingModel< T, PARTICLETYPE > &forwardCoupling, BackCouplingModel< T, PARTICLETYPE > &backCoupling, int material, int subSteps=1, bool scale=false)
SimulateParticles(ParticleSystem3D< T, PARTICLETYPE > *ps)
void simulateWithTwoWayCoupling_Davide(T dT, ForwardCouplingModel< T, PARTICLETYPE > &forwardCoupling, BackCouplingModel< T, PARTICLETYPE > &backCoupling, int material, int subSteps=1, bool scale=false)
void simulate(T dT, bool scale=false)