CFD Online Discussion Forums

CFD Online Discussion Forums (http://www.cfd-online.com/Forums/)
-   OpenFOAM (http://www.cfd-online.com/Forums/openfoam/)
-   -   icoLagrangianFoam OF1.6 myNewParticleSolver (http://www.cfd-online.com/Forums/openfoam/79271-icolagrangianfoam-of1-6-mynewparticlesolver.html)

heavy_user August 18, 2010 09:29

icoLagrangianFoam OF1.6 myNewParticleSolver
 
1 Attachment(s)
Hi There,

i have downloaded icoLagrangianFoam and changed things so that it works on OpenFoam-1.6 (I attached it below).

I copy pasted the modified Files and added the necessary "# includes header.h" to a copy of the reactingFoam-solver...
It works all fine to a point where he tries to compile:
Code:

IncompressibleCloud cloud(vpi,U);
Then he throws at me :
Code:


myReactingParticleFoam.C:(.text+0x1aed): undefined reference to `Foam::IncompressibleCloud::IncompressibleCloud(Foam::volPointInterpolation const&, Foam::GeometricField<Foam::Vector<double>, Foam::fvPatchField, Foam::volMesh> const&)'
myReactingParticleFoam.C:(.text+0x52cb): undefined reference to `Foam::IncompressibleCloud::~IncompressibleCloud()'
myReactingParticleFoam.C:(.text+0x5f45): undefined reference to `Foam::IncompressibleCloud::~IncompressibleCloud()'

I dont know how to deal with this, since the signature of the constructor call matches the signature in in "incompressibleCloud.C".
The destructor is also defined in "incompressibleCloud.C".
So why does it work with the icoLagrangianFoam and not with the reactingFoam?

I would appreciate any help!!

THX!














p.s.:
The incompressibleCloud.C looks like this

Code:

/*---------------------------------------------------------------------------*\
  =========                |
  \\      /  F ield        | OpenFOAM: The Open Source CFD Toolbox
  \\    /  O peration    |
  \\  /    A nd          | Copyright (C) 1991-2005 OpenCFD Ltd.
  \\/    M anipulation  |
  -------------------------------------------------------------------------------
  License
  This file is part of OpenFOAM.

  OpenFOAM is free software; you can redistribute it and/or modify it
  under the terms of the GNU General Public License as published by the
  Free Software Foundation; either version 2 of the License, or (at your
  option) any later version.

  OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  for more details.

  You should have received a copy of the GNU General Public License
  along with OpenFOAM; if not, write to the Free Software Foundation,
  Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA

  Class
  IncompressibleCloud

  Description

  \*----------------------------------------------------------------------------*/

#include "IncompressibleCloud.H"

namespace Foam
{
    defineTypeNameAndDebug(IncompressibleCloud, 0);
};

namespace Foam {

  // * * * * * * * * * * * * * Private Member Functions  * * * * * * * * * * * //


  // * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //


  // Construct from components
  IncompressibleCloud::IncompressibleCloud(
                      const volPointInterpolation& vpi,
                      const volVectorField& U
                      )
    :
    Cloud<HardBallParticle>(U.mesh(),false),
   
    constProps_(
        IOdictionary(
            IOobject
            (
                "cloudProperties",
                U.time().constant(),
                U.db(),
                IOobject::MUST_READ,
                IOobject::NO_WRITE
            )
        )
    ),
    runTime_(U.time()),
    time0_(runTime_.value()),
    mesh_(U.mesh()),
    volPointInterpolation_(vpi),
    random_(666),
    U_(U),
    smoment_(mesh_.nCells(), vector::zero),
    cloudProperties_
    (
    IOobject
    (
      "cloudProperties",
      U.time().constant(),
      U.db(),
      IOobject::MUST_READ,
      IOobject::NO_WRITE
      )
    ),
    interpolationSchemes_(cloudProperties_.subDict("interpolationSchemes"))
  {
    HardBallParticle::readFields(*this);
  }



  // * * * * * * * * * * * * * * * * Selectors * * * * * * * * * * * * * * * * //

  // * * * * * * * * * * * * * * * * Destructor  * * * * * * * * * * * * * * * //

  IncompressibleCloud::~IncompressibleCloud()
  {}


  // * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
 
  void IncompressibleCloud::evolve() {
    smoment_.setSize(U_.size());
    smoment_ = vector::zero;

    autoPtr<interpolation<vector> > UInt = interpolation<vector>::New
      (
          interpolationSchemes_,
        //remöved  volPointInterpolation_,
          U_
      );
   
    HardBallParticle::trackData td(*this,UInt());

    label particles=size();

    this->move(td);
    this->inject(td); 

    td.reportCounters(particles);
  }

  void IncompressibleCloud::move(HardBallParticle::trackData &td) {
    smoment_ = vector::zero;

    Cloud<HardBallParticle>::move(td);
  }

  void IncompressibleCloud::inject(HardBallParticle::trackData &td) {
      if(runTime_.time().value()<td.constProps().tStart_ || runTime_.time().value()>td.constProps().tEnd_) {
          return;
      }

      scalar prop=random().scalar01();

      if(prop<td.constProps().thres_) {
          vector tmp=(random().vector01()-vector(0.5,0.5,0.5))*2;
          vector pos=td.constProps().center_+tmp*td.constProps().r0_;
         
          tmp=vector(random().GaussNormal(),random().GaussNormal(),random().GaussNormal())/sqrt(3.);
          vector vel=tmp*td.constProps().vel0_+td.constProps().vel1_;
         
          scalar d=fabs(random().GaussNormal())*td.constProps().d1_+td.constProps().d0_;
         
          label cellI=mesh_.findCell(pos);
         
          if(cellI>=0) {
              HardBallParticle* ptr=new HardBallParticle(*this,pos,cellI,d,vel);
             
              ptr->stepFraction() = 1;
             
              addParticle(ptr);
             
              td.countInject();
          }
      }
  }

  // * * * * * * * * * * * * * * * Member Operators  * * * * * * * * * * * * * //


  // * * * * * * * * * * * * * * * Friend Functions  * * * * * * * * * * * * * //


  // * * * * * * * * * * * * * * * Friend Operators  * * * * * * * * * * * * * //

} // namespace Foam

// ************************************************************************* //


gschaider August 18, 2010 10:37

Quote:

Originally Posted by heavy_user (Post 271881)
Hi There,

i have downloaded icoLagrangianFoam and changed things so that it works on OpenFoam-1.6 (I attached it below).

I copy pasted the modified Files and added the necessary "# includes header.h" to a copy of the reactingFoam-solver...
It works all fine to a point where he tries to compile:

You're talking about the icoLagrangianFoam at https://openfoam-extend.svn.sourcefo...agrangianFoam/ are you?

The use of that is discouraged as since 1.5 there are facilities in OF that make most of it obsolete. If you want an example how particles can be added with 10 lines of code or so (most of those are needed to make the particle believe that they are living in a compressible solver) to a normal solvers have a look at https://openfoam-extend.svn.sourcefo...agrangianFoam/ which offers basically the same functionality

heavy_user August 19, 2010 06:51

Hi Bernhard,

thanks for the answer!
I will check it out...

Best

heavy_user August 26, 2010 12:37

Hi Bernhard (and other qualified persons),

so I have played around a little with it..as usual I did not get far.

I added "basicKinematicCloud.H" an constructor for my cloud and an term to the U-equation. Also a file in my case, so it knows where to inject..
It compiles and is running.

So I have some questions.

1. It does not write out any data (the tutorials write out the "lagrangian" folder as I would like it). How do I make him write the lagrangian Data?

2. the running solver says the following for each timestep:
Code:

Cloud: ParticleCloud
    Total number of parcels added  = 18
    Total mass introduced          = 0.0001
    Current number of parcels      = 0
    Current mass in system          = 0

is this a problem? Why is he not summing up ?

3. general question: where are the equations for the lagrangian particles solved/ how do the move ??

Best

gschaider August 27, 2010 04:45

Quote:

Originally Posted by heavy_user (Post 272928)
Hi Bernhard (and other qualified persons),

so I have played around a little with it..as usual I did not get far.

I added "basicKinematicCloud.H" an constructor for my cloud and an term to the U-equation. Also a file in my case, so it knows where to inject..
It compiles and is running.

So I have some questions.

1. It does not write out any data (the tutorials write out the "lagrangian" folder as I would like it). How do I make him write the lagrangian Data?

2. the running solver says the following for each timestep:
Code:

Cloud: ParticleCloud
    Total number of parcels added  = 18
    Total mass introduced          = 0.0001
    Current number of parcels      = 0
    Current mass in system          = 0

is this a problem? Why is he not summing up ?

Well. The the answer is:"Elvis has left the building". Elvis was the name of the 18th particle and like his 17 friends he already exited (probably through the outlet). If no particles are present no lagrangian directory gets written (have you checked all timesteps)

Quote:

Originally Posted by heavy_user (Post 272928)
3. general question: where are the equations for the lagrangian particles solved/ how do the move ??

The answer is in $FOAM_SRC/lagrangian/intermediate/ (look for KinematicParcels and the kinematic submodels)

Bernhard

heavy_user August 27, 2010 07:55

Hi Bernhard,

thanks again!

Elvis seems to be pretty quick!!
The domain is 1m. Maximum speed is 53m/sec which leads to a minimum residence time of 0.018867925 sec. Time step size is 2.5e-6sec. ..
Im a little confused..if elvis travels upstream, would be strange...of he leaves through the sidewall(wedge), but there is only the jet-spreading-velocity in radial direction(towards sidewall) so...:confused:
Code:

*/*---------------------------------------------------------------------------*\
| =========                |                                                |
| \\      /  F ield        | OpenFOAM: The Open Source CFD Toolbox          |
|  \\    /  O peration    | Version:  1.6                                  |
|  \\  /    A nd          | Web:      www.OpenFOAM.org                      |
|    \\/    M anipulation  |                                                |
\*---------------------------------------------------------------------------*/
Build  : 1.6-f802ff2d6c5a
Exec  : myParticleReactingFoam3
Date  : Aug 27 2010
Time  : 13:10:20
Host  : prandtl
PID    : 14967
Case  : /home/niko/Desktop/V10P1
nProcs : 1
SigFpe : Enabling floating point exception trapping (FOAM_SIGFPE).

// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
Create time

Create mesh for time = 0

// using new solver syntax:
rho
{
    solver          PCG;
    preconditioner  DIC;
    tolerance      1e-06;
    relTol          0;
}

// using new solver syntax:
U
{
    solver          PBiCG;
    preconditioner  DILU;
    tolerance      1e-06;
    relTol          0;
}

// using new solver syntax:
p
{
    solver          PCG;
    preconditioner  DIC;
    tolerance      1e-10;
    relTol          0;
}

// using new solver syntax:
Yi
{
    solver          PBiCG;
    preconditioner  DILU;
    tolerance      1e-06;
    relTol          0;
}

// using new solver syntax:
h
{
    solver          PBiCG;
    preconditioner  DILU;
    tolerance      1e-06;
    relTol          0;
}

// using new solver syntax:
k
{
    solver          PBiCG;
    preconditioner  DILU;
    tolerance      1e-10;
    relTol          0;
}

// using new solver syntax:
epsilon
{
    solver          PBiCG;
    preconditioner  DILU;
    tolerance      1e-10;
    relTol          0;
}

Reading chemistry properties


Reading g

Reading thermophysicalProperties
Selecting psiChemistryModel ODEChemistryModel<gasThermoPhysics>
Selecting thermodynamics package hPsiMixtureThermo<reactingMixture<gasThermoPhysics>>
Selecting chemistryReader chemkinReader
Selecting chemistrySolver sequential
ODEChemistryModel: Number of species = 7 and reactions = 1
Reading field U

Reading/calculating face flux field phi

Creating turbulence model.

Selecting turbulence model type RASModel
Selecting RAS turbulence model kEpsilon
kEpsilonCoeffs
{
    Cmu            0.09;
    C1              1.44;
    C2              1.92;
    C3              -0.33;
    sigmak          1;
    sigmaEps        1.3;
    Prt            1;
}

Creating field DpDt

Courant Number mean: 0.0012324 max: 0.259161
--> FOAM Warning :
    From function Cloud<ParticleType>::initCloud(const bool checkClass)
    in file /home/niko/OpenFOAM/OpenFOAM-1.6/src/lagrangian/basic/lnInclude/CloudIO.C at line 51
    Cannot read particle positions file
    "/home/niko/Desktop/V10P1/0/lagrangian/ParticleCloud"
    assuming the initial cloud contains 0 particles.
Selecting DispersionModel StochasticDispersionRAS
Selecting DragModel SphereDrag
Selecting InjectionModel ManualInjection
    Constructing 2-D injection
Selecting pdfType RosinRammler
Selecting PatchInteractionModel StandardWallInteraction
Selecting PostProcessingModel none
Selecting U IntegrationScheme Euler

Starting time loop

Courant Number mean: 0.0012324 max: 0.259161
Time = 2.5e-06

Solving chemistry
diagonal:  Solving for rho, Initial residual = 0, Final residual = 0, No Iterations 0

--> Cloud: ParticleCloud
    Added 18 new parcels

Cloud: ParticleCloud
    Total number of parcels added  = 18
    Total mass introduced          = 0.0001
    Current number of parcels      = 0
    Current mass in system          = 0
DILUPBiCG:  Solving for Ux, Initial residual = 9.89937e-06, Final residual = 1.25774e-09, No Iterations 1
DILUPBiCG:  Solving for Uy, Initial residual = 1, Final residual = 2.06847e-09, No Iterations 2
DILUPBiCG:  Solving for Uz, Initial residual = 1, Final residual = 3.13513e-08, No Iterations 2
DILUPBiCG:  Solving for CH4, Initial residual = 1.08956e-06, Final residual = 1.60948e-10, No Iterations 1
DILUPBiCG:  Solving for O2, Initial residual = 1.08956e-06, Final residual = 1.45812e-10, No Iterations 1
DILUPBiCG:  Solving for H2O, Initial residual = 0, Final residual = 0, No Iterations 0
DILUPBiCG:  Solving for CO2, Initial residual = 0, Final residual = 0, No Iterations 0
DILUPBiCG:  Solving for H2, Initial residual = 1.08956e-06, Final residual = 1.60948e-10, No Iterations 1
DILUPBiCG:  Solving for C6H14, Initial residual = 0, Final residual = 0, No Iterations 0
DILUPBiCG:  Solving for h, Initial residual = 1.32325e-06, Final residual = 2.00099e-10, No Iterations 1
DICPCG:  Solving for p, Initial residual = 0.99998, Final residual = 2.74215e-11, No Iterations 16
DICPCG:  Solving for p, Initial residual = 1.83512e-11, Final residual = 1.83512e-11, No Iterations 0
DICPCG:  Solving for p, Initial residual = 1.83512e-11, Final residual = 1.83512e-11, No Iterations 0
diagonal:  Solving for rho, Initial residual = 0, Final residual = 0, No Iterations 0
time step continuity errors : sum local = 2.49531e-16, global = -7.59107e-17, cumulative = -7.59107e-17
DILUPBiCG:  Solving for epsilon, Initial residual = 0.000535399, Final residual = 6.64667e-14, No Iterations 3
DILUPBiCG:  Solving for k, Initial residual = 7.86551e-06, Final residual = 3.30353e-12, No Iterations 2
ExecutionTime = 4.69 s  ClockTime = 5 s

T gas min/max  = 292.966, 293.04
Courant Number mean: 0.00123257 max: 0.259161
Time = 5e-06

Solving chemistry
diagonal:  Solving for rho, Initial residual = 0, Final residual = 0, No Iterations 0
Cloud: ParticleCloud
    Total number of parcels added  = 18
    Total mass introduced          = 0.0001
    Current number of parcels      = 0
    Current mass in system          = 0
DILUPBiCG:  Solving for Ux, Initial residual = 1.04882e-05, Final residual = 1.89928e-09, No Iterations 1
DILUPBiCG:  Solving for Uy, Initial residual = 0.0115728, Final residual = 1.241e-09, No Iterations 2
DILUPBiCG:  Solving for Uz, Initial residual = 0.329735, Final residual = 1.26857e-08, No Iterations 2
DILUPBiCG:  Solving for CH4, Initial residual = 1.87996e-06, Final residual = 4.79358e-10, No Iterations 1
DILUPBiCG:  Solving for O2, Initial residual = 1.87996e-06, Final residual = 4.34921e-10, No Iterations 1
DILUPBiCG:  Solving for H2O, Initial residual = 0, Final residual = 0, No Iterations 0
DILUPBiCG:  Solving for CO2, Initial residual = 0, Final residual = 0, No Iterations 0
DILUPBiCG:  Solving for H2, Initial residual = 1.87996e-06, Final residual = 4.79358e-10, No Iterations 1
DILUPBiCG:  Solving for C6H14, Initial residual = 0, Final residual = 0, No Iterations 0
DILUPBiCG:  Solving for h, Initial residual = 2.15118e-06, Final residual = 5.853e-10, No Iterations 1
DICPCG:  Solving for p, Initial residual = 0.0183647, Final residual = 4.49163e-11, No Iterations 13
DICPCG:  Solving for p, Initial residual = 2.42097e-11, Final residual = 2.42097e-11, No Iterations 0
DICPCG:  Solving for p, Initial residual = 2.42097e-11, Final residual = 2.42097e-11, No Iterations 0
diagonal:  Solving for rho, Initial residual = 0, Final residual = 0, No Iterations 0
time step continuity errors : sum local = 8.26453e-16, global = -3.35086e-17, cumulative = -1.09419e-16
DILUPBiCG:  Solving for epsilon, Initial residual = 0.000492396, Final residual = 6.30958e-14, No Iterations 3
DILUPBiCG:  Solving for k, Initial residual = 0.000379847, Final residual = 1.27046e-13, No Iterations 3
ExecutionTime = 6.6 s  ClockTime = 7 s

T gas min/max  = 292.952, 293.088
Courant Number mean: 0.00123284 max: 0.259161
Time = 7.5e-06

Solving chemistry
diagonal:  Solving for rho, Initial residual = 0, Final residual = 0, No Iterations 0
Cloud: ParticleCloud
    Total number of parcels added  = 18
    Total mass introduced          = 0.0001
    Current number of parcels      = 0
    Current mass in system          = 0
DILUPBiCG:  Solving for Ux, Initial residual = 1.11296e-05, Final residual = 2.50938e-09, No Iterations 1
DILUPBiCG:  Solving for Uy, Initial residual = 0.00956692, Final residual = 1.15139e-09, No Iterations 2
DILUPBiCG:  Solving for Uz, Initial residual = 0.199243, Final residual = 7.0912e-09, No Iterations 2
DILUPBiCG:  Solving for CH4, Initial residual = 2.88929e-06, Final residual = 1.05279e-09, No Iterations 1
DILUPBiCG:  Solving for O2, Initial residual = 2.88929e-06, Final residual = 9.77396e-10, No Iterations 1
DILUPBiCG:  Solving for H2O, Initial residual = 0, Final residual = 0, No Iterations 0
DILUPBiCG:  Solving for CO2, Initial residual = 0, Final residual = 0, No Iterations 0
DILUPBiCG:  Solving for H2, Initial residual = 2.88929e-06, Final residual = 1.05279e-09, No Iterations 1
DILUPBiCG:  Solving for C6H14, Initial residual = 0, Final residual = 0, No Iterations 0
DILUPBiCG:  Solving for h, Initial residual = 3.30352e-06, Final residual = 1.25508e-09, No Iterations 1
DICPCG:  Solving for p, Initial residual = 0.00778431, Final residual = 7.47355e-11, No Iterations 12
DICPCG:  Solving for p, Initial residual = 4.86441e-11, Final residual = 4.86441e-11, No Iterations 0
DICPCG:  Solving for p, Initial residual = 4.86441e-11, Final residual = 4.86441e-11, No Iterations 0
diagonal:  Solving for rho, Initial residual = 0, Final residual = 0, No Iterations 0
time step continuity errors : sum local = 2.74574e-15, global = -4.83536e-17, cumulative = -1.57773e-16
DILUPBiCG:  Solving for epsilon, Initial residual = 0.000844266, Final residual = 1.26724e-13, No Iterations 3
DILUPBiCG:  Solving for k, Initial residual = 0.000431396, Final residual = 1.61195e-13, No Iterations 3
ExecutionTime = 8.5 s  ClockTime = 9 s

And how do I make him write the lagrangian folder?

best!

gschaider August 27, 2010 09:29

Quote:

Originally Posted by heavy_user (Post 273077)
Hi Bernhard,

thanks again!

Elvis seems to be pretty quick!!
The domain is 1m. Maximum speed is 53m/sec which leads to a minimum residence time of 0.018867925 sec. Time step size is 2.5e-6sec. ..
Im a little confused..if elvis travels upstream, would be strange...of he leaves through the sidewall(wedge), but there is only the jet-spreading-velocity in radial direction(towards sidewall) so...:confused:

And how do I make him write the lagrangian folder?

best!

No particles: no lagrangian-folder.

Check your case-setup. Especially the injection (maybe you're shooting in the wrong direction)

Bernhard

heavy_user August 27, 2010 09:36

Hi Bernhard,

me again...
I figured it out.. ELVIS does not like to sit on the inlet patch :rolleyes:...then he seems to be scared and does not enter the domain.
I placed ELVIS inside now and it is running fine.

Thanks again and have a nice weekend!

Cheers!!

cfd_noob October 1, 2010 07:19

icoLagrangianFoam as http://www.tfd.chalmers.se/~hani/kurser/OS_CFD_2009/AureliaValli
 
I have compiled the icoLagrangian foam under OF 1.6 and I have two questions regarding this solver.

1. I am wondering why the particles are not leaving the computational domain when they reach the outlet of my test case. How and where do you define your outlet as a particle outlet too?

2. I am running into trouble running the case in parallel. Is there any known bug and/or solution to the problem?

Kind regards,
Antonio

The icoLagrangianFoam was compiled as described in:
http://www.tfd.chalmers.se/~hani/kur...m_reviewed.pdf

gschaider October 1, 2010 09:42

Quote:

Originally Posted by cfd_noob (Post 277407)
I have compiled the icoLagrangian foam under OF 1.6 and I have two questions regarding this solver.

1. I am wondering why the particles are not leaving the computational domain when they reach the outlet of my test case. How and where do you define your outlet as a particle outlet too?

2. I am running into trouble running the case in parallel. Is there any known bug and/or solution to the problem?

Kind regards,
Antonio

The icoLagrangianFoam was compiled as described in:
http://www.tfd.chalmers.se/~hani/kurser/OS_CFD_2009/AureliaVallier/Tutorial_icoLagrangianFoam_reviewed.pdf

At first. I do not recommend this icoLagrangianFoam anymore (BTW: wasn't aware of this nice paper from chalmers). Since 1.5 there are better ways to implemetn particles in OF. Have a look at the lagrangian solvers that come with OF or if you want to use an incompressible solver have a look at the tutorials in 1.5-dev. There is an icoLagrangianFoam there that is basically an icoFoam with particles added.

@1: any _patch_ should force particles to leave. walls bounce it back
@2: there seems to be an issue, but for the reasons given above I never investigated it thoroughly

But all this has been discussed elsewhere on the forum. LKook for icoLagrangianFoam and sort the results by time

cfd_noob October 13, 2010 15:59

Hi Bernhard,

Thank you for your answer and advice. I will probably follow as you say, however I do have one question. The HardBallParticle.C .H and respective clouds are nowhere to be seen in the OF 1.6 version. Are there any alternative and similar clases I should use?

Kind Regards,
Antonio

spej October 14, 2010 02:25

You could have a deeper look in the solidparticle.C/H or the submodels of the sprayclasses. They seems to be very similar.

gschaider October 14, 2010 07:37

Quote:

Originally Posted by cfd_noob (Post 279053)
Hi Bernhard,

Thank you for your answer and advice. I will probably follow as you say, however I do have one question. The HardBallParticle.C .H and respective clouds are nowhere to be seen in the OF 1.6 version. Are there any alternative and similar clases I should use?

Kind Regards,
Antonio

As spej suggested either the solidParticle-class or the Kinematic-Parcel has the same functionality as HardBall (drag, reflection on wall, injection) implemented in a more flexible way (run-time selectable submodels)

Bernhard

cfd_noob October 19, 2010 10:21

Hi Senior Member,

Di you have any luck embedding the intermediate lagrangian libraries into your solver? Any example you could share? As far, i have not had any luck.

Kind regards,

spej October 28, 2010 03:13

Hi Foamers,

I have a very strange fault in my simulation. When I try to run a simulation with particles m>10^-12 kg the small particles stick on the wall-patch! What's wrong with my case? I vary the restitutionscoefficient e between 0 and 1 with the same results.
With heavier particles the case runs well.

Jonas Ansoni February 10, 2012 09:03

Quote:

Originally Posted by gschaider (Post 277425)
At first. I do not recommend this icoLagrangianFoam anymore (BTW: wasn't aware of this nice paper from chalmers). Since 1.5 there are better ways to implemetn particles in OF. Have a look at the lagrangian solvers that come with OF or if you want to use an incompressible solver have a look at the tutorials in 1.5-dev. There is an icoLagrangianFoam there that is basically an icoFoam with particles added.

@1: any _patch_ should force particles to leave. walls bounce it back
@2: there seems to be an issue, but for the reasons given above I never investigated it thoroughly

But all this has been discussed elsewhere on the forum. LKook for icoLagrangianFoam and sort the results by time

Hi Bernhard,

I'm intending simulate a multiphase flow in a cilyndrical bioreactor. The tank is composed by a tangential inlet and an internal outlet. I plan to simulate a flow with homogeneous particles with water using one or two-way coupling. Is possible apply icoLagrangianFoam to acess this kind of flow? How I download the newest version of the solver on of1.6? Do you know any tutorial?

Thank's in advance.

gschaider February 11, 2012 06:15

Quote:

Originally Posted by Jonas Ansoni (Post 343787)
Hi Bernhard,

I'm intending simulate a multiphase flow in a cilyndrical bioreactor. The tank is composed by a tangential inlet and an internal outlet. I plan to simulate a flow with homogeneous particles with water using one or two-way coupling. Is possible apply icoLagrangianFoam to acess this kind of flow? How I download the newest version of the solver on of1.6? Do you know any tutorial?

Thank's in advance.

As I said before: icoLagrangianFoam as described on the Wiki page has been discontinued. There is a new version in the tutorials of 1.6-ext (not the "regular" version) in the lagrangian section of the tutorials. It is basically icoFoam with some particles added. If the assumptions of that solver (incompressible, laminar) meet your requirements then you're fine. Otherwise have a look in the tutorials of 2.1 if any of the solvers there does what you need. Or you take icoLagrangianFoam from the 1.6-ext as an example on how to add lagrangian particles to ANY solver you like (mind that that solver does a trick to supply a rho-field as some lagrangian submodels assume that they live in a compressible solver)

Bernhard


All times are GMT -4. The time now is 05:17.