particle-wall interaction and free surfaces

Submitted by VAJIHEH on Fri, 02/17/2012 - 17:07

Hi Chris,

I have two questions.
first is regarding particle-wall interactions. what happens when particles get close to walls d< rp ? in my simulations particles are passing through the walls although I have defined the walls on my geometry .

and my second question is how can I define free surfaces on the simulation? any help is appreciated as this is my first time doing a three phase with free surfaces...

Thanks,
Vajiheh

cgoniva's picture

cgoniva | Mon, 02/20/2012 - 09:17

Hi Vajiheh,

(I had to modify your post as d < rp was strangely interpreted as html code)

Concerning your first question, there might be two problems
a) DEM timestep is too big (contact and forces are not reslved accurately and particle can pass wall)
b) when using "read restart" option for DEM you have to re-define the walls in the in.liggghts_xy file.

Concerning your second question, I would recommend to have a look at cfdemSolverPiso_shared and see the modifications compared to classical incompressible flow solver. If you do the same modifications to a two-phase "interXY" solver you will get a three-phase solver.
BTW: I submitted a paper at http://www.riverflow2012.org, covering that topic.

Cheers,
Chris

VAJIHEH | Tue, 02/21/2012 - 21:01

HI Chris,

Thanks for your answers, and I will be waiting until your paper is available online!
for the first question, I have reduced the time steps, however, I really appreciate if you could explain where I can read more about the DEM code and how it handles collisions between large number of particles or with the walls and their displacements?
regarding the second question, by two phase "inter-xy" solver, are you refering to an openfoam "interDyMfoam" solver? I guess I need to find the changes on cfdemsolverpiso-shared compared to icofoam, or pisofoam, and make those changes to interDymFoam, am I right?

Thanks,

cgoniva's picture

cgoniva | Thu, 02/23/2012 - 11:58

Hi,

end of april the riverflow conf paper should be finished and approved.

concerning inter and piso ... yes, that's correct.

Cheers,
Chris

VAJIHEH | Sat, 02/25/2012 - 02:09

Hi Chris,

I followed your instructions and changed the InterDymFoam solave in openfoam, however, when I want to compile this solver I get this error. since I have already compiled other solvers on CFDEM , I do not understand what is wrong here. I appreciate any help:

vajiheh@vajiheh-desktop:~/OpenFOAM/vajiheh-1.7.x/applications/solvers/InterDym_shared$ wmake
options:13: warning: backslash-newline at end of file
Making dependency list for source file InterDym.C
could not open file RASModel.H for source file InterDym.C
SOURCE=InterDym.C ; g++ -m64 -Dlinux64 -DWM_DP -Wall -Wextra -Wno-unused-parameter -Wold-style-cast -Wnon-virtual-dtor -O3 -DNoRepository -ftemplate-depth-40 -I.. -I/home/vajiheh/OpenFOAM/OpenFOAM-1.7.x/src/transportModels -I/home/vajiheh/OpenFOAM/OpenFOAM-1.7.x/src/transportModels/incompressible/lnInclude -I/home/vajiheh/OpenFOAM/OpenFOAM-1.7.x/src/transportModels/interfaceProperties/lnInclude -I/home/vajiheh/OpenFOAM/OpenFOAM-1.7.x/src/turbulenceModels/incompressible/turbulenceModel -I/home/vajiheh/OpenFOAM/OpenFOAM-1.7.x/src/finiteVolume/lnInclude -I/home/vajiheh/OpenFOAM/OpenFOAM-1.7.x/src/dynamicMesh/lnInclude -I/home/vajiheh/OpenFOAM/OpenFOAM-1.7.x/src/meshTools/lnInclude -I/home/vajiheh/OpenFOAM/OpenFOAM-1.7.x/src/dynamicFvMesh/lnInclude -I/home/vajiheh/OpenFOAM/vajiheh-1.7.x/run/../src/lagrangian/cfdemParticle//lnInclude -IlnInclude -I. -I/home/vajiheh/OpenFOAM/OpenFOAM-1.7.x/src/OpenFOAM/lnInclude -I/home/vajiheh/OpenFOAM/OpenFOAM-1.7.x/src/OSspecific/POSIX/lnInclude -fPIC -c $SOURCE -o Make/linux64GccDPOpt/InterDym.o
/home/vajiheh/OpenFOAM/OpenFOAM-1.7.x/src/finiteVolume/lnInclude/readPISOControls.H: In function ‘int main(int, char**)’:
/home/vajiheh/OpenFOAM/OpenFOAM-1.7.x/src/finiteVolume/lnInclude/readPISOControls.H:11: warning: unused variable ‘transonic’
/home/vajiheh/OpenFOAM/OpenFOAM-1.7.x/src/finiteVolume/lnInclude/readPISOControls.H:14: warning: unused variable ‘nOuterCorr’
/home/vajiheh/OpenFOAM/OpenFOAM-1.7.x/src/finiteVolume/lnInclude/readPISOControls.H:3: warning: unused variable ‘nCorr’
/home/vajiheh/OpenFOAM/OpenFOAM-1.7.x/src/finiteVolume/lnInclude/readPISOControls.H:8: warning: unused variable ‘momentumPredictor’
/home/vajiheh/OpenFOAM/OpenFOAM-1.7.x/src/finiteVolume/lnInclude/readPISOControls.H:11: warning: unused variable ‘transonic’
/home/vajiheh/OpenFOAM/OpenFOAM-1.7.x/src/finiteVolume/lnInclude/readPISOControls.H:14: warning: unused variable ‘nOuterCorr’
g++ -m64 -Dlinux64 -DWM_DP -Wall -Wextra -Wno-unused-parameter -Wold-style-cast -Wnon-virtual-dtor -O3 -DNoRepository -ftemplate-depth-40 -I.. -I/home/vajiheh/OpenFOAM/OpenFOAM-1.7.x/src/transportModels -I/home/vajiheh/OpenFOAM/OpenFOAM-1.7.x/src/transportModels/incompressible/lnInclude -I/home/vajiheh/OpenFOAM/OpenFOAM-1.7.x/src/transportModels/interfaceProperties/lnInclude -I/home/vajiheh/OpenFOAM/OpenFOAM-1.7.x/src/turbulenceModels/incompressible/turbulenceModel -I/home/vajiheh/OpenFOAM/OpenFOAM-1.7.x/src/finiteVolume/lnInclude -I/home/vajiheh/OpenFOAM/OpenFOAM-1.7.x/src/dynamicMesh/lnInclude -I/home/vajiheh/OpenFOAM/OpenFOAM-1.7.x/src/meshTools/lnInclude -I/home/vajiheh/OpenFOAM/OpenFOAM-1.7.x/src/dynamicFvMesh/lnInclude -I/home/vajiheh/OpenFOAM/vajiheh-1.7.x/run/../src/lagrangian/cfdemParticle//lnInclude -IlnInclude -I. -I/home/vajiheh/OpenFOAM/OpenFOAM-1.7.x/src/OpenFOAM/lnInclude -I/home/vajiheh/OpenFOAM/OpenFOAM-1.7.x/src/OSspecific/POSIX/lnInclude -fPIC -Xlinker --add-needed Make/linux64GccDPOpt/InterDym.o -L/home/vajiheh/OpenFOAM/OpenFOAM-1.7.x/lib/linux64GccDPOpt \
-ltwoPhaseInterfaceProperties -lincompressibleTransportModels -lincompressibleTurbulenceModel -lincompressibleRASModels -lincompressibleLESModels -lfiniteVolume -ldynamicMesh -lmeshTools -ldynamicFvMesh -ltopoChangerFvMesh -llagrangianCFDEM_shared -lOpenFOAM -ldl -lm -o /home/vajiheh/OpenFOAM/vajiheh-1.7.x/applications/bin/linux64GccDPOpt/InterDym_shared
/usr/bin/ld: cannot find -llagrangianCFDEM_shared
collect2: ld returned 1 exit status
make: *** [/home/vajiheh/OpenFOAM/vajiheh-1.7.x/applications/bin/linux64GccDPOpt/InterDym_shared] Error 1
vajiheh@vajiheh-desktop:~/OpenFOAM/vajiheh-1.7.x/applications/solvers/InterDym_shared$

cgoniva's picture

cgoniva | Mon, 02/27/2012 - 07:51

hi!

You also need to define in the /Make/options the location of the lagrangianCFDEM_shared library.
Did you add this -L$(WM_USER_...) statement?

Cheers,
Chris

VAJIHEH | Wed, 03/07/2012 - 17:38

Hi Chris,

Can ypu please explain abit about this part of cfdemsolver. I am having problems with adding free surface to InterDymFoam, and I believe it is because I do not completly understand what is this part of your code doing. I appreciate any help.
Thanks,
Vajiheh
surfaceScalarField phiS(fvc::interpolate(Us*voidfraction) & mesh.Sf());
surfaceScalarField phiGes = phi + rUAf*(fvc::interpolate(Ksl/rho) * phiS);
volScalarField rUAvoidfraction2("(voidfraction2|A(U))",rUA*voidfraction*voidfraction);

// Non-orthogonal pressure corrector loop
for (int nonOrth=0; nonOrth<=nNonOrthCorr; nonOrth++)
{
// Pressure corrector
fvScalarMatrix pEqn
(
fvm::laplacian(rUAvoidfraction2, p) == fvc::div(phiGes) + fvc::ddt(voidfraction)
);

cgoniva's picture

cgoniva | Wed, 03/14/2012 - 16:07

Hi!

When deriving the volume averaged navier stokes equations for CFD-DEM you will find those therms:

surfaceScalarField phiS(fvc::interpolate(Us*voidfraction) & mesh.Sf());
:particle phase velocity field times voidfraction interpolated to the faces

surfaceScalarField phiGes = phi + rUAf*(fvc::interpolate(Ksl/rho) * phiS);
:creating a new "flux" which is used in the pressure eqn to include momentum coupling Ksl

// Non-orthogonal pressure corrector loop
for (int nonOrth=0; nonOrth<=nNonOrthCorr; nonOrth++)
{
// Pressure corrector
fvScalarMatrix pEqn
(
fvm::laplacian(rUAvoidfraction2, p) == fvc::div(phiGes) + fvc::ddt(voidfraction)
:this line (lalst term) accounts for volume displacement of the particle phase
);

generally having a look into the documentations of PISO, might help understand that - but I guess you have allready done that.

Cheers,
Chris

vonboetticher | Mon, 07/08/2013 - 12:33

Hi Vajiheh,

did you succeed yet? If jes I will give it a try for the resolved cfdem solver.

Best ,

Albrecht