CFDEM compiling error

Submitted by shinesli on Sat, 10/15/2016 - 18:48

I'm using OF-4.x to couple with CFDEM. While I compile CFDEM there's an error showing that the cfdemPostproc.C contains an error:

cfdemPostproc.C: In function ‘int main(int, char**)’:
cfdemPostproc.C:118:89: error: passing ‘const Internal {aka const Foam::DimensionedField}’ as ‘this’ argument of ‘void Foam::DimensionedField::operator=(const Foam::DimensionedField&) [with Type = double, GeoMesh = Foam::volMesh]’ discards qualifiers [-fpermissive]
make: *** [Make/linux64GccDPInt32Opt/cfdemPostproc.o] Error 1
waiting...

There are many other warnings for example:

removing all .dep files ...
find: `./Make/linux64GccDPInt32Opt': No such file or directory
Making dependency list for source file cfdemSolverIB.C
could not open file cfdemCloudIBSuperquadric.H for source file cfdemSolverIB.C due to No such file or directory
could not open file meshToMeshNew.H for source file cfdemSolverIB.C due to No such file or directory
could not open file fvIOoptionList.H for source file cfdemSolverIB.C due to No such file or directory
could not open file readPISOControls.H for source file cfdemSolverIB.C due to No such file or directory

There's a ‘./Make/linux64GccDPInt32Opt' directory in the computer. And by the way I'm using Ubuntu 12.04 LTS. Do you have any idea how to fix these problems? Thanks!

j-kerbl's picture

j-kerbl | Mon, 10/17/2016 - 10:36

Hi,

as stated when sourcing the Coupling

echo "************************************"
echo "WARNING from your CFDEM code!"
echo "WARNING: Coupling with your OpenFOAM(R) version is currently under development!"
echo "In doubt switch to another version."
echo "************************************"

So other solvers than cfdemPostProc should have compiled just fine.
If you want to use cfdemPostProc I suggest to switch to OF 3.x

Cheers,
Josef

shinesli | Mon, 10/17/2016 - 18:38

Thank you so much. I'm flattered that you, as a project member of this project, replied on my problem. So I'm new user to cfdem. I want to try using cfdem to model cold spray process. So, if I continue using OF 4.x, there's no problem with other solvers. Is that right? I can try run some tutorials first, if there's unexpected results coming out, I will switch to OF 3.x. Thanks for helping!

Best,
Yudong

chenxi | Sun, 12/25/2016 - 14:21

Hi, I think I kind of solved this problem by modify cfdemPostproc.C

I changed following code:

voidfraction.internalField() = particleCloud.voidFractionM().voidFractionInterp();

into:
voidfraction.ref() = particleCloud.voidFractionM().voidFractionInterp();

j-kerbl's picture

j-kerbl | Tue, 10/18/2016 - 09:52

Hi Yudong,

yes you can run the tutorials, except the cfdemPostproc solver of course.
To make sure the other solvers compiled correctly, you should run the cfdemSolverPiso.

Cheers,
Josef