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

Bubble column with sprayFoam

Register Blogs Community New Posts Updated Threads Search

Like Tree2Likes
  • 1 Post By dav.dap83
  • 1 Post By Dommy

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   March 19, 2013, 13:11
Default Bubble column with sprayFoam
  #1
Member
 
Davide D.
Join Date: Oct 2012
Location: Birmingham (UK)
Posts: 44
Rep Power: 13
dav.dap83 is on a distinguished road
Hi everyone,

I want to reproduce a bubble column inside water with sprayFoam, namely a water tank with an air nozzle on the bottom. The reason why I want to use sprayFoam instead of a VOF model is that my computational domain is a large tank (about 10 m diameter, 6 m height), and bubbles dimensions are much smaller than cells size.

I am encountering a problem, namely the bubbles just fall towards the bottom instead of rising. Here are my ./constant files:

thermophysicalProperties:
Code:
thermoType      hsPsiMixtureThermo<reactingMixture<gasThermoPhysics>>;

CHEMKINFile     "$FOAM_CASE/constant/chemkin/chem.inp";

CHEMKINThermoFile "~OpenFOAM/thermoData/therm.dat";

inertSpecie     CO2 CH4;


liquids
{
    liquidComponents ( H2O );
    H2O
    {
        defaultCoeffs   yes;
    }
}

solids
{
    solidComponents ( );
}
sprayCloudProperties:
Code:
solution
{
    active          true;
    coupled         true;
    transient       yes;
    cellValueSourceCorrection on;

    sourceTerms
    {
        schemes
        {
            rho             explicit 1;
            U               explicit 1;
            Yi              explicit 1;
            hs              explicit 1;
        }
    }

    interpolationSchemes
    {
        rho             cell;
        U               cellPoint;
        mu              cell;
        T               cell;
        Cp              cell;
        p               cell;
    }

    integrationSchemes
    {
        U               Euler;
        T               analytical;
    }
}


constantProperties
{
    parcelTypeId    1;

    rhoMin          1e-15;
    TMin            300;
    pMin            1000;
    minParticleMass 1e-15;

    rho0            1;
    T0              300;
    Cp0             4187;

    youngsModulus   1e9;
    poissonsRatio   0.35;

    epsilon0        1;
    f0              0.5;
    Pr              0.7;
    Tvap            373;
    Tbp             373;

    constantVolume  false;
}


subModels
{
    particleForces
    {
        pressureGradient
        {
             U U;
        };
        sphereDrag;
        gravity;
    }

    injectionModel  coneNozzleInjection;

    dispersionModel none;

    patchInteractionModel standardWallInteraction;

    heatTransferModel none;

    compositionModel singlePhaseMixture;

    phaseChangeModel none;

    surfaceFilmModel none;

    atomizationModel none;

    breakupModel    none;

    stochasticCollisionModel none;

    radiation       off;
    gravity         on;

    coneNozzleInjectionCoeffs
    {
        SOI             0;
        massTotal       6.0e-8;
        parcelBasisType mass;
        injectionMethod disc;
        flowType        flowRateAndDischarge;
        outerDiameter   2e-3;
        innerDiameter   0;
        duration        0.2;
        position        ( 0 0.005 0 );
        direction       ( 0 1 0 );
        parcelsPerSecond 20;
        flowRateProfile table
        (
            (0   3e-7)
            (0.2 3e-7)
        );

        Cd              constant 0.9;

        thetaInner      constant 0.0;
        thetaOuter      constant 10.0;

        sizeDistribution
        {
            type        RosinRammler;

            RosinRammlerDistribution
            {
                minValue        1e-06;
                maxValue        0.00015;
                d               0.00015;
                n               3;
            }
        }
    }

    standardWallInteractionCoeffs
    {
        type            rebound;
    }

    RanzMarshallCoeffs
    {
        BirdCorrection  true;
    }

    singlePhaseMixtureCoeffs
    {
        phases
        (
            liquid
            {
                H2O               1;
            }
        );
    }

    liquidEvaporationBoilCoeffs
    {
        enthalpyTransfer enthalpyDifference;

        activeLiquids    ( H2O );
    }

    ReitzDiwakarCoeffs
    {
        solveOscillationEq yes;
        Cbag            6;
        Cb              0.785;
        Cstrip          0.5;
        Cs              10;
    }

    TABCoeffs
    {
        y0              0;
        yDot0           0;
        Cmu             10;
        Comega          8;
        WeCrit          12;
    }
}


cloudFunctions
{}
Thank you in advance for any help.
BlnPhoenix likes this.
dav.dap83 is offline   Reply With Quote

Old   March 19, 2013, 13:53
Default
  #2
ris
Member
 
ri
Join Date: Oct 2012
Posts: 34
Rep Power: 13
ris is on a distinguished road
Hello,

If you are injecting air into water, should the liquid you specified in thermophysical properties/sprayCloudProperties be AIR and not H2O. Then defining H2O in your 0/ folder as:

internalField uniform 1.0;

unless I have misunderstood your case.

regards,

ris
ris is offline   Reply With Quote

Old   March 20, 2013, 05:39
Default
  #3
Member
 
Davide D.
Join Date: Oct 2012
Location: Birmingham (UK)
Posts: 44
Rep Power: 13
dav.dap83 is on a distinguished road
I modified sprayCloudProperties in the following way:
Code:
solution
{
    active          true;
    coupled         true;
    transient       yes;
    cellValueSourceCorrection on;

    sourceTerms
    {
        schemes
        {
            rho             explicit 1;
            U               explicit 1;
            Yi              explicit 1;
            hs              explicit 1;
        }
    }

    interpolationSchemes
    {
        rho             cell;
        U               cellPoint;
        mu              cell;
        T               cell;
        Cp              cell;
        p               cell;
    }

    integrationSchemes
    {
        U               Euler;
        T               analytical;
    }
}


constantProperties
{
    parcelTypeId    1;

    rhoMin          1e-15;
    TMin            300;
    pMin            1000;
    minParticleMass 1e-15;

    rho0            1;
    T0              300;
    Cp0             4187;

    youngsModulus   1e9;
    poissonsRatio   0.35;

    epsilon0        1;
    f0              0.5;
    Pr              0.7;
    Tvap            373;
    Tbp             373;

    constantVolume  false;
}


subModels
{
    particleForces
    {
        pressureGradient
        {
             U U;
        };
        sphereDrag;
        gravity;
    }

    injectionModel  coneNozzleInjection;

    dispersionModel none;

    patchInteractionModel standardWallInteraction;

    heatTransferModel none;

    compositionModel singlePhaseMixture;

    phaseChangeModel none;

    surfaceFilmModel none;

    atomizationModel none;

    breakupModel    none; // ReitzKHRT;

    stochasticCollisionModel none;

    radiation       off;
    gravity         on;

    coneNozzleInjectionCoeffs
    {
        SOI             0;
        massTotal       6.0e-8;
        parcelBasisType mass;
        injectionMethod disc;
        flowType        flowRateAndDischarge;
        outerDiameter   2e-3;
        innerDiameter   0;
        duration        0.2;
        position        ( 0 0.005 0 );
        direction       ( 0 1 0 );
        parcelsPerSecond 20;
        flowRateProfile table
        (
            (0   3e-7)
            (0.2 3e-7)
        );

        Cd              constant 0.9;

        thetaInner      constant 0.0;
        thetaOuter      constant 10.0;

        sizeDistribution
        {
            type        RosinRammler;

            RosinRammlerDistribution
            {
                minValue        1e-06;
                maxValue        0.00015;
                d               0.00015;
                n               3;
            }
        }
    }

    standardWallInteractionCoeffs
    {
        type            rebound;
    }

    RanzMarshallCoeffs
    {
        BirdCorrection  true;
    }

    singlePhaseMixtureCoeffs
    {
        phases
        (
            gas
            {
                CO2               1;
            }
        );
    }

    ReitzDiwakarCoeffs
    {
        solveOscillationEq yes;
        Cbag            6;
        Cb              0.785;
        Cstrip          0.5;
        Cs              10;
    }

    TABCoeffs
    {
        y0              0;
        yDot0           0;
        Cmu             10;
        Comega          8;
        WeCrit          12;
    }
}


cloudFunctions
{}
and thermophysicalProprerties as:
Code:
thermoType      hsPsiMixtureThermo<reactingMixture<gasThermoPhysics>>;

CHEMKINFile     "$FOAM_CASE/constant/chemkin/chem.inp";

CHEMKINThermoFile "~OpenFOAM/thermoData/therm.dat";

inertSpecie     CO2 CH4;

liquids
{
    liquidComponents ( H2O );
    H2O
    {
        defaultCoeffs   yes;
    }
}

gases
{
    gasComponents ( CO2 );
    CO2
    {
        defaultCoeffs   yes;
    }
}

solids
{
    solidComponents ( );
}
but nothing changes.

I also tried to modify thermophysicalProperties as follows:
Code:
thermoType      hsPsiMixtureThermo<reactingMixture<gasThermoPhysics>>;

CHEMKINFile     "$FOAM_CASE/constant/chemkin/chem.inp";

CHEMKINThermoFile "~OpenFOAM/thermoData/therm.dat";

inertSpecie     CO2 CH4;


liquids
{
    liquidComponents ( );
}

gases
{
    gasComponents ( CO2 );
    CO2
    {
        defaultCoeffs   yes;
    }
}

solids
{
    solidComponents ( );
}
but the solver crashes as soon as the first parcel is injected into the system. The error message is:
Code:
Solving cloud sprayCloud
#0  Foam::error::printStack(Foam::Ostream&) in "/opt/openfoam211/platforms/linux64GccDPOpt/lib/libOpenFOAM.so"
#1  Foam::sigSegv::sigHandler(int) in "/opt/openfoam211/platforms/linux64GccDPOpt/lib/libOpenFOAM.so"
#2   in "/lib/x86_64-linux-gnu/libc.so.6"
#3  Foam::liquidMixtureProperties::X(Foam::Field<double> const&) const in "/opt/openfoam211/platforms/linux64GccDPOpt/lib/libliquidMixtureProperties.so"
#4  
 in "/opt/openfoam211/platforms/linux64GccDPOpt/bin/sprayFoam"
#5  
 in "/opt/openfoam211/platforms/linux64GccDPOpt/bin/sprayFoam"
#6  
 in "/opt/openfoam211/platforms/linux64GccDPOpt/bin/sprayFoam"
#7  
 in "/opt/openfoam211/platforms/linux64GccDPOpt/bin/sprayFoam"
#8  
 in "/opt/openfoam211/platforms/linux64GccDPOpt/bin/sprayFoam"
#9  __libc_start_main in "/lib/x86_64-linux-gnu/libc.so.6"
#10  
 in "/opt/openfoam211/platforms/linux64GccDPOpt/bin/sprayFoam"
Segmentation fault (core dumped)
dav.dap83 is offline   Reply With Quote

Old   March 20, 2013, 08:09
Default
  #4
ris
Member
 
ri
Join Date: Oct 2012
Posts: 34
Rep Power: 13
ris is on a distinguished road
Hello,

The segmentation fault occurs as a result of removing the liquid from the thermophysical properties file.
Are the diameters of the bubbles constant? If yes make sure to change size distribution settings and the corresponding diameters in the sprayCloudProperties file.


regards,

ris
ris is offline   Reply With Quote

Old   March 20, 2013, 10:31
Default
  #5
Member
 
Davide D.
Join Date: Oct 2012
Location: Birmingham (UK)
Posts: 44
Rep Power: 13
dav.dap83 is on a distinguished road
I tried some modifications, but without success.

I modified constantVolume and sizeDistribution entries in sprayCloudProperties:
Code:
solution
{
    active          true;
    coupled         true;
    transient       yes;
    cellValueSourceCorrection on;

    sourceTerms
    {
        schemes
        {
            rho             explicit 1;
            U               explicit 1;
            Yi              explicit 1;
            hs              explicit 1;
        }
    }

    interpolationSchemes
    {
        rho             cell;
        U               cellPoint;
        mu              cell;
        T               cell;
        Cp              cell;
        p               cell;
    }

    integrationSchemes
    {
        U               Euler;
        T               analytical;
    }
}


constantProperties
{
    parcelTypeId    1;

    rhoMin          1e-15;
    TMin            300;
    pMin            1000;
    minParticleMass 1e-15;

    rho0            1;
    T0              300;
    Cp0             4187;

    youngsModulus   1e9;
    poissonsRatio   0.35;

    epsilon0        1;
    f0              0.5;
    Pr              0.7;
    Tvap            373;
    Tbp             373;

    constantVolume  true;
}


subModels
{
    particleForces
    {
        pressureGradient
        {
             U U;
        };
        sphereDrag;
        gravity;
    }

    injectionModel  coneNozzleInjection;
    dispersionModel none;
    patchInteractionModel standardWallInteraction;
    heatTransferModel none;
    compositionModel singlePhaseMixture;
    phaseChangeModel none;
    surfaceFilmModel none;
    atomizationModel none;
    breakupModel    none;
    stochasticCollisionModel none;

    radiation       off;
    gravity         on;
    pressureGradient on;

    coneNozzleInjectionCoeffs
    {
        SOI             0;
        massTotal       6.0e-8;
        parcelBasisType mass;
        injectionMethod disc;
        flowType        flowRateAndDischarge;
        outerDiameter   2e-3;
        innerDiameter   0;
        duration        0.2;
        position        ( 0 0.01 0 );
        direction       ( 0 1 0 );
        parcelsPerSecond 20;
        flowRateProfile table
        (
            (0   3e-7)
            (0.2 3e-7)
        );

        Cd              constant 0.9;

        thetaInner      constant 0.0;
        thetaOuter      constant 10.0;

        sizeDistribution
        {
            type        fixedValue;

            fixedValueDistribution
            {
                value        3e-3;
            }
        }
    }

    standardWallInteractionCoeffs
    {
        type            rebound;
    }

    singlePhaseMixtureCoeffs
    {
        phases
        (
            gas
            {
                CO2               1;
            }
        );
    }


cloudFunctions
{}
The entries massTotal, outerDiameter,duration, parcelsPerSecond and flowRateProfile table are tuned in order to have four parcles with diameter=3mm, density=1kg/m3 and inlet velocity=0.1m/s.
dav.dap83 is offline   Reply With Quote

Old   June 12, 2013, 10:27
Default
  #6
New Member
 
Thomas F.
Join Date: Jun 2013
Location: Graz, Austria
Posts: 14
Rep Power: 12
Dommy is on a distinguished road
Hello dav.dap!

I was trying to do the same as you did but we both were wrong. For some reasons OpenFoam calculates the number of particles to inject in a different way.

If you choose
Quote:
parcelBasisType mass
this appears to be the calculation

Code:
case pbMass:
         {
             nP =
                 volume/volumeTotal_
                *massTotal_/rho
                /(parcels*mathematicalConstant::pi/6.0*pow3(diameter));
             break;
         }
If you choose
Quote:
parcelBasisType number
this appears to be the calculation

Code:
case pbNumber:
         {
             nP = massTotal_/(rho*volumeTotal_);
             break;
         }
both from
Quote:
OpenFOAM-2.1.x/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/ConeNozzleInjection
with

Code:
volumeTotal_ = flowRateProfile_.integrate(0.0, duration_);
Until now I did not manage to figure out how this works and how I can inject the number of particles I want to - any help is welcome
Mojtaba.a likes this.
Dommy is offline   Reply With Quote

Old   June 13, 2013, 10:25
Default
  #7
Member
 
Davide D.
Join Date: Oct 2012
Location: Birmingham (UK)
Posts: 44
Rep Power: 13
dav.dap83 is on a distinguished road
Hi,

I succeeded in describing rising bubbles by changing solver. For some reason sprayFoam seems to be unable do describe gas parcels inside a liquid phase; but reactingParcelFoam does. Just turn off all the thermophysics and chemistry and copy&paste injectionModels subdictionary into constant/reactingCloud1Properties.
dav.dap83 is offline   Reply With Quote

Old   June 17, 2013, 08:15
Default
  #8
New Member
 
Thomas F.
Join Date: Jun 2013
Location: Graz, Austria
Posts: 14
Rep Power: 12
Dommy is on a distinguished road
Whats your problem with the liquid phase by using sprayFoam? It was mainly made (as the name says) for injecting diesel into air.

BTW: If you want to inject 3mm bubbles with 0,1 m/s at 1kg/m³ you should change parcelBasisType to fixed and sizeDistribution to fixedValue. Than just calculate the amount of particles by parcelsPerSecond * duration. It worked for me.

Code:
 coneNozzleCoeffs
    {
        SOI             0;
        massTotal       6.0e-1;
        parcelBasisType fixed;
        duration        1.25e-2;
        nParticle       2500;
        parcelsPerSecond 200000;
        U0              (0 0 0.1);
        flowRateProfile constant 1;
       ........

    sizeDistribution
        {
            type        fixedValue;
            fixedValueDistribution
            {
                value           0.003;
            }
        }
Dommy is offline   Reply With Quote

Old   June 17, 2013, 08:17
Default
  #9
Member
 
Davide D.
Join Date: Oct 2012
Location: Birmingham (UK)
Posts: 44
Rep Power: 13
dav.dap83 is on a distinguished road
Hi, the problem is the converse: injecting air into a liquid.
dav.dap83 is offline   Reply With Quote

Old   June 17, 2013, 10:36
Default
  #10
Senior Member
 
Aurelien Thinat
Join Date: Jul 2010
Posts: 165
Rep Power: 15
Aurelien Thinat is on a distinguished road
Hi,

It seems that solvers like icoUncoupledKinematicParcelFoam (particles tracking) or twoPhaseEulerFoam (Euler/Euler solver) would fit better to your problem. If you don't have any chemistry at all of course.
But I guess you are not using anymore sprayFoam according to your old post (@June 13, 2013 16:25).
Aurelien Thinat is offline   Reply With Quote

Old   August 13, 2014, 09:10
Default working on bubblecolumns too!
  #11
Member
 
Andreas Weber
Join Date: Jun 2014
Posts: 37
Rep Power: 11
a.weber is on a distinguished road
Hey there,

I'm also working on a solver for bubbly flows, just like you.

So far I have been unsing a composition of sprayFoam and reactingParcelFoam, because I want to use the Breakup-Model coming with the SprayCloud functionality....

So far so good, I have my bubblecolumn with rising bubbles that are breaking up and can coalesce (all work in progress...).

My Problem is, somehow similar to your one: I wasn't really able to set the particles to have the rigth density.... wich could also be your problem with the particles falling down and not rising up.

What ever I do, the "bubbles" will always have a density of 994.511 .
I think my options in the thermophysicalProperties are wrong.

However: setting a higher density of the surrounding fluid is a fast workaround, because buoyancy is calculated throug the density-difference.

best regards
Andy
a.weber is offline   Reply With Quote

Old   July 28, 2016, 08:10
Default
  #12
New Member
 
Join Date: Jul 2016
Posts: 3
Rep Power: 9
TheophileC is on a distinguished road
Quote:
Originally Posted by a.weber View Post
Hey there,

I'm also working on a solver for bubbly flows, just like you.

So far I have been unsing a composition of sprayFoam and reactingParcelFoam, because I want to use the Breakup-Model coming with the SprayCloud functionality....

So far so good, I have my bubblecolumn with rising bubbles that are breaking up and can coalesce (all work in progress...).

My Problem is, somehow similar to your one: I wasn't really able to set the particles to have the rigth density.... wich could also be your problem with the particles falling down and not rising up.

What ever I do, the "bubbles" will always have a density of 994.511 .
I think my options in the thermophysicalProperties are wrong.

However: setting a higher density of the surrounding fluid is a fast workaround, because buoyancy is calculated throug the density-difference.

best regards
Andy
Hi Andreas,

How did you set your composition of sprayFoam and reactingParcelFoam?
I want to use the coalescence model "ORourke" from SprayFoam in ReactingParcelFoam. I add "ORoukeCollision" in intermediate library but after compiling the library and the new solver I still get
Quote:
--> FOAM FATAL ERROR:
Unknown model type type ORourke, constructor not in hash table
Can you give me a hint ?


EDIT : I add the new collision model in "makeReactingMultiphaseParcelStochasticCollisionMo dels.H" and I can select it now but coalescence still not happens, my 2 particules pass through each other. Have you a solution ?

Last edited by TheophileC; August 1, 2016 at 10:55.
TheophileC is offline   Reply With Quote

Old   August 2, 2016, 07:30
Default
  #13
Member
 
Andreas Weber
Join Date: Jun 2014
Posts: 37
Rep Power: 11
a.weber is on a distinguished road
Hi,

hope you have turned the coalescence switches to on ;-)

When you have parcels with more than 1 particle, it can happen, that only some of them do coalesce and the rest stays untouched. Your parcel will then not be deleted but will change in the number of particles it carries.

best regards
a.weber is offline   Reply With Quote

Old   August 2, 2016, 09:39
Default
  #14
New Member
 
Join Date: Jul 2016
Posts: 3
Rep Power: 9
TheophileC is on a distinguished road
I found my mistake, my 2 particules are now interacting but the coalescence not happens yet.
My simulation is running but when the particules are about to coalesce i got this error :

Quote:
#0 Foam::error:rintStack(Foam::Ostream&) at ??:?
#1 Foam::sigSegv::sigHandler(int) at ??:?
#2 ? in "/lib/x86_64-linux-gnu/libc.so.6"
#3 Foam::liquidMixtureProperties::X(Foam::Field<doubl e> const&) const at ??:?
#4 Foam::ORourkeCollision<Foam::KinematicCloud<Foam:: Cloud<Foam::ReactingMultiphaseParcel<Foam::Reactin gParcel<Foam::ThermoParcel<Foam::KinematicParcel<F oam:article> > > > > > >::collide(double) at ??:?
#5 ? at ??:?
#6 ? at ??:?
#7 ? at ??:?
#8 __libc_start_main in "/lib/x86_64-linux-gnu/libc.so.6"
#9 ? at ??:?
Erreur de segmentation (segmentation fault)
Previous posts talk about the liquidMixtureProperties error but there is no solution.
Do you know how to resolve this kind of error ? Do you know if the volume of the coalesced particule will change ?


I didn't change anything in ORourkeCollision.C and my reactingCloud1Properties file look like this :

Code:
solution
{
    active          true;
    coupled         true;//false;
    transient       yes;
    cellValueSourceCorrection off;
    maxCo           0.3;

    sourceTerms
    {
        schemes
        {
            rho             explicit 1;
            U               explicit 1;
            Yi              explicit 1;
            h               explicit 1;
            radiation       explicit 1;
        }
    }

    interpolationSchemes
    {
        rho             cell;
        U               cellPoint;
        thermo:mu       cell;
        T               cell;
        Cp              cell;
        kappa           cell;
        p               cell;
    }

    integrationSchemes
    {
        U               Euler;
        T               Euler;
    }
}


constantProperties
{
    rho0            0.5;//1000;
    T0              350;
    Cp0             4100;

    constantVolume  false;
}


subModels
{
    particleForces
    {
        sphereDrag;
        gravity;
    }

    injectionModels
    {
        model1
        {
            type            manualInjection;
            massTotal       2.047e-09;//5.23599e-10; // 1 droplet of density 1000 kg/m3
          //  inputFile       "parcelInjectionProperties";
        parcelBasisType mass;
            SOI             0;
        
            positionsFile   "reactingCloud1Positions";
        
            U0              (0 0 0);
            
       sizeDistribution
            {
                type uniform;
                uniformDistribution
                {
                    minValue        100e-06;
                    maxValue        100e-06;
                }
            }
        

        
        }
        
      /*   model2
        {
            type            manualInjection;
            massTotal       5.23599e-10;//5.23599e-10; // 1 droplet of density 1000 kg/m3
            //nparticule 2;
        parcelBasisType mass;
            SOI             0;
            positionsFile   "reactingCloud1Positions2";
            U0              (0 0.5 0);
            sizeDistribution
            {
                type uniform;
                uniformDistribution
                {
                    minValue        100e-06;
                    maxValue        100e-06;
                }
            }
        }
        */
    }

    dispersionModel none;

    patchInteractionModel standardWallInteraction;

    heatTransferModel none;//RanzMarshall;

    compositionModel singleMixtureFraction;

    phaseChangeModel none;//liquidEvaporation;

    devolatilisationModel none;

    surfaceReactionModel none;

    stochasticCollisionModel   ORourke;// trajectory; 
        
        singleMixtureFractionCoeffs
    {
        phases
        (
            gas
            {
            }
            liquid
            {
                H2O 1;
            }
            solid
            {
            }
        );
        YGasTot0        0;
        YLiquidTot0     1;
        YSolidTot0      0;
    }
    
    
    ORourkeCoeffs
    {
      coalescence on;
    } 
    
    trajectoryCoeffs
    {
      cSpace 1;
      cTime 0.3;
      coalescence true;
    } 

    suppressionCollisionCoeffs
    {
    }

    
    surfaceFilmModel none;

    radiation       off;

    standardWallInteractionCoeffs
    {
        type            rebound;
    }
TheophileC is offline   Reply With Quote

Old   August 2, 2016, 10:42
Default
  #15
Member
 
Andreas Weber
Join Date: Jun 2014
Posts: 37
Rep Power: 11
a.weber is on a distinguished road
hmm semms there is something wrong in the line

Code:
                        
const scalarField X(liquids_.X(p1.Y()));
Here, thermophysical data is needed to calculate the molar concentrations of all substances in your parcel.

Since the sprayFoam solver uses mostly different thermophysical models this can be the root of the problem, e.g. I am using the following in my cloudProperties:
Code:
    compositionModel singlePhaseMixture;
    singlePhaseMixtureCoeffs
    {
        phases
        (
            gas
            {
                CO2 1;
            }
        );
    }
.... maybe you should just turn off this lines a bit to test it out.
You can simply leave this calculations out if your colliding parcels have the same cp, sigma, mu etc....

regards
a.weber is offline   Reply With Quote

Old   August 3, 2016, 02:10
Default
  #16
New Member
 
Join Date: Jul 2016
Posts: 3
Rep Power: 9
TheophileC is on a distinguished road
Hello,
Thank you, my case is working now. I'll post my modification later.
TheophileC is offline   Reply With Quote

Old   August 4, 2016, 04:04
Default
  #17
Member
 
Andreas Weber
Join Date: Jun 2014
Posts: 37
Rep Power: 11
a.weber is on a distinguished road
before i forget,

there is a bug in orourke collision model... in newer versions it has been corrected:

Code:
  
  // collision occurs
    if (xx < collProb)
    {
edit: had a closer look, seems to be ok in the original code....

i made some other changes, there are two ways of calculating the collision propability:
1. using p = exp(-nu)
then xx > p
2. using directly xx < nu
(when your nParticles = 1)
a.weber is offline   Reply With Quote

Old   December 9, 2016, 22:18
Default
  #18
New Member
 
Li Linmin
Join Date: Nov 2015
Location: China
Posts: 27
Rep Power: 10
lilinmin is on a distinguished road
Quote:
Originally Posted by TheophileC View Post
Hello,
Thank you, my case is working now. I'll post my modification later.
Dear,
I am also working on adding the spray cloud in to the multiphase solver but I got the error while making the solver:
no matching function for call to SprayCloud...
Can you help me with that? I also don't want to considering the reacting. Thank you very much.
Linmin Li
lilinmin is offline   Reply With Quote

Old   November 30, 2020, 14:06
Default
  #19
Member
 
Riddhideep Biswas
Join Date: May 2020
Posts: 30
Rep Power: 5
Rid@foam is on a distinguished road
Code:
thermoType      hsPsiMixtureThermo<reactingMixture<gasThermoPhysics>>;

CHEMKINFile     "$FOAM_CASE/constant/chemkin/chem.inp";

CHEMKINThermoFile "~OpenFOAM/thermoData/therm.dat";

inertSpecie     CO2 CH4;


liquids
{
    liquidComponents ( H2O );
    H2O
    {
        defaultCoeffs   yes;
    }
}

solids
{
    solidComponents ( );
}
Hello everyone!!
Can anyone tell me what is the meaning of defaultCoeffs under liquidComponents (H2O) and why is it set to yes? What will be the case if I set defaultCoeffs to false?
Thanks in advance!
Rid@foam is offline   Reply With Quote

Reply

Tags
bubble, sprayfoam, water and air


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
Bubble size distribution : Bubble column oj.bulmer CFX 8 June 7, 2019 05:03
Bubble Column Modelling dlaw FLUENT 24 October 31, 2017 06:01
bubble column ken FLUENT 1 June 30, 2013 01:18
Modelling a Water-Air bubble column GerhardHolzinger OpenFOAM Running, Solving & CFD 1 February 28, 2012 04:12
bubble rising in a column swamysrikanth Main CFD Forum 2 September 27, 2010 08:59


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