techMathGroup / openHFDIB-DEM

Open-source CFD-DEM library for arbitrarily shaped solids
GNU General Public License v3.0
13 stars 17 forks source link

Issue with pimpleHFDIBFoam Using OpenFOAM-8-Debug During fallingParticle Case Execution #16

Open Noahzang opened 1 month ago

Noahzang commented 1 month ago

Dear Dr. Isoz,

I hope this message finds you well.

I encountered an issue while using the custom solver pimpleHFDIBFoam that you developed. Specifically, I compiled the solver with the OpenFOAM-debug version and ran the fallingParticle case, but the program threw the following error:

// * // Create time

Create mesh for time = 0

Selecting dynamicFvMesh staticFvMesh

PIMPLE: No convergence criteria found

PIMPLE: Corrector convergence criteria found p: tolerance 1e-05, relTol 0 Calculations will do 5 corrections if the convergence criteria are not met

PIMPLE: Operating solver in transient mode with 5 outer correctors

Reading field p

Reading field U

Reading/calculating face flux field phi

Reading g Selecting incompressible transport model Newtonian Selecting turbulence model type laminar Selecting laminar stress model Stokes No MRF models present

No finite volume options present Courant Number mean: 0 max: 0

Initializing HFDIBDEM

-- Coefficient for characteristic Lenght Lc is set to : 4 -- VirtMesh Decomposition Level is set to : 2 -- VirtMesh charCellSize for boundary is set to : 0.0012 -- addModelMessage-- Creating addition model for body: icoSphere -- addModelMessage-- trying to set addModel: once Creating immersed body based on: icoSphere addModel invoked action, trying to add new body Trying to set immersedBodies New bodyID: 0 name: icoSphere rhoS: rho [1 -3 0 0 0 0 0] 3950 dC: 0.01 Body based on: icoSphere successfully added

Starting time loop

Courant Number mean: 0 max: 0 deltaT = 0.00011904762 Time = 0.00011904762

-- body 0 CoM :(0.02 0 0) -- body 0 linear velocity:(0 0 0) magnitude: 0 -- body 0 angular velocity:0 magnitude: 0 -- body 0 rotation axis:(0.57735027 0.57735027 0.57735027) magnitude: 1 PIMPLE: Iteration 1 DILUPBiCG: Solving for Ux, Initial residual = 0, Final residual = 0, No Iterations 0 DILUPBiCG: Solving for Uy, Initial residual = 0, Final residual = 0, No Iterations 0 DILUPBiCG: Solving for Uz, Initial residual = 0, Final residual = 0, No Iterations 0 GAMG: Solving for p, Initial residual = 0, Final residual = 0, No Iterations 0 time step continuity errors : sum local = 0, global = 0, cumulative = 0

--> FOAM FATAL ERROR: index 11028 out of range 0 ... 9849

From function void Foam::UList<T>::checkIndex(Foam::label) const [with T = Foam::Vector<double>; Foam::label = int]
in file lnInclude/UListI.H at line 106.

FOAM aborting

0 Foam::error::printStack(Foam::Ostream&) at ~/OpenFOAM/OpenFOAM-8/src/OSspecific/POSIX/printStack.C:218

1 Foam::error::abort() at ~/OpenFOAM/OpenFOAM-8/src/OpenFOAM/lnInclude/error.C:249

2 Foam::Ostream& Foam::operator<< (Foam::Ostream&, Foam::errorManip) at ~/OpenFOAM/OpenFOAM-8/src/OpenFOAM/lnInclude/errorManip.H:85 (discriminator 4)

3 Foam::UList<Foam::Vector >::checkIndex(int) const at ~/OpenFOAM/OpenFOAM-8/src/OpenFOAM/lnInclude/UListI.H:108

4 Foam::UList<Foam::Vector >::operator const at ~/OpenFOAM/OpenFOAM-8/src/OpenFOAM/lnInclude/UListI.H:201

5 Foam::lineIntInfo::getFaceInDir(Foam::intPoint const&, int) at ~/OpenFOAM/yzy-8/SOFTX-D-24-00378-main/src/HFDIBDEM/ibInterpolation/lineInt/lineIntInfo.C:242 (discriminator 1)

6 Foam::lineIntInfo::findIntPoint(Foam::intPoint&, Foam::Vector&) at ~/OpenFOAM/yzy-8/SOFTX-D-24-00378-main/src/HFDIBDEM/ibInterpolation/lineInt/lineIntInfo.C:187

7 Foam::lineIntInfo::setIntpInfo() at ~/OpenFOAM/yzy-8/SOFTX-D-24-00378-main/src/HFDIBDEM/ibInterpolation/lineInt/lineIntInfo.C:90 (discriminator 1)

8 Foam::interpolationInfo::getIbPoints() at ~/OpenFOAM/yzy-8/SOFTX-D-24-00378-main/src/HFDIBDEM/./lnInclude/interpolationInfo.H:84

9 Foam::immersedBody::getUatIbPoints() at ~/OpenFOAM/yzy-8/SOFTX-D-24-00378-main/src/HFDIBDEM/immersedBody.C:851

10 Foam::openHFDIBDEM::interpolateIB(Foam::GeometricField<Foam::Vector, Foam::fvPatchField, Foam::volMesh>&, Foam::GeometricField<Foam::Vector, Foam::fvPatchField, Foam::volMesh>&, Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh>&) at ~/OpenFOAM/yzy-8/SOFTX-D-24-00378-main/src/HFDIBDEM/openHFDIBDEM.C:617

11 ? in "/home/yzy/OpenFOAM/yzy-8/platforms/linux64GccDPInt32Debug/bin/pimpleHFDIBFoam"

12 ? in "/lib/x86_64-linux-gnu/libc.so.6"

13 __libc_start_main in "/lib/x86_64-linux-gnu/libc.so.6"

14 ? in "/home/yzy/OpenFOAM/yzy-8/platforms/linux64GccDPInt32Debug/bin/pimpleHFDIBFoam"

// * //

After debugging, I found that the issue might be related to the HFDIBDEM.interpolateIB function in pEqn.H. However, as I am relatively new to OpenFOAM, I am not entirely familiar with the internal workings of the code, and I'm struggling to pinpoint and resolve the issue.

I would greatly appreciate it if you could take a look and offer some advice when you have the time.

Thank you very much in advance!

Best regards, Yang

MartinIsoz commented 6 days ago

Hello, thank you for your interest in our code (and sorry for the late reply).

If you share a minimal working example that will reproduce the error on your system, we can try to run it on our machine to analyze and potentially solve the issue. Anyways, fatal errors caused by different lengths of lists are often related to either change in the number of particles or to the change in the mesh resolution.

Best regards, Martin