199 double maximumForce = 3;
202 double forceRange = 3;
204 double adStiffness = maximumForce / forceRange;
206 double stiffness = 1600 * adStiffness;
209 double bondStrength = 333.0;
225 species1->setStiffness(stiffness);
226 species1->setSlidingFrictionCoefficient(1);
227 species1->setSlidingStiffness(2.0/7.0*stiffness);
228 species1->setRollingFrictionCoefficient(1);
229 species1->setRollingStiffness(2.0/5.0*stiffness);
233 species1->setAdhesionForceMax(maximumForce);
234 species1->setAdhesionStiffness(adStiffness);
237 species1->setCharge(1);
241 species1->setBondForceMax(bondStrength);
244 species1->setBondDissipation(0.2);
249 species2->setStiffness(stiffness);
250 species2->setSlidingFrictionCoefficient(1);
251 species2->setSlidingStiffness(2.0/7.0*stiffness);
252 species2->setRollingFrictionCoefficient(1);
253 species2->setRollingStiffness(2.0/5.0*stiffness);
257 species2->setAdhesionForceMax(maximumForce);
258 species2->setAdhesionStiffness(adStiffness);
261 species2->setCharge(-1);
265 species2->setBondForceMax(bondStrength);
268 species2->setBondDissipation(0.2);
276 species1_2->
mixAll(species1,species2);
277 species1_2->setSlidingFrictionCoefficient(1);
278 species1_2->setSlidingStiffness(2.0/7.0*stiffness);
279 species1_2->setRollingFrictionCoefficient(1);
280 species1_2->setRollingStiffness(2.0/5.0*stiffness);
286 speciesW->setStiffness(stiffness);
287 speciesW->setSlidingFrictionCoefficient(1);
288 speciesW->setSlidingStiffness(2.0/7.0*stiffness);
289 speciesW->setRollingFrictionCoefficient(1);
290 speciesW->setRollingStiffness(2.0/5.0*stiffness);
294 speciesW->setAdhesionForceMax(maximumForce);
295 speciesW->setAdhesionStiffness(adStiffness);
300 speciesW->setCharge(0);
305 speciesW->setBondForceMax(0);
308 speciesW->setBondDissipation(0.2);
315 speciesW_1->
mixAll(speciesW,species1);
316 speciesW_1->setSlidingFrictionCoefficient(1);
317 speciesW_1->setSlidingStiffness(2.0/7.0*stiffness);
318 speciesW_1->setRollingFrictionCoefficient(1);
319 speciesW_1->setRollingStiffness(2.0/5.0*stiffness);
324 speciesW_2->
mixAll(speciesW,species2);
325 speciesW_2->setSlidingFrictionCoefficient(1);
326 speciesW_2->setSlidingStiffness(2.0/7.0*stiffness);
327 speciesW_2->setRollingFrictionCoefficient(1);
328 speciesW_2->setRollingStiffness(2.0/5.0*stiffness);
332 chargedParticleForceUnitTestProblem.
setName(
"ClayParticles");
334 double radius = 0.25;
335 double mass = species1->getMassFromRadius(radius);
336 double tc = species1->getCollisionTime(mass);
337 chargedParticleForceUnitTestProblem.
setTimeStep(0.02*tc);
342 chargedParticleForceUnitTestProblem.
setTimeMax(30.);
346 chargedParticleForceUnitTestProblem.
solve(argc,argv);
348 std::vector<BaseParticle*>::iterator pIt = chargedParticleForceUnitTestProblem.
particleHandler.
begin();
Species< LinearViscoelasticNormalSpecies, FrictionSpecies, ChargedBondedSpecies > LinearViscoelasticFrictionChargedBondedSpecies
Definition: LinearViscoelasticFrictionChargedBondedSpecies.h:35
const std::vector< T * >::const_iterator begin() const
Gets the begin of the const_iterator over all Object in this BaseHandler.
Definition: BaseHandler.h:690
std::enable_if<!std::is_pointer< U >::value, U * >::type copyAndAddObject(const U &object)
Creates a copy of a Object and adds it to the BaseHandler.
Definition: BaseHandler.h:379
In this file, the rolling behaviour of the tangential spring is tested. This is done by placing one n...
Definition: ClayParticles.cpp:35
SpeciesHandler speciesHandler
A handler to that stores the species type i.e. LinearViscoelasticSpecies, etc.
Definition: DPMBase.h:1427
void setName(const std::string &name)
Allows to set the name of all the files (ene, data, fstat, restart, stat)
Definition: DPMBase.cc:422
void setXBallsAdditionalArguments(std::string newXBArgs)
Set the additional arguments for xballs.
Definition: DPMBase.cc:1347
ParticleHandler particleHandler
An object of the class ParticleHandler, contains the pointers to all the particles created.
Definition: DPMBase.h:1437
void setTimeStep(Mdouble newDt)
Sets a new value for the simulation time step.
Definition: DPMBase.cc:1234
void setTimeMax(Mdouble newTMax)
Sets a new value for the maximum simulation duration.
Definition: DPMBase.cc:873
void solve()
The work horse of the code.
Definition: DPMBase.cc:4270
void setGravity(Vec3D newGravity)
Sets a new value for the gravitational acceleration.
Definition: DPMBase.cc:1383
Contains contact force properties for contacts between particles with two different species.
Definition: MixedSpecies.h:43
void mixAll(BaseSpecies *const S, BaseSpecies *const T) final
sets the MixedSpecies properties by mixing the properties of two particle species
Definition: MixedSpecies.h:290
std::enable_if<!std::is_pointer< typename U::MixedSpeciesType >::value, typename U::MixedSpeciesType * >::type getMixedObject(const U *S, const U *T)
Definition: SpeciesHandler.h:74
const Mdouble pi
Definition: ExtendedMath.h:45