CFDEMCoupling & Servo Wall

Submitted by strakakl on Tue, 09/27/2016 - 21:22

Hi there,

i try to run a coupled simulation with servo wall pushing on some kind of particle column. An overview of the geometry is give in the attached screen shots. Actually, the particles are within a pipe, but for the sake of visibility this is not shown in the overview. The red circular face is the servo wall. The fluid region is meshed with snappy.
Running the simulation in DEM only is done without problems, however the coupled run dies at the first DEM run. From the log-file it seems that the mesh/surface/stress/servo makes some problems:

.....
#screen output
compute 1 all erotate/sphere
thermo_style custom step atoms ke c_1 vol c_centerOfMass[3] #c_dragtotal[1] c_dragtotal[2] c_dragtotal[3]
thermo 1000
thermo_modify lost ignore norm no
compute_modify thermo_temp dynamic yes
#insert the first particles so that dump is not empty
dump dumpServo all stl 500 ../DEM/post/melting/dumpservo*.stl servo
dump dmp all custom 500 ../DEM/post/melting/dump_restart_*.liggghts id type type x y z ix iy iz vx vy vz fx fy fz omegax omegay omegaz radius f_Temp[0] f_heatFlux[0] f_heatSource[0]
run 1
Resetting global state of Fix contacthistory Style contacthistory from restart file info
Resetting per-atom state of Fix contacthistory Style contacthistory from restart file info
[0] #0 Foam::error::printStack(Foam::Ostream&)[1] #0 Foam::error::printStack(Foam::Ostream&) at ??:?
[0] #1 Foam::sigSegv::sigHandler(int) at ??:?
[1] #1 Foam::sigSegv::sigHandler(int) at ??:?
[0] #2 at ??:?
[1] #2 in "/lib/x86_64-linux-gnu/libc.so.6"
[0] #3 LAMMPS_NS::FixMeshSurfaceStressServo::getMaxRad() in "/lib/x86_64-linux-gnu/libc.so.6"
[1] #3 LAMMPS_NS::FixMeshSurfaceStressServo::getMaxRad() at ??:?
[1] #4 LAMMPS_NS::FixMeshSurfaceStressServo::init() at ??:?
[0] #4 LAMMPS_NS::FixMeshSurfaceStressServo::init() at ??:?
[1] #5 LAMMPS_NS::Modify::init() at ??:?
[0] #5 LAMMPS_NS::Modify::init() at ??:?
[0] #6 LAMMPS_NS::LAMMPS::init() at ??:?
[1] #6 LAMMPS_NS::LAMMPS::init() at ??:?
[0] #7 LAMMPS_NS::Run::command(int, char**) at ??:?
[1] #7 LAMMPS_NS::Run::command(int, char**) at ??:?
[0] #8 void LAMMPS_NS::Input::command_creator(LAMMPS_NS::LAMMPS*, int, char**) at ??:?
[1] #8 void LAMMPS_NS::Input::command_creator(LAMMPS_NS::LAMMPS*, int, char**) at ??:?
[1] #9 LAMMPS_NS::Input::execute_command() at ??:?
[0] #9 LAMMPS_NS::Input::execute_command() at ??:?
[0] #10 LAMMPS_NS::Input::file() at ??:?
[1] #10 LAMMPS_NS::Input::file() at ??:?
[0] #11 LAMMPS_NS::Input::file(char const*) at ??:?
[1] #11 LAMMPS_NS::Input::file(char const*) at ??:?
[0] #12 Foam::twoWayMPI::twoWayMPI(Foam::dictionary const&, Foam::cfdemCloud&) at ??:?
[1] #12 Foam::twoWayMPI::twoWayMPI(Foam::dictionary const&, Foam::cfdemCloud&) at ??:?
[1] #13 Foam::dataExchangeModel::adddictionaryConstructorToTable::New(Foam::dictionary const&, Foam::cfdemCloud&) at ??:?
[0] #13 Foam::dataExchangeModel::adddictionaryConstructorToTable::New(Foam::dictionary const&, Foam::cfdemCloud&) at ??:?
[1] #14 Foam::dataExchangeModel::New(Foam::dictionary const&, Foam::cfdemCloud&) at ??:?
[0] #14 Foam::dataExchangeModel::New(Foam::dictionary const&, Foam::cfdemCloud&) at ??:?
[1] #15 Foam::cfdemCloud::cfdemCloud(Foam::fvMesh const&) at ??:?
[0] #15 Foam::cfdemCloud::cfdemCloud(Foam::fvMesh const&) at ??:?
[1] #16
at ??:?
[0] #16 [1] at ??:?
[1] #17 __libc_start_main
in "/lib/x86_64-linux-gnu/libc.so.6"
[1] #18 [0] at ??:?
[0] #17 __libc_start_main
[1] at ??:?
[Bernoulli:05984] *** Process received signal ***
[Bernoulli:05984] Signal: Segmentation fault (11)
[Bernoulli:05984] Signal code: (-6)
[Bernoulli:05984] Failing at address: 0x3e800001760
in "/lib/x86_64-linux-gnu/libc.so.6"
[0] #18 [Bernoulli:05984] [ 0] /lib/x86_64-linux-gnu/libc.so.6(+0x36cb0) [0x7fc791325cb0]
[Bernoulli:05984] [ 1] /lib/x86_64-linux-gnu/libc.so.6(gsignal+0x37) [0x7fc791325c37]
[Bernoulli:05984] [ 2] /lib/x86_64-linux-gnu/libc.so.6(+0x36cb0) [0x7fc791325cb0]
[Bernoulli:05984] [ 3] /home/ak113859/OpenFOAM/ak113859-2.2.0/platforms/linux64GccDPOpt/lib/liblagrangianCFDEM-IPIM-2.2.0.so(_ZN9LAMMPS_NS25FixMeshSurfaceStressServo9getMaxRadEv+0xc7) [0x7fc792f30c17]
[Bernoulli:05984] [ 4] /home/ak113859/OpenFOAM/ak113859-2.2.0/platforms/linux64GccDPOpt/lib/liblagrangianCFDEM-IPIM-2.2.0.so(_ZN9LAMMPS_NS25FixMeshSurfaceStressServo4initEv+0x82) [0x7fc792f31e82]
[Bernoulli:05984] [ 5] /home/ak113859/OpenFOAM/ak113859-2.2.0/platforms/linux64GccDPOpt/lib/liblagrangianCFDEM-IPIM-2.2.0.so(_ZN9LAMMPS_NS6Modify4initEv+0x248) [0x7fc793216ef8]
[Bernoulli:05984] [ 6] /home/ak113859/OpenFOAM/ak113859-2.2.0/platforms/linux64GccDPOpt/lib/liblagrangianCFDEM-IPIM-2.2.0.so(_ZN9LAMMPS_NS6LAMMPS4initEv+0x33) [0x7fc7931e2b13]
[Bernoulli:05984] [ 7] /home/ak113859/OpenFOAM/ak113859-2.2.0/platforms/linux64GccDPOpt/lib/liblagrangianCFDEM-IPIM-2.2.0.so(_ZN9LAMMPS_NS3Run7commandEiPPc+0x7b2) [0x7fc7932ffb02]
[Bernoulli:05984] [ 8] /home/ak113859/OpenFOAM/ak113859-2.2.0/platforms/linux64GccDPOpt/lib/liblagrangianCFDEM-IPIM-2.2.0.so(_ZN9LAMMPS_NS5Input15command_creatorINS_3RunEEEvPNS_6LAMMPSEiPPc+0x28) [0x7fc7931d8068]
[Bernoulli:05984] [ 9] /home/ak113859/OpenFOAM/ak113859-2.2.0/platforms/linux64GccDPOpt/lib/liblagrangianCFDEM-IPIM-2.2.0.so(_ZN9LAMMPS_NS5Input15execute_commandEv+0x880) [0x7fc7931d5dc0]
[Bernoulli:05984] [10] /home/ak113859/OpenFOAM/ak113859-2.2.0/platforms/linux64GccDPOpt/lib/liblagrangianCFDEM-IPIM-2.2.0.so(_ZN9LAMMPS_NS5Input4fileEv+0x4f8) [0x7fc7931d6818]
[Bernoulli:05984] [11] /home/ak113859/OpenFOAM/ak113859-2.2.0/platforms/linux64GccDPOpt/lib/liblagrangianCFDEM-IPIM-2.2.0.so(_ZN9LAMMPS_NS5Input4fileEPKc+0x9b) [0x7fc7931d69ab]
[Bernoulli:05984] [12] /home/ak113859/OpenFOAM/ak113859-2.2.0/platforms/linux64GccDPOpt/lib/liblagrangianCFDEM-IPIM-2.2.0.so(_ZN4Foam9twoWayMPIC2ERKNS_10dictionaryERNS_10cfdemCloudE+0x6cb) [0x7fc792d3b23b]
[Bernoulli:05984] [13] /home/ak113859/OpenFOAM/ak113859-2.2.0/platforms/linux64GccDPOpt/lib/liblagrangianCFDEM-IPIM-2.2.0.so(_ZN4Foam17dataExchangeModel31adddictionaryConstructorToTableINS_9twoWayMPIEE3NewERKNS_10dictionaryERNS_10cfdemCloudE+0x2e) [0x7fc792d3bc2e]
[Bernoulli:05984] [14] /home/ak113859/OpenFOAM/ak113859-2.2.0/platforms/linux64GccDPOpt/lib/liblagrangianCFDEM-IPIM-2.2.0.so(_ZN4Foam17dataExchangeModel3NewERKNS_10dictionaryERNS_10cfdemCloudE+0x385) [0x7fc792d34195]
[Bernoulli:05984] [15] /home/ak113859/OpenFOAM/ak113859-2.2.0/platforms/linux64GccDPOpt/lib/liblagrangianCFDEM-IPIM-2.2.0.so(_ZN4Foam10cfdemCloudC2ERKNS_6fvMeshE+0x657) [0x7fc792c84e47]
[Bernoulli:05984] [16] cfdemSolverInterDyMPC() [0x42d7cb]
[Bernoulli:05984] [17] /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf5) [0x7fc791310f45]
[Bernoulli:05984] [18] cfdemSolverInterDyMPC() [0x43735a]
[Bernoulli:05984] *** End of error message ***

So before i try to investigate this problem just a few general questions:

1.) Is the fix mesh/surface/stress/servo compatible with CFDEM Coupling or DEM only? (As much as i had seen in the forum it should work in the coupling too, right?)

2.) As it can been seen in the screenshots, not all particles are within the fluid domain. Is this allowed or may it lead to problems?

3.) Assume that there are much less particles in the column so that the servo wall is inside the fluid domain. This should not be a problem as the CFD part of the simulation doesn't know anything about the wall. Is this correct?

That's it for the moment. Thank you in advance and best regards,

Klaus

AttachmentSize
Image icon Overview395.95 KB
Image icon A little more details173.64 KB
j-kerbl's picture

j-kerbl | Wed, 09/28/2016 - 09:49

Hi Klaus,

1.) yes it should work with CFDEM too.
2.) No this is not a problem.
3.) Yes the fluid domain doesn't know about the servo-wall.

It is not directly clear from the output what goes wrong, however it seems to be within the servo .

Some steps to take:
1.)Which versions of LIGGGHTS, CFDEMcoupling and OF do you use?
2.) Since you're working with your (from what I see) own solver, can you make sure that LIGGGHTS is properly compiled, so it creates its libraries, which are then used by the coupling. A cfdemCompLIG should do the trick.
3.) Does the case run without any issues without the servo wall?
4.) Can you provide a small test-case for debugging?

Cheers,
Josef

strakakl | Sun, 10/02/2016 - 15:02

Hi Josef,

thanks for your reply. Yes, you are right, its not a standard solver that i am using. Actually, the Christophs coded the solver ;) so i am not using a puplic version of CFDEM Coupling. However, the log-files show the following versions for LIGGGHTS and Coupling

-> LIGGGHTS-PUBLIC 3.0.2
-> CFDEMcoupling version: cfdem-2.7.1
-> OF 2.2.0

Without the servo walls the case runs at least a few time step.

Regarding the test case, as mentioned above i don't use the puplic version. Not sure how we can deal with this issue.

Best regards
Klaus

j-kerbl's picture

j-kerbl | Mon, 10/03/2016 - 10:14

Hi Klaus,

if you can, it might be an idea to use a simplified case with the cfdemSolverPiso and public functionality.
We also can continue this via email.

Cheers,
Josef