How to run case with explicitCoupling

Submitted by AliBlues on Wed, 01/18/2017 - 10:03

Hi,
I was wondering how can I run a case using explicitCoupling. I understand that implicit coupling provides better stability, but based on what I've been reading in the literature the explicit coupling is more accurate. So referring to the settling case tutorial, cfdemSolverPiso/settlingTestMPI, I made the following adjustments in constant/couplingProperties:

//--------------------------------------------------------------------
momCoupleModels
(
explicitCouple
//implicitCouple
);

// sub-model properties
explicitCoupleProps
{
}

DiFeliceDragProps
{
velFieldName "U";
voidfractionFieldName "voidfraction";
granVelFieldName "Us";
verbose true;
treatForceExplicit true; //<--- added the following option
}
//--------------------------------------------------------------------

but when I run the case, i get the following error:
//---------------------------------------------------------------------
Selecting momCoupleModel explicitCouple
[0]
[1]
[0]
[0] --> FOAM FATAL ERROR:
[0]
request for volVectorField f from objectRegistry region0 failed
available objects of type volVectorField are

9
(
IBDragPerV
divTau
U
expParticleForces
vSmoothField
UsNext
impParticleForces
UsPrev
Us
)
//------------------------------------------------------------------

which seems to be asking for a missing volfield "f" in the zero folder. how should I set up the "f" which seems to represent the explicit coupling source term. Would have checked earlier versions of CFDEM coupling tutorials which made use of the explicit method, but don't know how to access them.

Best
Ali

j-kerbl's picture

j-kerbl | Fri, 01/20/2017 - 10:03

Hi Ali,

maybe the decomposePar hasn't put it into the processor*/0 directories. Can you check that and you can also try a decomposePar -force to overwrite existing proc dirs.

Cheers,
Josef

AliBlues | Fri, 01/20/2017 - 11:36

Hi Josef,
Thank you for the reply.
Just to recap I used the cfdemSolverPiso/settlingTestMPI tutorial with only the above modifications to treat the coupling explicitly. and then run ./Allrun.sh.
Checking the processor*/0 directories, the volfield f is there. So is there any other switch that I need to activate in constant/couplingProperties, or perhaps another field in the zero directory?

Best,
Ali

j-kerbl's picture

j-kerbl | Tue, 01/24/2017 - 17:14

Hi Ali,

sorry, I have bad news. I have 2 points for you:
1.) The explicitMomCouple requests the volVectorField from the ObjectRegistry, but it isn't loaded yet, since cfdemSolverPiso doesn't read it. In this case it doesn't matter if it is within the directory.
2.) I had a look at the p & U equations from cfdemSolverPiso and it isn't capable of handling the explicit momentum terms.

Cheers,
Josef

zbtlfd | Fri, 11/17/2017 - 13:40

Hi Josef, hi Ali,

are there no possibilities to run the current solvers with explicit force coupling?

Thanks
Lukas