READMEPostprocess.md
This commit is contained in:
parent
21a7d0ab4d
commit
37c86b7328
|
@ -0,0 +1,208 @@
|
|||
# phasicFlow `processDataDict` File Explanation
|
||||
## Problem definition
|
||||
There is a rotating drum with the diameter 0.24 m and the length 0.1 m rotating at 11.6 rpm. It is filled with 30,000 4-mm spherical particles. The timestep for integration is 0.00001 s.The problem is to postprocessing some data such as velocity, position, one, mass.
|
||||
|
||||
|
||||
|
||||
## Setting up the case
|
||||
|
||||
To postprocess these data, we should configurate `processDataDict` file. The code is divided into the following two main parts: 1. Time Control Configuration 2. Components.
|
||||
|
||||
## Time Control Configuration
|
||||
|
||||
### `defaultTimeControl`
|
||||
Defines default time management for processing tasks:
|
||||
|
||||
|
||||
```cpp
|
||||
defaultTimeControl
|
||||
|
||||
{
|
||||
timeControl timeStep; //Time stepping mode
|
||||
startTime 0; //Start time for post-processing
|
||||
executionInterval 10000; //Interval between processing events
|
||||
}
|
||||
```
|
||||
|
||||
|
||||
|
||||
## Components
|
||||
|
||||
Each entry in the `components` section specifies a different post-processing task as shown below. After running the code, a file with the same name is generated in the simulation folder, containing the data.
|
||||
|
||||
### 1. `velocityProb`
|
||||
- **Purpose**: Probe the y-component of velocity for specific particles.
|
||||
|
||||
|
||||
```cpp
|
||||
velocityProb
|
||||
{
|
||||
processMethod particleProbe; //probes at selected particles
|
||||
processRegion centerPoints; //at particle centers
|
||||
|
||||
timeControl default; //Uses default time control.
|
||||
|
||||
selector id; //selected particles by particle ID
|
||||
|
||||
ids (0 10 20 100 1000); //list of particle IDs that has beeen selected arbitrarily.
|
||||
|
||||
field component(velocity,y); //y-component of velocity
|
||||
|
||||
}
|
||||
|
||||
```
|
||||
|
||||
### 2. `positionProb`
|
||||
- **Purpose**: Probe positions at randomly selected points.
|
||||
|
||||
```cpp
|
||||
positionProb
|
||||
{
|
||||
processMethod particleProbe;
|
||||
processRegion centerPoints;
|
||||
|
||||
timeControl settingsDict; //Uses `settingsDict` time control.
|
||||
|
||||
selector randomPoints; //selects by random points.
|
||||
|
||||
randomPointsInfo
|
||||
{
|
||||
begin 0; //start of rang
|
||||
end 20000; //end of rang
|
||||
number 20; //number of points
|
||||
}
|
||||
|
||||
field position;
|
||||
|
||||
}
|
||||
|
||||
|
||||
```
|
||||
|
||||
### 3. `alongALine`
|
||||
- **Purpose**: Compute statistics along a line, dividing it into spheres (probes).
|
||||
|
||||
```cpp
|
||||
alongALine
|
||||
{
|
||||
processMethod arithmetic;
|
||||
processRegion line;
|
||||
|
||||
// 10 spheres with radius 0.01 along the straight line defined by p1 and p2
|
||||
lineInfo
|
||||
{
|
||||
p1 ( 0 0 0.05);
|
||||
p2 (0.084 -0.084 0.05);
|
||||
nSpheres 10;
|
||||
radius 0.01;
|
||||
}
|
||||
|
||||
timeControl simulationTime; //custom time control.
|
||||
|
||||
executionInterval 0.1;
|
||||
|
||||
startTime 0.4;
|
||||
|
||||
operations
|
||||
(
|
||||
avVelocity1 // Average velocity magnitude (mass-weighted, with fluctuation)
|
||||
{
|
||||
function average;
|
||||
field mag(velocity);
|
||||
fluctuation2 yes;
|
||||
phi mass;
|
||||
}
|
||||
|
||||
numberDensity1 //Number density (normalized by volume, threshold 10)
|
||||
{
|
||||
function sum;
|
||||
field one;
|
||||
divideByVolume yes;
|
||||
threshold 10;
|
||||
}
|
||||
|
||||
parCount1 //Particle count (sum)
|
||||
{
|
||||
function sum;
|
||||
field one;
|
||||
}
|
||||
|
||||
volFrac1 //Volume fraction (normalized by volume, threshold 4)
|
||||
{
|
||||
function sum;
|
||||
field volume;
|
||||
divideByVolume yes;
|
||||
threshold 4;
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
```
|
||||
|
||||
### 4. `alongALine2`
|
||||
- **Purpose**: Compute Gaussian-distributed statistics along a line.
|
||||
|
||||
|
||||
|
||||
```cpp
|
||||
alongALine2
|
||||
{
|
||||
processMethod GaussianDistribution;
|
||||
processRegion line;
|
||||
|
||||
// 10 spheres with radius 0.01 along the straight line defined by p1 and p2
|
||||
lineInfo
|
||||
{
|
||||
p1 ( 0 0 0.05);
|
||||
p2 (0.084 -0.084 0.05);
|
||||
nSpheres 10;
|
||||
radius 0.01;
|
||||
}
|
||||
|
||||
timeControl timeStep;
|
||||
|
||||
executionInterval 100;
|
||||
|
||||
startTime 0;
|
||||
|
||||
operations
|
||||
(
|
||||
avVelocity //Average velocity magnitude (mass-weighted)
|
||||
{
|
||||
function average;
|
||||
field mag(velocity);
|
||||
phi mass;
|
||||
}
|
||||
|
||||
bulkDensity //Bulk density (sum of mass, volume-normalized, threshold 5)
|
||||
{
|
||||
function sum;
|
||||
field mass;
|
||||
phi one;
|
||||
divideByVolume yes;
|
||||
threshold 5;
|
||||
}
|
||||
|
||||
parCount //Particle count
|
||||
{
|
||||
function sum;
|
||||
field one;
|
||||
}
|
||||
|
||||
volFrac //Volume fraction (volume-normalized, threshold 4)
|
||||
|
||||
{
|
||||
function sum;
|
||||
field volume;
|
||||
divideByVolume yes;
|
||||
threshold 4;
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
```
|
Loading…
Reference in New Issue