Coupling interval for Settling test

Submitted by rfbrpr on Wed, 01/09/2013 - 11:40

Hello:

Thank you for your previous answers. I'm beginner in cfdem and i'm runnig tha basic examples. One of my previuous questions was about the couplinginterval. For deciding the suitable timestep, I have to decide the DEM timestep fisrt and later depending on the couplig interval to decide a time step for cfd so that time step for cfd = time step for dem x coupling interval. Therefore, for high values of couplinginterval we have a weak coupling and for low values a strong coupling.

I'm running the settling test for several values of coupling interval (1, 10 and 100). For 100 the settling velocity is closer to the analytical given by settlingVelocity.m, but as I increase the coupling interval the results diverge. I have attached a picture that shows my results. What am I doing wrong? I think that if coupling interval is decreased the results should be more accurate.

Thanks for your attention. And congratulations for your program.

The are the data of matlab:

Uf_=0
Us_=0
X_=0
y=0
dt=0.00005
tEnd=0.035
nuc = 1e-05
rhoc = 10
d_ = 0.000025
rhop = 3000
g=9.81
Uc=0

These are the data of CFDEM

//==================================================================//
// sub-models & settings

modelType B; // A or B

couplingInterval 1;

voidFractionModel divided;//centre;//bigParticle;//

locateModel standard;

meshMotionModel noMeshMotion;

regionModel allRegion;

IOModel basicIO; //trackIO; //

dataExchangeModel twoWayMPI;//twoWayFiles;//oneWayVTK;//

averagingModel dilute;//dense;//dilute;//

clockModel standardClock;//off; //

forceModels
(
Archimedes
DiFeliceDrag
);

momCoupleModels
(
implicitCouple
);

turbulenceModelType RASProperties;//LESProperties;//

//==================================================================//
// sub-model properties

implicitCoupleProps
{
velFieldName "U";
granVelFieldName "Us";
voidfractionFieldName "voidfraction";
}

DiFeliceDragProps
{
velFieldName "U";
densityFieldName "rho";
interpolation;
voidfractionFieldName "voidfraction";
}
ArchimedesProps
{
densityFieldName "rho";
gravityFieldName "g";
treatDEM;
}
oneWayVTKProps
{
couplingFilename "vtk_out%4.4d.vtk";
maxNumberOfParticles 30000;
}
twoWayMPIProps
{
DEMts 0.00001;
liggghtsPath "../DEM/in.liggghts_init";
}
twoWayFilesProps
{
maxNumberOfParticles 10000;
DEMts 0.00001;
}
centreProps
{
alphaMin 0.999;
}
dividedProps
{
alphaMin 0.01;
scaleUpVol 1.0;
}
//

AttachmentSize
Image icon settling.jpg31.11 KB
alice's picture

alice | Wed, 01/09/2013 - 16:30

Hello,
are you sure that you adjusted the time step in the control dict of the CFD computation? Running the case with the same time step width for CFD and DEM works fine for me...
Cheers,
Alice

rfbrpr | Wed, 01/09/2013 - 16:48

Hello Alice:

My time step for DEM is 0.000001

then for coupling interval 1 control dict time step is 0.000001
for 10 control dict time step is 0.00001
for 100 contol dict time step is 0.0001

I also tried to use 100 for coupling interval and and use 0.000001 seconds for CFD and DEM and the results do not converge.

Cheers

Rafael

Detian Liu | Thu, 04/30/2015 - 18:48

Dear Rafael,

It seems that I have met the same question with you, I use a particle to do the test, and I found that if coupling interval=1, the velocity will only increase by half of the accerlatioin in each time step, have you solve this problem? Could you please me some advice on this?

Detian

alice's picture

alice | Thu, 01/10/2013 - 10:28

Hey Rafael,
I agree with the settings for the timesteps you give in the beginning, but I'm not quite sure if I got the meaning of the last phrase right: did you mean you use the setting CFD: 0.000001 DEM: 0.000001 and coupling interval: 100? This wouldn't yield the correct result, as the settings have to fit together...
Cheers,
Alice

openfoam | Sat, 01/12/2013 - 03:42

hello Alice, Can you tell me how to make the cfdemcoupling residual plot? In OpenFOAM I can use the pyfoam tools to draw the residual plot, but in the cfdemcoupling the parcfdemrun.sh cannot use pyfoam, and I don't kown how to output the whole log file too, any suggestions can help me. Thank you.

rfbrpr | Mon, 01/14/2013 - 16:32

Dear Alice:
You said "I got the meaning of the last phrase right: did you mean you use the setting CFD: 0.000001 DEM: 0.000001 and coupling interval: 100? This wouldn't yield the correct result, as the settings have to fit together..." Indeed this is very surprising to me because cfdem allows you to put a time stef for DEM smaller than coupling interval x Dem time step.

Do you have a settlingtest case that the simulated velocity converges to the analytical velocity as the coupling interval is decreased. I suspect that maybe I didn't compile cfdem well. Acording to the following topic:

node/992

Several users have had the same problem in convergence for several cases.

Thank you very much.
Cheers

Rafael

Min Zhang's picture

Min Zhang | Wed, 06/13/2018 - 19:07

Hello Rafael,

I don't think CFD time step should be equal to DEM time step times couplingInterval.

Instead, CFD time step should be smaller than or equal to (DEM time step times couplingInterval).

paul | Thu, 06/14/2018 - 11:28

We cannot generalize this. An upper bound for the coupling time = couplingInterval*DEMts is the Stokesian relaxation time.

The general case is to choose CFD ts = couplingInterval * DEM ts to be safe. If you choose the CFD ts smaller, it will recalculate the momentum exchange every few CFD time steps, which can result in the reaction of the flow to particle motion (and vice versa) to be underestimated. Strongly coupled flows will not like this.

Min Zhang's picture

Min Zhang | Fri, 06/15/2018 - 18:44

Oh, really? I am wondering whether it is documented in the documentation.

But in the CFDEMcoupling documentation, it says:
A useful procedure would be:
Set the DEM timestep in the in.xxx file according to the needs of the pure DEM problem.
Set the “couplingInterval”, which refers to the DEM timesteps. Depending on the problem you will need to have a close (small couplingInterval) or loose coupling.
Choose the CFD timestep in the controlDict. It must be equal to or smaller than the coupling time, otherwise you will get the error: “Error - TS bigger than coupling interval!”.
To ensure a synchronous run, the coupling time should be a multiple of the CFD timestep, or you’ll get a warning “Warning - Coupling time (= DEM time step * coupling interval) is not a multiple of CFD time-step!”