Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rotating drum small #146

Open
wants to merge 3 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 9 additions & 9 deletions tutorials/sphereGranFlow/RotaryAirLockValve/ReadMe.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# Problem Definition
The problem is to simulate a Rotary Air-Lock Valve. The external diameter of rotor is about 21 cm. There is one type of particle in this simulation. Particles are inserted into the inlet of the valve from t=**0** s.
The problem is to simulate a RotaryAirLockValve. The external diameter of the rotor is about 21 cm. There is one type of particle in this simulation. Particles are inserted into the inlet of the valve from t=**0** s.
* **28000** particles with **5 mm** diameter are inserted into the valve with the rate of **4000 particles/s**.
* The rotor starts its ortation at t = 1.25 s at the rate of 2.1 rad/s.

Expand All @@ -19,7 +19,7 @@ The problem is to simulate a Rotary Air-Lock Valve. The external diameter of rot
</html>

# Setting up the Case
As it has been explained in the previous simulations, the simulation case setup is based on text-based scripts. Here, the simulation case setup files are stored into three folders: `caseSetup`, `setting`, and `stl` (see the above folders). See next the section for more information on how we can setup the geometry and its rotation.
As explained in the previous simulations, the simulation case setup is based on text-based scripts. Here, the simulation case setup files are stored in three folders: `caseSetup`, `setting`, and `stl` (see the folders above). See the next section for more information on how we can set up the geometry and its rotation.

## Geometry

Expand Down Expand Up @@ -87,7 +87,7 @@ surfaces
```
## Defining particles
### Diameter and material of spheres
In the `caseSetup/sphereShape` the diameter and the material name of the particles are defined.
In the `caseSetup/shapes` the diameter and the material name of the particles are defined.

<div align="center">
in <b>caseSetup/sphereShape</b> file
Expand All @@ -104,10 +104,10 @@ diameters (0.005);
materials (sphereMat);
```
### Insertion of Particles
Insertion of particles starts from t = 0 s and ends at t = 7 s. A box is defined for the port from which particles are being inderted. The rate of insertion is 4000 particles per second.
Particle insertion starts at t = 0 s and ends at t = 7 s. A box is defined for the port from which particles are inserted. The insertion rate is 4000 particles per second.

<div align="center">
in <b>settings/particleInsertion</b> file
in <b>caseSetup/particleInsertion</b> file
</div>

```C++
Expand Down Expand Up @@ -200,10 +200,10 @@ model
0.1);
}
```
# Performing simulation and seeing the results
# Performing simulation and viewing simulation results
To perform simulations, enter the following commands one after another in the terminal.

Enter `$ particlesPhasicFlow` command to create the initial fields for particles (here the simulaiton has no particle at the beginning).
Enter `$ particlesPhasicFlow` command to create the initial fields for particles (here the simulation has no particle at the beginning).
Enter `$ geometryPhasicFlow` command to create the geometry.
At last, enter `$ sphereGranFlow` command to start the simulation.
After finishing the simulation, you can use `$ pFlowtoVTK` to convert the results into vtk format stored in ./VTK folder.
Finally, type `$ sphereGranFlow` command to start the simulation.
After the simulation is finished, you can type `$ pFlowtoVTK` to convert the results to vtk format, which can be found in the ./VTK folder.
15 changes: 6 additions & 9 deletions tutorials/sphereGranFlow/binarySystemOfParticles/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,13 +14,10 @@ a view of the rotating drum with small and large particles after 7 seconds of ro
***

# Case setup

In the file `caseSetup/sphereShape` two particle types with the names `smallSphere` and `largeSphere` and the diameters 3 and 5 mm are defined.

[Simulation case setup files can be found in tutorials/sphereGranFlow folder.](https://github.com/PhasicFlow/phasicFlow/tree/main/tutorials/sphereGranFlow/binarySystemOfParticles)
### Shape definition

In the file `caseSetup/sphereShape` two particle types with the names `smallSphere` and `largeSphere` and the diameters 3 and 5 mm are defined.
In the file `caseSetup/shapes` two particle types with the names `smallSphere` and `largeSphere` and the diameters 3 and 5 mm are defined.

<div align="center">
in <b>caseSetup/sphereShape</b> file
Expand All @@ -41,8 +38,8 @@ in <b>settings/particlesDict</b> file


```C++
// positions particles
positionParticles

positionParticles // positions particles
{
method ordered; // other options: random or empty

Expand All @@ -55,7 +52,7 @@ positionParticles

regionType cylinder; // other options: box and sphere

cylinder // cylinder region for positioning particles
cylinder // cylinder region for positioning particles
{
p1 (0.0 0.0 0.003); // begin point of cylinder axis (m m m)
p2 (0.0 0.0 0.097); // end point of cylinder axis (m m m)
Expand Down Expand Up @@ -92,7 +89,7 @@ setFields
{
shapeAssigne
{
selector stridedRange; // other options: box, cylinder, sphere, randomPoints
selector stridedRange; // other options: box, cylinder, sphere, randomPoints

stridedRangeInfo
{
Expand Down Expand Up @@ -139,4 +136,4 @@ Options:
--setFields-only Exectue the setFields part only. Read the pointStructure from time folder and setFields and save the result in the same time folder.
```

so, with flag `--setFields-only`, you can execute the `setFields` part of `particlesDict`. Now suppose that you have a simulation case which proceeded up to 2 seconds and for any reason you want to change some field value at time 3 s and continue the simulation from 3 s. To this end, you need to change `startTime` in settings dictionary to 3, execute `particlesPhasicFlow --setFields-only`, and start the simulation.
so, with flag `--setFields-only`, you can execute the `setFields` part of `particlesDict`. Now suppose that you have a simulation case which proceeded up to 2 seconds and for any reason you want to change some field value at time 3 s and continue the simulation from 3 s. To this end, you need to change `startTime` in settings dictionary to 3, execute `particlesPhasicFlow --setFields-only`, and start the simulation.
Loading