timeStepFraction in CFDEM-coupling

Submitted by mofazli on Thu, 03/26/2020 - 04:28

Dear All,
Hi,
I have a question about the value of timeStepFraction() that is returned by the line 136 in cfdemCloudIB.C and 218 in dataExchangeModel.C files. Can anybody explain me what value is showing this parameter? For your convenience, you can see its expression as follows:

scalar frac = ( (particleCloud_.mesh().time().timeIndex()-timeIndexOffset_)*particleCloud_.mesh().time().deltaT().value() - (couplingStep_-1) * couplingTime() ) / couplingTime();

Daniel Queteschiner | Tue, 04/14/2020 - 17:09

timeStepFraction tells you how far into the current coupling time step your simulation has actually advanced (beginning=0, end=1).

mofazli | Wed, 04/15/2020 - 08:45

Thank you for your response, Daniel,
So why I am giving its value equal to 2 by twoSpheresGlowinski tutorial case, and there is not any problem with my run? You are describing this parameter in such a way that seems to be dynamic during the liggghts run. However, we are just getting its value at the beginning of liggghts running; As you can see in the cfdemSolverIB.C (line 122):
particleCloud.evolve(voidFraction, interface)
which leads to the following in line 171-172, cfdemCloudIB.C file:
Info << "\n timeStepFraction() = " << dataExchangeM().timeStepFraction() << endl;
dataExchangeM().couple(0);
finally, the definition of timeStepFraction is within dataExchangeModel.C file, lines: 216-220:
scalar Foam::dataExchangeModel::timeStepFraction() const
{
scalar frac = ( (particleCloud_.mesh().time().timeIndex()-timeIndexOffset_)*particleCloud_.mesh().time().deltaT().value() - (couplingStep_-1) * couplingTime() ) / couplingTime();
return frac;
}
So What is the problem with that?
Last but not least, Is there any problem with setting periodic boundary condition in cfdemSolverIB? That's a one million dollar question, that nobody still didn't answer it in the forum.
Best
Mo