Skip to content

Commit e900128

Browse files
Merge branch 'main' of github.com:PhasicFlow/phasicFlow
2 parents 75a0f31 + 890dee4 commit e900128

36 files changed

Lines changed: 1360 additions & 0 deletions
Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
/* -------------------------------*- C++ -*--------------------------------- *\
2+
| phasicFlow File |
3+
| copyright: www.cemf.ir |
4+
\* ------------------------------------------------------------------------- */
5+
objectName interaction;
6+
objectType dicrionary;
7+
fileFormat ASCII;
8+
/*---------------------------------------------------------------------------*/
9+
10+
materials (glassMat wallMat); // a list of materials names
11+
12+
densities (2500.0 2500); // density of materials [kg/m3]
13+
14+
contactListType sortedContactList;
15+
16+
model
17+
{
18+
contactForceModel nonLinearLimited;
19+
20+
rollingFrictionModel normal;
21+
22+
Yeff (1.0e6 1.0e6 // Young modulus [Pa]
23+
1.0e6);
24+
25+
Geff (0.8e6 0.8e6 // Shear modulus [Pa]
26+
0.8e6);
27+
28+
nu (0.25 0.25 // Poisson's ratio [-]
29+
0.25);
30+
31+
en (0.97 0.85 // coefficient of normal restitution
32+
1.00);
33+
34+
mu (0.65 0.65 // dynamic friction
35+
0.65);
36+
37+
mur (0.1 0.1 // rolling friction
38+
0.1);
39+
40+
}
41+
42+
contactSearch
43+
{
44+
method NBS;
45+
46+
updateInterval 10;
47+
48+
sizeRatio 1.1;
49+
50+
cellExtent 0.55;
51+
52+
adjustableBox Yes;
53+
}
Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,72 @@
1+
/* -------------------------------*- C++ -*--------------------------------- *\
2+
| phasicFlow File |
3+
| copyright: www.cemf.ir |
4+
\* ------------------------------------------------------------------------- */
5+
objectName particleInsertion;
6+
objectType dictionary;
7+
fileFormat ASCII;
8+
/*---------------------------------------------------------------------------*/
9+
10+
active yes; // is insertion active?
11+
12+
particleInlet1
13+
{
14+
regionType box; // type of insertion region
15+
16+
rate 250000; // insertion rate (particles/s)
17+
18+
timeControl simulationTime;
19+
20+
startTime 0; // (s)
21+
22+
endTime 2.0; // (s)
23+
24+
insertionInterval 0.05; //s
25+
26+
boxInfo
27+
{
28+
min (-0.17 0.23 0.46); // (m,m,m)
29+
max ( 0.17 0.24 0.88); // (m,m,m)
30+
}
31+
32+
setFields
33+
{
34+
velocity realx3 (0.0 -0.3 0.0); // initial velocity of inserted particles
35+
}
36+
37+
mixture
38+
{
39+
smallParticle 1; // mixture composition of inserted particles
40+
}
41+
}
42+
43+
particleInlet2
44+
{
45+
regionType box; // type of insertion region
46+
47+
rate 250000; // insertion rate (particles/s)
48+
49+
timeControl simulationTime;
50+
51+
startTime 0; // (s)
52+
53+
endTime 2.0; // (s)
54+
55+
insertionInterval 0.05; //s
56+
57+
boxInfo
58+
{
59+
min ( -0.17 0.23 0.02); // (m,m,m)
60+
max ( 0.17 0.24 0.44); // (m,m,m)
61+
}
62+
63+
setFields
64+
{
65+
velocity realx3 (0.0 -0.3 0.0); // initial velocity of inserted particles
66+
}
67+
68+
mixture
69+
{
70+
largeParticle 1; // mixture composition of inserted particles
71+
}
72+
}
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
/* -------------------------------*- C++ -*--------------------------------- *\
2+
| phasicFlow File |
3+
| copyright: www.cemf.ir |
4+
\* ------------------------------------------------------------------------- */
5+
objectName shapes;
6+
objectType dictionary;
7+
fileFormat ASCII;
8+
/*---------------------------------------------------------------------------*/
9+
10+
names (smallParticle largeParticle); // names of shapes
11+
diameters (0.004 0.00401); // diameter of shapes
12+
materials (glassMat glassMat); // material names for shapes
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
#!/bin/sh
2+
cd ${0%/*} || exit 1 # Run from this directory
3+
4+
ls | grep -P "^(([0-9]+\.?[0-9]*)|(\.[0-9]+))$" | xargs -d"\n" rm -rf
5+
rm -rf VTK
6+
7+
#------------------------------------------------------------------------------
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
#!/bin/sh
2+
cd ${0%/*} || exit 1 # Run from this directory
3+
echo "\n<--------------------------------------------------------------------->"
4+
echo "1) Creating particles"
5+
echo "<--------------------------------------------------------------------->\n"
6+
particlesPhasicFlow
7+
8+
echo "\n<--------------------------------------------------------------------->"
9+
echo "2) Creating geometry"
10+
echo "<--------------------------------------------------------------------->\n"
11+
geometryPhasicFlow
12+
13+
echo "\n<--------------------------------------------------------------------->"
14+
echo "3) Running the case"
15+
echo "<--------------------------------------------------------------------->\n"
16+
sphereGranFlow
17+
18+
echo "\n<--------------------------------------------------------------------->"
19+
echo "4) Converting to VtK"
20+
echo "<--------------------------------------------------------------------->\n"
21+
pFlowToVTK -f diameter id velocity --binary
22+
23+
#------------------------------------------------------------------------------
Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
/* -------------------------------*- C++ -*--------------------------------- *\
2+
| phasicFlow File |
3+
| copyright: www.cemf.ir |
4+
\* ------------------------------------------------------------------------- */
5+
objectName domainDict;
6+
objectType dictionary;
7+
fileFormat ASCII;
8+
/*---------------------------------------------------------------------------*/
9+
10+
// Simulation domain
11+
globalBox
12+
{
13+
min (-0.19 -0.19 -0.02);
14+
max ( 0.19 0.26 0.92);
15+
}
16+
17+
boundaries
18+
{
19+
20+
left
21+
{
22+
type exit; // other options: periodic, reflective
23+
}
24+
25+
right
26+
{
27+
type exit; // other options: periodic, reflective
28+
}
29+
30+
bottom
31+
{
32+
type exit; // other options: periodic, reflective
33+
}
34+
35+
top
36+
{
37+
type exit; // other options: periodic, reflective
38+
}
39+
40+
rear
41+
{
42+
type exit; // other options: periodic, reflective
43+
}
44+
45+
front
46+
{
47+
type exit; // other options: periodic, reflective
48+
}
49+
}
Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
/* -------------------------------*- C++ -*--------------------------------- *\
2+
| phasicFlow File |
3+
| copyright: www.cemf.ir |
4+
\* ------------------------------------------------------------------------- */
5+
objectName geometryDict;
6+
objectType dictionary;
7+
fileFormat ASCII;
8+
/*---------------------------------------------------------------------------*/
9+
10+
// motion model: rotating object around an axis
11+
motionModel rotatingAxis;
12+
13+
rotatingAxisInfo
14+
{
15+
rotAxis
16+
{
17+
// end points of axis
18+
p1 (0 0 0);
19+
p2 (0 0 1);
20+
21+
// rotation speed (rad/s) => 30 rpm
22+
omega 3.1428;
23+
24+
// interval for rotation of axis
25+
startTime 2.5;
26+
endTime 100;
27+
}
28+
}
29+
30+
surfaces
31+
{
32+
33+
helix
34+
{
35+
type stlWall; // type of the wall
36+
file helix2.stl; // file name in stl folder
37+
material wallMat; // material name of this wall
38+
motion rotAxis; // motion component name
39+
}
40+
41+
shell
42+
{
43+
type stlWall; // type of the wall
44+
file shell2.stl; // file name in stl folder
45+
material wallMat; // material name of this wall
46+
motion none; // motion component name
47+
}
48+
49+
plug
50+
{
51+
type planeWall;
52+
p1 (-0.075 -0.185 0.375);
53+
p2 ( 0.075 -0.185 0.375);
54+
p3 ( 0.075 -0.185 0.525);
55+
p4 (-0.075 -0.185 0.525);
56+
material wallMat;
57+
motion none;
58+
}
59+
60+
}
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
/* -------------------------------*- C++ -*--------------------------------- *\
2+
| phasicFlow File |
3+
| copyright: www.cemf.ir |
4+
\* ------------------------------------------------------------------------- */
5+
objectName particlesDict;
6+
objectType dictionary;
7+
fileFormat ASCII;
8+
/*---------------------------------------------------------------------------*/
9+
10+
setFields
11+
{
12+
defaultValue
13+
{
14+
velocity realx3 (0 0 0); // linear velocity (m/s)
15+
acceleration realx3 (0 0 0); // linear acceleration (m/s2)
16+
rVelocity realx3 (0 0 0); // rotational velocity (rad/s)
17+
shapeName word smallParticle; // name of the particle shape
18+
}
19+
20+
selectors
21+
{}
22+
}
23+
24+
positionParticles
25+
{
26+
method empty; // creates the required fields with zero particles (empty).
27+
}
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
/* -------------------------------*- C++ -*--------------------------------- *\
2+
| phasicFlow File |
3+
| copyright: www.cemf.ir |
4+
\* ------------------------------------------------------------------------- */
5+
objectName settingsDict;
6+
objectType dictionary;
7+
fileFormat ASCII;
8+
/*---------------------------------------------------------------------------*/
9+
run helicalMixer;
10+
11+
dt 0.00001; // time step for integration (s)
12+
13+
startTime 0; // start time for simulation
14+
15+
endTime 2; // end time for simulation
16+
17+
saveInterval 0.05; // time interval for saving the simulation
18+
19+
timePrecision 4; // maximum number of digits for time folder
20+
21+
g (0 -9.8 0); // gravity vector (m/s2)
22+
23+
// save necessary (i.e., required) data on disk
24+
includeObjects (diameter);
25+
26+
// exclude unnecessary data from saving on disk
27+
excludeObjects ();
28+
29+
integrationMethod AdamsBashforth2; // integration method
30+
31+
integrationHistory off; // Do not save integration history on the disk
32+
33+
writeFormat binary; // data writting format (ascii or binary)
34+
35+
timersReport Yes; // report timers (Yes or No)
36+
37+
timersReportInterval 0.05; // time interval for reporting timers

0 commit comments

Comments
 (0)