37 const double rRelativeDistance,
const double rAbsoluteDistance,
38 const int rSeed,
const Eigen::MatrixXd& rSpheresBoundary)
const;
42 Eigen::MatrixXd
PerformTakePhase(
const Eigen::MatrixXd& rGradingCurve,
const Eigen::MatrixXd& rSpheresBoundary,
43 const double rRelParticleVolume)
const;
47 void PerformPlacePhase(Eigen::MatrixXd& rParticles,
const double rRelativeDistance,
48 const double rAbsoluteDistance)
const;
52 void InsertParticleIntoBox(
const Eigen::MatrixXd& rParticles,
const int rTheParticle,
53 std::vector<std::vector<int>>& rSubBox,
const Eigen::Vector3i& rNSubBox,
54 const Eigen::Vector3d& rLSubBox)
const;
56 void CheckGradingCurve(
const Eigen::MatrixXd& rGradingCurve)
const;
59 bool CollidesWithBoundary(
const Eigen::Vector4d& rParticle,
const double rRelativeDistance,
60 const double rAbsoluteDistance)
const;
63 const std::vector<double> GetSizeClasses(
const Eigen::MatrixXd& rParticles)
const;
65 const std::vector<double> GetNumParticlesPerSizeClass(
const Eigen::MatrixXd& rParticles,
66 const std::vector<double>& rSizes)
const;
67 double GetVolume(
double radius)
const;
70 const double mShrinkage;
71 const long mNumMaxTries;
class for Specimen
Definition: Specimen.h:16
Eigen::MatrixXd CreateSpheresInSpecimen(const double rRelParticleVolume, const Eigen::MatrixXd &rGradingCurve, const double rRelativeDistance, const double rAbsoluteDistance, const int rSeed, const Eigen::MatrixXd &rSpheresBoundary) const
creates randomly distributed, non-overlapping particles
Definition: ParticleCreator.cpp:24
Eigen::MatrixXd PerformTakePhase(const Eigen::MatrixXd &rGradingCurve, const Eigen::MatrixXd &rSpheresBoundary, const double rRelParticleVolume) const
performs the "take"-of the "take-and-place" algorithm
Definition: ParticleCreator.cpp:44
void PerformPlacePhase(Eigen::MatrixXd &rParticles, const double rRelativeDistance, const double rAbsoluteDistance) const
performs the "place"-of the "take-and-place" algorithm
Definition: ParticleCreator.cpp:143
ParticleCreator(NuTo::Specimen rSpecimen, const double rShrinkage, const long rNumMaxTries=10000000)
Definition: ParticleCreator.cpp:16
Definition: Exception.h:6
Definition: ParticleCreator.h:19