Commit 824ab66c authored by Christoph Rettinger's avatar Christoph Rettinger Committed by Christoph Schwarzmeier
Browse files

Fixed and extended particle packing app

parent cd2a0d20
...@@ -581,12 +581,14 @@ std::string assembleParticleInformation(data::ParticleStorage& ps, SizeEvaluator ...@@ -581,12 +581,14 @@ std::string assembleParticleInformation(data::ParticleStorage& ps, SizeEvaluator
auto position = pIt->getPosition(); auto position = pIt->getPosition();
auto sizeInfo = sizeEvaluator.get(*pIt->getBaseShape()); auto sizeInfo = sizeEvaluator.get(*pIt->getBaseShape());
auto rotM = pIt->getRotation().getMatrix();
ossData << std::setprecision( precision ); ossData << std::setprecision( precision );
ossData << position[0] << " " << position[1] << " " << position[2] << " " ossData << position[0] << " " << position[1] << " " << position[2] << " "
<< sizeInfo.size << " " << sizeInfo.volume << " " << sizeInfo.size << " " << sizeInfo.volume << " "
<< sizeInfo.shapeSemiAxes[0] << " " << sizeInfo.shapeSemiAxes[1] << " " << sizeInfo.shapeSemiAxes[2] << " " << sizeInfo.shapeSemiAxes[0] << " " << sizeInfo.shapeSemiAxes[1] << " " << sizeInfo.shapeSemiAxes[2] << " "
<< pIt->getNumContacts() << pIt->getNumContacts() << " "
<< rotM[0] << " " << rotM[1] << " "<< rotM[2] << " "<< rotM[3] << " "<< rotM[4] << " "<< rotM[5] << " "<< rotM[6] << " "<< rotM[7] << " "<< rotM[8]
<< "\n"; << "\n";
} }
......
...@@ -9,13 +9,13 @@ ParticlePacking ...@@ -9,13 +9,13 @@ ParticlePacking
gravitationalAcceleration 9.81; // m/s^2 gravitationalAcceleration 9.81; // m/s^2
particleDistribution SievingCurve; // size distribution, see 'Distribution' block for options particleDistribution SievingCurve; // size distribution, see 'Distribution' block for options
particleShape Mesh; // see 'Shape' block particleShape Ellipsoid; // see 'Shape' block
limitVelocity -1; // m/s, negative switches limiting off limitVelocity -1; // m/s, negative switches limiting off
initialVelocity 1; // m/s initialVelocity 1; // m/s
initialGenerationHeightRatioStart 0.1; // - initialGenerationHeightRatioStart 0.1; // -
initialGenerationHeightRatioEnd 1; // - initialGenerationHeightRatioEnd 1; // -
generationSpacing 0.010; // m generationSpacing 0.016; // m
scaleGenerationSpacingWithForm true; scaleGenerationSpacingWithForm true;
generationHeightRatioStart 0.6; // - generationHeightRatioStart 0.6; // -
generationHeightRatioEnd 1; // - generationHeightRatioEnd 1; // -
...@@ -47,7 +47,7 @@ Shaking ...@@ -47,7 +47,7 @@ Shaking
{ {
amplitude 3e-4; // m amplitude 3e-4; // m
period 0.025; // s period 0.025; // s
duration 6.0; // s, duration of shaking AFTER creation of all particles duration 1.0; // s, duration of shaking AFTER creation of all particles
activeFromBeginning true; activeFromBeginning true;
} }
...@@ -118,12 +118,12 @@ Distribution ...@@ -118,12 +118,12 @@ Distribution
// Lian, 2015, DigiPack, values from porosity report (Versuch3), in cylinder with diam 104mm // Lian, 2015, DigiPack, values from porosity report (Versuch3), in cylinder with diam 104mm
sieveSizes 2.8e-3 4e-3 5.6e-3 8e-3 11.2e-3 16e-3 22.4e-3 31.5e-3; sieveSizes 2.8e-3 4e-3 5.6e-3 8e-3 11.2e-3 16e-3 22.4e-3 31.5e-3;
//massFractions 0 0 1 0 0 0 0; // A massFractions 0 0 1 0 0 0 0; // A
//massFractions .0 .0 .21 .58 .21 0 0; // B //massFractions .0 .0 .21 .58 .21 0 0; // B
//massFractions .0 .06 .24 .4 .24 .06 .0; // C //massFractions .0 .06 .24 .4 .24 .06 .0; // C
//massFractions .04 .11 .22 .26 .22 .11 .04; // D //massFractions .04 .11 .22 .26 .22 .11 .04; // D
//massFractions .08 .13 .08 .06 .18 .29 .18; // E //massFractions .08 .13 .08 .06 .18 .29 .18; // E
massFractions .13 .21 .13 .06 .13 .21 .13; // F //massFractions .13 .21 .13 .06 .13 .21 .13; // F
//massFractions .18 .29 .18 .06 .08 .13 .08; // G //massFractions .18 .29 .18 .06 .08 .13 .08; // G
//massFractions 0 0 0 0 0 0 1; // D //massFractions 0 0 0 0 0 0 1; // D
...@@ -142,7 +142,7 @@ Shape ...@@ -142,7 +142,7 @@ Shape
Ellipsoid Ellipsoid
{ {
semiAxes <50,5,1>; // will be scaled to obtain desired size semiAxes <2,2,1>; // will be scaled to obtain desired size
} }
EquivalentEllipsoid EquivalentEllipsoid
......
...@@ -355,6 +355,7 @@ int main(int argc, char **argv) { ...@@ -355,6 +355,7 @@ int main(int argc, char **argv) {
real_t terminalRelativeHeightChange = mainConf.getParameter<real_t>("terminalRelativeHeightChange"); real_t terminalRelativeHeightChange = mainConf.getParameter<real_t>("terminalRelativeHeightChange");
real_t terminationCheckingSpacing = mainConf.getParameter<real_t>("terminationCheckingSpacing"); real_t terminationCheckingSpacing = mainConf.getParameter<real_t>("terminationCheckingSpacing");
real_t minimalTerminalRunTime = mainConf.getParameter<real_t>("minimalTerminalRunTime"); real_t minimalTerminalRunTime = mainConf.getParameter<real_t>("minimalTerminalRunTime");
real_t velocityDampingCoefficient = mainConf.getParameter<real_t>("velocityDampingCoefficient");
bool useHashGrids = mainConf.getParameter<bool>("useHashGrids"); bool useHashGrids = mainConf.getParameter<bool>("useHashGrids");
...@@ -367,7 +368,6 @@ int main(int argc, char **argv) { ...@@ -367,7 +368,6 @@ int main(int argc, char **argv) {
real_t dt = solverConf.getParameter<real_t>("dt"); real_t dt = solverConf.getParameter<real_t>("dt");
real_t frictionCoefficient = solverConf.getParameter<real_t>("frictionCoefficient"); real_t frictionCoefficient = solverConf.getParameter<real_t>("frictionCoefficient");
real_t coefficientOfRestitution = solverConf.getParameter<real_t>("coefficientOfRestitution"); real_t coefficientOfRestitution = solverConf.getParameter<real_t>("coefficientOfRestitution");
real_t velocityDampingCoefficient = solverConf.getParameter<real_t>("velocityDampingCoefficient");
uint_t visSpacing = uint_c(visSpacingInSeconds / dt); uint_t visSpacing = uint_c(visSpacingInSeconds / dt);
uint_t infoSpacing = uint_c(infoSpacingInSeconds / dt); uint_t infoSpacing = uint_c(infoSpacingInSeconds / dt);
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment