CFD Online Logo CFD Online URL
www.cfd-online.com
[Sponsors]
Home > Forums > Software User Forums > OpenFOAM > OpenFOAM Running, Solving & CFD

dispersion model with lagragian particle tracking model for incompressible flows

Register Blogs Community New Posts Updated Threads Search

Like Tree43Likes

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   August 2, 2012, 10:19
Default
  #21
Member
 
Mat
Join Date: Jan 2012
Posts: 60
Rep Power: 14
Mat_fr is on a distinguished road
Dear Eelco,

Why did you add the lift force as a non-coupled contribution ? Shouldn't it be coupled ?

Best,

Mat
Mat_fr is offline   Reply With Quote

Old   September 4, 2012, 11:12
Default
  #22
New Member
 
Mohsen Na
Join Date: Sep 2012
Posts: 1
Rep Power: 0
mohsen472 is on a distinguished road
Quote:
Originally Posted by Mat_fr View Post
Dear eelcovv,

It was indeed a problem of version. I'm looking forward to postprocess the results.
Thanks for this solver
I think, I will add also a Saffman lift force for the particles, which is significant in most of the cases.

Best,

Mathieu
i have the same problem, should i change my OF Version? idont know how should i compile this
mohsen472 is offline   Reply With Quote

Old   September 5, 2012, 05:20
Default
  #23
Member
 
Mat
Join Date: Jan 2012
Posts: 60
Rep Power: 14
Mat_fr is on a distinguished road
You should compile the library of Eelco inside the version 2.1 of OpenFOAM.

Here, the information to install and compile this version:
http://www.openfoam.org/download/git.php

Best,

Mat
Mat_fr is offline   Reply With Quote

Old   September 11, 2012, 05:38
Default
  #24
Senior Member
 
Eelco van Vliet
Join Date: Mar 2009
Location: The Netherlands
Posts: 124
Rep Power: 19
eelcovv is on a distinguished road
Hi Mat,

Explicite Lift is most straight forward. I do get good agreement with measurements of bubble plumes so for me it is good enough.

How would you suggest to implement the lift force ?

Regards
Eelco
eelcovv is offline   Reply With Quote

Old   October 8, 2012, 06:07
Default
  #25
Member
 
Mat
Join Date: Jan 2012
Posts: 60
Rep Power: 14
Mat_fr is on a distinguished road
Hello Eelco,

I implemented implicitely the lift force and it also gives correct agreement with my experimental reference. I thought it was better for the stabilization and also that it could have an influence in two-way coupling. But I don't think it is so important.

Best,

Mat
Mat_fr is offline   Reply With Quote

Old   October 10, 2012, 09:37
Default
  #26
Senior Member
 
Eelco van Vliet
Join Date: Mar 2009
Location: The Netherlands
Posts: 124
Rep Power: 19
eelcovv is on a distinguished road
Well, any improvements are appreciated, that's why I posted my version of the LPT in incompressible flows. By the way, in my lift force with the Tomiyama model was a small error which explained by my plume stayed bit to narrow. Should be replaced by in the file LiftForce.C

Code:
    
// Drag relation based on Tomiyama etal (1995), in advance in multiphase flows
scalar CL;
    scalar E=1/(1+0.163*pow(Eo,0.757));
    scalar EoD=Eo/pow(E,2/3.);
    if(EoD>10)
    {
      // note: in the Tomiyama model this is -0.29, however this give a discontinuity for the CL~Eo relation
      // at Eo=10. -0.27 keeps this relation continuous
       CL=-0.27;
    }
    else
    {
       scalar fEoD=0.00105*pow(EoD,3)-0.0159*pow(EoD,2)-0.0204*EoD+0.474;
       if(EoD<4)
       {
         CL=min(0.288*tanh(0.121*Re),fEoD);
       }
       else
       {
         CL=fEoD;
       }
    }
    return CL;
With this correction I get the plume on top of the experiments.

Furthermore, I have implemented a cloudfunctionobject (just like VoidFraction) in order to gather the statistics of the dispersed phase (dispersed phase velocity and rms values). If you are interested let me know. I would appreciate your implementation of the lift force as well of course:-)


Regards
Eelco
eelcovv is offline   Reply With Quote

Old   December 21, 2012, 18:11
Default
  #27
New Member
 
Join Date: Dec 2012
Posts: 2
Rep Power: 0
wellDone is on a distinguished road
Hello everyone.

This solvers looks really nice eelcovv. Unfortunately I can't compile it yet, I have installed a fresh version of OpenFOAM from the git.

I can compile the library (libincompressibleLagrangianIntermediate.so) without errors. (see wmake.log). But when I try to compile the solver I obtain the next error (complete log Allwmake.log):

Code:
/home/wellDone/OpenFOAM/wellDone-2.1.x/platforms/linux64GccDPOpt/bin/pimpleLPTBubbleFoam
/home/wellDone/OpenFOAM/wellDone-2.1.x/platforms/linux64GccDPOpt/lib/libincompressibleLagrangianIntermediate.so: undefined reference to `Foam::BubbleLookupTableInjection<Foam::BubbleCloud<Foam::Cloud<Foam::CollidingParcel<Foam::BubbleParcel<Foam::particle> > > > >::BubbleLookupTableInjection(Foam::dictionary const&, Foam::BubbleCloud<Foam::Cloud<Foam::CollidingParcel<Foam::BubbleParcel<Foam::particle> > > >&)'
/home/wellDone/OpenFOAM/wellDone-2.1.x/platforms/linux64GccDPOpt/lib/libincompressibleLagrangianIntermediate.so: undefined reference to `Foam::BubbleLookupTableInjection<Foam::BubbleCloud<Foam::Cloud<Foam::BubbleParcel<Foam::particle> > > >::BubbleLookupTableInjection(Foam::dictionary const&, Foam::BubbleCloud<Foam::Cloud<Foam::BubbleParcel<Foam::particle> > >&)'
collect2: ld returned 1 exit status
make: *** [/home/wellDone/OpenFOAM/wellDone-2.1.x/platforms/linux64GccDPOpt/bin/pimpleLPTBubbleFoam] Error 1
So if I make ldd on the issued library, the above undefined reference is shown. I think that I'm not missing any steps to insttall it so I would appreciate your help.

Thanks.
Attached Files
File Type: txt Allwmake.txt (4.5 KB, 12 views)
File Type: txt wmake.txt (30.2 KB, 10 views)
wellDone is offline   Reply With Quote

Old   December 23, 2012, 20:21
Default
  #28
New Member
 
Join Date: Dec 2012
Posts: 2
Rep Power: 0
wellDone is on a distinguished road
Hi,

I delved a little deeper into the error and I realized that the file BubbleLookupTableInjection.C present in the folder:

$FOAM_USER_SRC/lagrangian/intermediate/submodels/Bubble/InjectionModel/KinematicLookupTableInjection/

is empty. I have assumed that that code has been replaced with a new version in:

$FOAM_USER_SRC/lagrangian/intermediate/submodels/Bubble/InjectionModel/BubbleLookupTableInjection/

so I have deleted the KinematicLookupTableInjection folder and everything works now compiling pimpleLPTBubbleFoam.

Finally to be able to run the updated case bubcol3d_DES_yeLift_start1_clear could be required to change the boundary condition in nuTilda and nuSgs from nuSgsUSpaldingWallFunction to nutUSpaldingWallFunction as in a new commit they "Added support for variable density incompressible divDevReff for VoF solvers
Generalised wall-functions between RAS and LES/DES modelling" and nuSgsUSpaldingWallFunction is obsolete.

Regards
wellDone is offline   Reply With Quote

Old   January 31, 2013, 02:48
Default bubbleCloudProperties
  #29
Senior Member
 
Eelco van Vliet
Join Date: Mar 2009
Location: The Netherlands
Posts: 124
Rep Power: 19
eelcovv is on a distinguished road
Hi wellDone,

Thanks for the comments. Yes, probably you need to tweak a bit to get the library compiled, I just compiled it too the latest 2.1.x version, but I don't keep up the versions unless I need to my self. I will have a look to the new wall function you mention.

I just got a request to share the particle statistics cloud function object. I am only attaching this because of the limited upload space (only 100kb). You should add this too the CloudFunctionObjects directory and add the following in the intermediate/parcles/include/cloudfumakeParcelCloudFunctionObjects.H file

#include "ParticleStatistics.H"

and lower

makeCloudFunctionObjectType(ParticleStatistics, CloudType);

Now you can add to the bubbleCloudProperties the following lines.

Code:
cloudFunctions
{
   voidFraction;

   particleStatistics
   {
      resetFields    true;
      prime2Mean     true;
      writeBubblePDF true;
      timeStart      100;
      timeEnd        1e10;
   }
}
The voidFraction is cloudfunction only give you the void fraction of the bubbles, but the particlestatistics also give you the particlevelocity and its rms vales, as will as the PDF of the particle distribution. Very handy, I can assure you (it is the only way to obtain mean profiles of the gas velocity)

Cheers
Eelco
Attached Files
File Type: gz ParticleStatistics.tar.gz (4.3 KB, 104 views)
eelcovv is offline   Reply With Quote

Old   January 31, 2013, 05:44
Default
  #30
Member
 
Join Date: Apr 2010
Posts: 61
Rep Power: 16
alquimista is on a distinguished road
Thank you very much for the contribution! This cloud function object is useful

Note to remove the following lines in "makeParcelCloudFunctionObjects.H" to compile it.
Code:
    
#include "DispersedPhaseVelocity.H"
makeCloudFunctionObjectType(DispersedPhaseVelocity, CloudType);           \
alquimista is offline   Reply With Quote

Old   February 1, 2013, 02:39
Default
  #31
Senior Member
 
Jie
Join Date: Jan 2010
Location: Australia
Posts: 134
Rep Power: 16
jiejie is on a distinguished road
Quote:
Originally Posted by eelcovv View Post
Hi wellDone,

Code:
cloudFunctions
{
   voidFraction;

}
Eelco
Hi eelcovv

Could I ask how come my kinematicCloudTheta is like the following after I add the voidFraction in the kinematicCloudProperties with the cavityMassPartUncoupledSD_clear case?

Code:
dimensions      [0 0 0 0 0 0 0];

internalField   uniform 0;

boundaryField
{
    movingWall
    {
        type            calculated;
        value           uniform 0;
    }
    walls
    {
        type            calculated;
        value           uniform 0;
    }
}
Thank you very much.

Jie
jiejie is offline   Reply With Quote

Old   February 28, 2013, 04:33
Default
  #32
Senior Member
 
Eelco van Vliet
Join Date: Mar 2009
Location: The Netherlands
Posts: 124
Rep Power: 19
eelcovv is on a distinguished road
Not sure why it stays zero. Are you tracking particles ? I should work, it comes with the standard OF distrubution. Try it in one of the LPT tutorial cases to see if you can get it running.

Cheers
Eelco
eelcovv is offline   Reply With Quote

Old   April 12, 2013, 03:33
Default
  #33
Senior Member
 
Jie
Join Date: Jan 2010
Location: Australia
Posts: 134
Rep Power: 16
jiejie is on a distinguished road
Hi eelcovv

I found that Void Fraction only works with the basicKinematicCloud class but doesn't work with basicKinematicColliding class. The basicKinematicColliding class is the basicKinematicCloud class plus the colliding. However, the void fraction object function keeps outputting zero with the basicKinematicColliding class, but the basicKinematicCloud class did output the right void fraction.

jiejie
jiejie is offline   Reply With Quote

Old   April 12, 2013, 05:56
Default
  #34
Member
 
Join Date: Apr 2010
Posts: 61
Rep Power: 16
alquimista is on a distinguished road
The function move in Colliding class overrides the function move of the Kinematic class. The function to call the void fraction calculation is not including in this class. You can fix it adding the following line in the file

*/lagrangian/intermediate/parcels/Templates/CollidingParcel/CollidingParcel.C




Code:
                if (p.onBoundary() && td.keepParticle)
                {
                    if (isA<processorPolyPatch>(pbMesh[p.patch(p.face())]))
                    {
                        td.switchProcessor = true;
                    }
                }

                p.age() += dt;

                td.cloud().functions().postMove(p, cellI, dt);

            }
Quote:
Originally Posted by jiejie View Post
Hi eelcovv

I found that Void Fraction only works with the basicKinematicCloud class but doesn't work with basicKinematicColliding class. The basicKinematicColliding class is the basicKinematicCloud class plus the colliding. However, the void fraction object function keeps outputting zero with the basicKinematicColliding class, but the basicKinematicCloud class did output the right void fraction.

jiejie
alquimista is offline   Reply With Quote

Old   May 24, 2013, 09:21
Default OpenFOAm with Lagrangian particle Tracking
  #35
Senior Member
 
Albrecht vBoetticher
Join Date: Aug 2010
Location: Zürich, Swizerland
Posts: 237
Rep Power: 16
vonboett is on a distinguished road
...take a look at CFDEM/LIGGGHTS coupling openFOAM to LAMMMPS Lagrangian Particle Code in resolved and unresolved way. For treating the turbulence interaction, a coupling between LIGGGHTS particle code and PALABOS Lattice Boltzmann code is in developement, and its embedding in OpenFOAM will be the next challenge to get a full coupled cascade of turbulent particle laden flow
vonboett is offline   Reply With Quote

Old   June 14, 2013, 07:30
Default mo
  #36
New Member
 
Join Date: May 2012
Posts: 3
Rep Power: 13
koulis is on a distinguished road
thanks solved it;#

Last edited by koulis; June 17, 2013 at 07:57.
koulis is offline   Reply With Quote

Old   August 1, 2013, 09:52
Default
  #37
New Member
 
Cay Myers
Join Date: Jun 2013
Posts: 14
Rep Power: 12
baila12 is on a distinguished road
Thank you for posting this solver! I am very interested in using it and am wondering if you have any advice for how to compile it using version 2.2.

Last edited by baila12; August 2, 2013 at 08:07. Reason: Typo
baila12 is offline   Reply With Quote

Old   August 9, 2013, 04:13
Default
  #38
New Member
 
Thomas F.
Join Date: Jun 2013
Location: Graz, Austria
Posts: 14
Rep Power: 12
Dommy is on a distinguished road
First - thanks eelcovv for this wonderful working solver - pretty much what I needed in advance to the existing solvers in OF!

In case of errors while compiling the solver I changed
Code:
-I$(FOAM_USER_SRC)/lagrangian/incompressible/intermediate/lnInclude \
to the absolute path - e.g.
Code:
-I/disk701/home/Dommy/OpenFOAM/Dommy-2.1.x/userPrograms/lagrangian/incompressible/intermediate/lnInclude \
(just where lnInclude of the new langrangian lib is located)

I´m thinking about adding a collision model (such as implemented in icoUncoupledParcelFoam) to that solver. It would make it more accurate for high mass loaddings. Any experiences with that?

Speaking of high mass loadings - at the moment I try to validate the solver (with other Euler-Langrange solvers in OF21x) for some test cases.

In order to reach significant mass loadings (22 - 100%) one has unite particles to parcels. The solver seams to have problems with a large number of particles per parcel.

It crashs from one time step to another with exploding time step continuity errors. By reducing the particles per parcel it works fine again but more parcels have to be calculated - somebody has experienced the same?

Regards,
Tom
Dommy is offline   Reply With Quote

Old   August 19, 2013, 20:25
Default
  #39
Member
 
India
Join Date: Oct 2012
Posts: 84
Rep Power: 13
mayank.dce2k7 is on a distinguished road
Hi Eelcov,

Thanks for the wonderful solver. I was looking for two way coupled Lagrangian solver and your solver works great!

I am simulating a case were one tube having one inlet bifurcates into two branches having one outlet each.

The problem is I want a steady state Lagrangian solver. Now, I started studying your solver and in a similar way I tried to modify 'bouyantBousinessqSimpleFoam' as your solver was based on 'bouyantBousinessqPimpleFoam' and I compiled the solver succesfully but when I am running on a test case I am getting following errors:

--> FOAM FATAL ERROR:
temporary deallocated

From function T& Foam::tmp<T>:perator()()
in file /opt/openfoam211/src/OpenFOAM/lnInclude/tmpI.H at line 158.

FOAM aborting

#0 Foam::error:rintStack(Foam::Ostream&) in "/opt/openfoam211/platforms/linux64GccDPOpt/lib/libOpenFOAM.so"
#1 Foam::error::abort() in "/opt/openfoam211/platforms/linux64GccDPOpt/lib/libOpenFOAM.so"
#2
in "/home/mayank/OpenFOAM/mayank-2.1.1/platforms/linux64GccDPOpt/bin/simpleCoupledKinematicParcelFoam"
#3 __libc_start_main in "/lib/x86_64-linux-gnu/libc.so.6"
#4
in "/home/mayank/OpenFOAM/mayank-2.1.1/platforms/linux64GccDPOpt/bin/simpleCoupledKinematicParcelFoam"
Aborted (core dumped)

I don't understand where to remove this error. I checked I removed field 'T' from everywhere within the solver. I have also attached a copy of modified steady state Lagrangian solver.

Please advice me.

Regards,
Mayank
Attached Files
File Type: gz simpleCoupledKinematicParcelFoam.tar.gz (8.7 KB, 52 views)
mayank.dce2k7 is offline   Reply With Quote

Old   August 20, 2013, 14:44
Default
  #40
Member
 
India
Join Date: Oct 2012
Posts: 84
Rep Power: 13
mayank.dce2k7 is on a distinguished road
I removed the above error....I made a mistake while editing the solver.

Thanks again for transient two way coupled solver.
mayank.dce2k7 is offline   Reply With Quote

Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are Off
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
Particle tracking results are nonsense Paul FLUENT 16 October 17, 2019 14:12
Water subcooled boiling Attesz CFX 7 January 5, 2013 03:32
Check particle impaction with User Fortran Julian K. CFX 3 January 12, 2012 09:46
massless particle tracking problem Renold FLUENT 0 January 26, 2011 14:23
A model is used to model particle interaction with the geometry dungsidietquy FLUENT 0 November 4, 2009 16:05


All times are GMT -4. The time now is 15:55.