CFD Online Discussion Forums

CFD Online Discussion Forums (
-   OpenFOAM Running, Solving & CFD (
-   -   DSMC Foam - HArd Sphere Model (

archeoptyrx June 19, 2013 15:07

DSMC Foam - HArd Sphere Model
Hello ppl,

I am new to OPENFOAM and i learning it through the tutorials .. I wish i could program by myself for different kind of flow problems .

In DSMCFOAM solver tutorials , for wedge15

// Wall Interaction Model
// ~~~~~~~~~~~~~~~~~~~~~~

WallInteractionModel MaxwellianThermal;

// Binary Collision Model
// ~~~~~~~~~~~~~~~~~~~~~~

BinaryCollisionModel LarsenBorgnakkeVariableHardSphere;

Tref 300;
relaxationCollisionNumber 5.0;

If i wanted to change this model to Hard sphere model , what should i do ? ,

Also if i wanted to change the wall interaction model , what should i do ?

I understand that i should program the necessary model in the solver folder inside the installation directory ??? :confused::confused:

It will be great if some one help me out in this ..


elfuertes June 24, 2013 04:59

Hi archeoptyrx !

First of all, you should look at the other submodels that are already implemented for dsmcFoam, they are in the $FOAM_SRC/lagrangian/dsmc/submodels folder.

If one of them suits you, just change the entry in your dmscProperties dictionnary, for instance :


WallInteractionModel SpecularReflection;
(and add the required options)

If you really need to add a new model, it will be more complicated.
See the following tutorial that can give you a few hints :

Good luck on that,

archeoptyrx July 3, 2013 16:45

Yes I got it . But how do i find the constants that has to be included with this ? .. eg

Binary collison model LArsonbarognke .......

what i should include here ? . How do i find the constants for this model ?
Is it same from the G A Bird book ??? Should i happen to give all the constants that is specified for this model in the book ??

Thanks for the help

elfuertes July 5, 2013 03:59


As I said, you should take a look at the submodel's source code located in the folder :


For instance, for your specific example : if you look at the "LarsenBorgnakkeVariableHardSphere.C" source file, you will notice these lines in the constructor of this class :


template <class CloudType>
    const dictionary& dict,
    CloudType& cloud
    BinaryCollisionModel<CloudType>(dict, cloud, typeName),

As you can see, you will need to provide "Tref" and "relaxationCollisionNumber" entries in the coeff dictionary.

I hope it will help, do not hesitate to look inside the source code and/or to run cases and analyse the output errors.


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