CFD Online Discussion Forums

CFD Online Discussion Forums (
-   OpenFOAM (
-   -   interDyMFoam problem (

huxiaoxia May 17, 2011 15:50

interDyMFoam problem

I run a case with interDyMFoam for liquild flim flow, but it always shows the error "field does not correspond to level 0 sizes" after running for a few minutes. Can anybody help me ?


huxiaoxia June 28, 2011 11:17

problem for interDyMFoam
When I run the case for water film flowing on the substrate with the interDyMFoam, it gives me the error" FOAM FATAL ERROR:
field does not correspond to level 0 sizes: field = 1228021 level = 1200000
From function void GAMGAgglomeration::restrictField(Field<Type>& cf, const Field<Type>& ff, const label fineLevelIndex) const
in file lnInclude/GAMGAgglomerationTemplates.C at line 47.
FOAM aborting
#0 Foam::error::printStack(Foam::Ostream&) in "/home/huxiaoxi/OpenFOAM/OpenFOAM-1.7.1/lib/linux64GccDPOpt/"
#1 Foam::error::abort() in "/home/huxiaoxi/OpenFOAM/OpenFOAM-1.7.1/lib/linux64GccDPOpt/"
#2 void Foam::GAMGAgglomeration::restrictField<double>(Foa m::Field<double>&, Foam::Field<double> const&, int) const in "/home/huxiaoxi/OpenFOAM/OpenFOAM-1.7.1/lib/linux64GccDPOpt/"
#3 Foam::GAMGSolver::agglomerateMatrix(int) in "/home/huxiaoxi/OpenFOAM/OpenFOAM-1.7.1/lib/linux64GccDPOpt/"
#4 Foam::GAMGSolver::GAMGSolver(Foam::word const&, Foam::lduMatrix const&, Foam::FieldField<Foam::Field, double> const&, Foam::FieldField<Foam::Field, double> const&, Foam::UPtrList<Foam::lduInterfaceField const> const&, Foam::dictionary const&) in "/home/huxiaoxi/OpenFOAM/OpenFOAM-1.7.1/lib/linux64GccDPOpt/"
#5 Foam::GAMGPreconditioner::GAMGPreconditioner(Foam: :lduMatrix::solver const&, Foam::dictionary const&) in "/home/huxiaoxi/OpenFOAM/OpenFOAM-1.7.1/lib/linux64GccDPOpt/"
#6 Foam::lduMatrix::preconditioner::addsymMatrixConst ructorToTable<Foam::GAMGPreconditioner>::New(Foam: :lduMatrix::solver const&, Foam::dictionary const&) in "/home/huxiaoxi/OpenFOAM/OpenFOAM-1.7.1/lib/linux64GccDPOpt/"
#7 Foam::lduMatrix::preconditioner::New(Foam::lduMatr ix::solver const&, Foam::dictionary const&) in "/home/huxiaoxi/OpenFOAM/OpenFOAM-1.7.1/lib/linux64GccDPOpt/"
#8 Foam::PCG::solve(Foam::Field<double>&, Foam::Field<double> const&, unsigned char) const in "/home/huxiaoxi/OpenFOAM/OpenFOAM-1.7.1/lib/linux64GccDPOpt/"
#9 Foam::fvMatrix<double>::solve(Foam::dictionary const&) in "/home/huxiaoxi/OpenFOAM/OpenFOAM-1.7.1/lib/linux64GccDPOpt/"
#10 main in "/home/huxiaoxi/OpenFOAM/OpenFOAM-1.7.1/applications/bin/linux64GccDPOpt/interDyMFoam"
#11 __libc_start_main in "/lib64/"
#12 Foam::regIOobject::writeObject(Foam::IOstream::str eamFormat, Foam::IOstream::versionNumber, Foam::IOstream::compressionType) const in "/home/huxiaoxi/OpenFOAM/OpenFOAM-1.7.1/applications/bin/linux64GccDPOpt/interDyMFoam"
Is there anyone who knows what happens here?

MartinB June 28, 2011 13:04


try setting:

cacheAgglomeration true;


cacheAgglomeration false;

for all GAMG preconditioners and solvers in system/fvSolution.


huxiaoxia June 29, 2011 11:30

Thanks a lot. I try it and it works.

liping_he August 10, 2011 02:40

Hello martinB

I run a case with interDyMFoam for liquid jet flow. And I use LES as my turbulent model. But, OpenFOAM complains a error “field does not correspond to level 0 sizes……”. And I do a change on my case as you said above. It works well.

Now , I want to know why we need to do this change.

Thanks very much

MartinB August 10, 2011 03:59


I did not search for the reason in the source code, but the general idea of caching is: store the result or intermediate results and reuse them later to speed up computation. In the case of a dynamic mesh the size and composition of data structures change, because new cells come in, some cells go out. The stored cache is no longer valid and has to be dropped. If the source code does not account for this situation automatically, you must disable the caching completely, as it is done by the "cacheAgglomeration false;" flag.


liping_he August 10, 2011 05:09

Hello martinB

Thanks for your patient explaination. Thank you very much.


liping_he August 10, 2011 22:15

Hi Martin

I run a case using interDyMFoam solver in parallel. It works well. But when I want to use the command 'reconstructPar' to reconstrct mesh and data the computer complain ' cannot find file: /home/he/mywork/damBreakWithObstacle/processor0/0.02/polyMesh/pointProcAddressing at line 0.'
I want to know what is wrong with it and how I should do to reconstruct the case.

Thanks very much


MartinB August 11, 2011 00:04

Hi liping,

you must reconstruct the mesh first with "reconstructParMesh", then you can reconstruct the data with "reconstructPar".

You can try the script from this thread, too:


All times are GMT -4. The time now is 13:20.