V-blender finalized for v-1.0

This commit is contained in:
Hamidreza 2025-04-21 15:52:51 +03:30
parent cde93e953e
commit 8da8afbe63
9 changed files with 149 additions and 145 deletions

View File

@ -15,39 +15,39 @@ contactListType sortedContactList;
contactSearch
{
method NBS; // method for broad search
updateInterval 10;
sizeRatio 1.1;
updateInterval 10;
cellExtent 0.55;
sizeRatio 1.1;
adjustableBox Yes;
cellExtent 0.55;
adjustableBox Yes;
}
model
{
contactForceModel nonLinearNonLimited;
contactForceModel nonLinearNonLimited;
rollingFrictionModel normal;
rollingFrictionModel normal;
Yeff (1.0e6 1.0e6
Yeff (1.0e6 1.0e6
1.0e6); // Young modulus [Pa]
Geff (0.8e6 0.8e6
Geff (0.8e6 0.8e6
0.8e6); // Shear modulus [Pa]
nu (0.25 0.25
nu (0.25 0.25
0.25); // Poisson's ratio [-]
en (0.97 0.85
en (0.97 0.85
0.97); // coefficient of normal restitution
mu (0.65 0.35
mu (0.65 0.35
0.65); // dynamic friction
mur (0.1 0.1
mur (0.1 0.1
0.1); // rolling friction
}

View File

@ -6,9 +6,9 @@ objectName particleInsertion;
objectType dicrionary;
fileFormat ASCII;
/*---------------------------------------------------------------------------*/
active Yes; // is insertion active -> Yes or No
active Yes; // is insertion active -> Yes or No
checkForCollision No; // is checked -> Yes or No
checkForCollision Yes; // is checked -> Yes or No
/*
Two layers of particles are packed one-by-one using tho insertion steps
@ -16,76 +16,74 @@ checkForCollision No; // is checked -> Yes o
rightregion
{
timeControl simulationTime;
regionType cylinder; // type of insertion region
rate 10000; // Particles Insertion Rate (particles/s)
startTime 0.0; // start time of small particles insertion (s)
endTime 1; // end time of small particles insertion (s)
insertionInterval 0.025; // time interval of small particles insertion (s)
timeControl simulationTime;
cylinderInfo
{
/* coordinates of center of both ends of the insertion
regionType cylinder; // type of insertion region
cylinder on the right side of the V-blender (m,m,m) */
rate 10000; // Particles Insertion Rate (particles/s)
p1 (0.0950615 0.12 0.5011585);
startTime 0.0; // start time of small particles insertion (s)
p2 (0.1150615 0.12 0.4811585);
endTime 1; // end time of small particles insertion (s)
radius 0.1; // radius of cylinder (m)
}
setFields
{
insertionInterval 0.025; // time interval of small particles insertion (s)
cylinderInfo
{
/* coordinates of center of both ends of the insertion
cylinder on the right side of the V-blender (m,m,m) */
p1 (0.0950615 0.12 0.5011585);
p2 (0.1150615 0.12 0.4811585);
radius 0.1; // radius of cylinder (m)
}
setFields
{
velocity realx3 (1.2 0.0 -1.2); // initial velocity of inserted particles
}
mixture
{
}
mixture
{
smallSphere 1; // first layer of inserted particles
}
}
}
leftregion
{
timeControl simulationTime;
regionType cylinder; // type of insertion region
rate 10000; // Particles Insertion Rate (particles/s)
startTime 1.5; // start time of large particles insertion (s)
endTime 2.5; // end time of large particles insertion (s)
insertionInterval 0.025; // time interval of large particles insertion (s)
timeControl simulationTime;
cylinderInfo
{
/* coordinates of center of both ends of the insertion
regionType cylinder; // type of insertion region
cylinder on the left side of the V-blender (m,m,m) */
rate 10000; // Particles Insertion Rate (particles/s)
p1 ( 0.7562545 0.12 0.50079);
startTime 1.5; // start time of large particles insertion (s)
p2 ( 0.7362545 0.12 0.48079);
endTime 2.5; // end time of large particles insertion (s)
radius 0.1; // radius of cylinder (m)
}
setFields
{
velocity realx3 (-1.2 0.0 -1.2); // initial velocity of inserted particles
}
mixture
{
largeSphere 1; // second layer of inserted particles
}
insertionInterval 0.025; // time interval of large particles insertion (s)
cylinderInfo
{
/* coordinates of center of both ends of the insertion
cylinder on the left side of the V-blender (m,m,m) */
p1 ( 0.7562545 0.12 0.50079);
p2 ( 0.7362545 0.12 0.48079);
radius 0.1; // radius of cylinder (m)
}
setFields
{
velocity realx3 (-1.2 0.0 -1.2); // initial velocity of inserted particles
}
mixture
{
largeSphere 1; // second layer of inserted particles
}
}

View File

@ -2,12 +2,13 @@
| phasicFlow File |
| copyright: www.cemf.ir |
\* ------------------------------------------------------------------------- */
objectName sphereDict;
objectType sphereShape;
objectName sphereDict;
objectType sphereShape;
fileFormat ASCII;
/*---------------------------------------------------------------------------*/
names (smallSphere largeSphere); // names of particles
diameters (0.01 0.0101); // diameter of particles
names (smallSphere largeSphere); // names of particles
materials (lightMat lightMat); // material names for particles
diameters (0.01 0.0101); // diameter of particles
materials (lightMat lightMat); // material names for particles

0
tutorials/sphereGranFlow/V-blender/cleanThisCase Normal file → Executable file
View File

0
tutorials/sphereGranFlow/V-blender/runThisCase Normal file → Executable file
View File

View File

@ -2,47 +2,49 @@
| phasicFlow File |
| copyright: www.cemf.ir |
\* ------------------------------------------------------------------------- */
objectName domainDict;
objectType dictionary;
objectName domainDict;
objectType dictionary;
fileFormat ASCII;
/*---------------------------------------------------------------------------*/
globalBox // Simulation domain: every particles that goes outside this domain will be deleted
{
min (-0.1 -0.4 0); // lower corner point of the box
max (0.86 0.6 0.6); // upper corner point of the box
// Simulation domain: every particles that goes outside this domain will be deleted
globalBox
{
min (-0.1 -0.4 0); // lower corner point of the box
max (0.86 0.6 0.6); // upper corner point of the box
}
boundaries
{
left
{
type exit; // other options: periodic, reflective
}
left
{
type exit; // other options: periodic, reflective
}
right
{
type exit; // other options: periodict, reflective
}
right
{
type exit; // other options: periodict, reflective
}
bottom
{
type exit; // other options: periodict, reflective
}
bottom
{
type exit; // other options: periodict, reflective
}
top
{
type exit; // other options: periodict, reflective
}
top
{
type exit; // other options: periodict, reflective
}
rear
{
type exit; // other options: periodict, reflective
}
rear
{
type exit; // other options: periodict, reflective
}
front
{
type exit; // other options: periodict, reflective
}
front
{
type exit; // other options: periodict, reflective
}
}

View File

@ -2,40 +2,40 @@
| phasicFlow File |
| copyright: www.cemf.ir |
\* ------------------------------------------------------------------------- */
objectName geometryDict;
objectType dictionary;
objectName geometryDict;
objectType dictionary;
fileFormat ASCII;
/*---------------------------------------------------------------------------*/
motionModel rotatingAxis; // motion model: rotating object around an axis
rotatingAxisInfo // information for rotatingAxis motion model
{
rotAxis
{
p1 (0.128228 0.116446 0.297901); // first point for the axis of rotation
rotAxis
{
p1 (0.128228 0.116446 0.297901); // first point for the axis of rotation
p2 (0.722596 0.116459 0.297901); // second point for the axis of rotation
omega 3.14; // rotation speed (rad/s)
startTime 3; // start time of rotation
endTime 10; // end time of rotation
}
p2 (0.722596 0.116459 0.297901); // second point for the axis of rotation
omega 3.14; // rotation speed (rad/s)
startTime 3; // start time of rotation
endTime 10; // end time of rotation
}
}
surfaces
{
body
{
type stlWall; // type of the wall
file body.stl; // file name in stl folder
material wallMat; // material name of this wall
motion rotAxis; // motion component name
}
body
{
type stlWall; // type of the wall
file body.stl; // file name in stl folder
material wallMat; // material name of this wall
motion rotAxis; // motion component name
}
}

View File

@ -10,32 +10,30 @@ setFields
{
/*
Default value for fields defined for particles
These fields should always be defined for simulations with
spherical particles.
*/
defaultValue
{
velocity realx3 (0 0 0); // linear velocity (m/s)
velocity realx3 (0 0 0); // linear velocity (m/s)
acceleration realx3 (0 0 0); // linear acceleration (m/s2)
rVelocity realx3 (0 0 0); // rotational velocity (rad/s)
shapeName word smallSphere; // name of the particle shape
shapeName word smallSphere; // name of the particle shape
}
selectors
{}
}
positionParticles // positions particles
positionParticles
{
method empty; // ordered positioning
method empty; // no particle at the start of simulation
mortonSorting Yes; // perform initial sorting based on morton code?
mortonSorting Yes; // perform initial sorting based on morton code?
maxNumberOfParticles 25000;
}

View File

@ -23,12 +23,17 @@ g (0 0 -9.8); // gravity vector (m/s2)
includeObjects (diameter); // save necessary (i.e., required) data on disk
// exclude unnecessary data from saving on disk
excludeObjects (rVelocity.dy1 pStructPosition.dy1 pStructVelocity.dy1);
excludeObjects ();
// include the objects to be saved in the time folders
includeObject ();
integrationMethod AdamsBashforth2; // integration method
integrationHistory off; // Do not save integration history on the disk
writeFormat ascii; // data writting format (ascii or binary)
timersReport Yes; // report timers (Yes or No)
timersReportInterval 0.01; // time interval for reporting timers
timersReportInterval 0.05; // time interval for reporting timers