CFD Online Logo CFD Online URL
www.cfd-online.com
[Sponsors]
Home > Forums > Software User Forums > OpenFOAM > OpenFOAM Pre-Processing

multiLevel decomposition error

Register Blogs Community New Posts Updated Threads Search

Like Tree1Likes
  • 1 Post By guilleTessi

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   March 3, 2020, 08:39
Question multiLevel decomposition error
  #1
New Member
 
Guillermo Tessi
Join Date: Sep 2019
Location: Argentina
Posts: 6
Rep Power: 6
guilleTessi is on a distinguished road
Hello FOAMers,

I've been asigned with the task of making a multiLevel decomposition based on the following conditions:
  • level0: 12 subdomains, manual method, using a custom cellDist file.
  • level1: 64 subdomains, simple method, with n (64 1 1).

The cellDist file is created using the decomposePar and setFields tools and by defining boxes based on the boxToCell strategy, in order to set a label to each cell inside the boxes. After some operations done to the file, the content is as follows:

Code:
/*--------------------------------*- C++ -*----------------------------------*\
  =========                 |
  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
   \\    /   O peration     | Website:  https://openfoam.org
    \\  /    A nd           | Version:  dev
     \\/     M anipulation  |
\*---------------------------------------------------------------------------*/
FoamFile
{
    version     2.0;
    format      ascii;
    class       labelList;
    location    "constant";
    object      cellDist;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

7882848
(
1
...
7
)
;

// ************************************************************************* //
Now that both levels are ready, the decomposeParDict file setting is next in order to run the final decomposition, which is as follows:

Code:
/*--------------------------------*- C++ -*----------------------------------*\
  =========                 |
  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
   \\    /   O peration     | Website:  https://openfoam.org
    \\  /    A nd           | Version:  dev
     \\/     M anipulation  |
\*---------------------------------------------------------------------------*/
{
    version     2.0;
    format      ascii;
    class       dictionary;
    object      decomposeParDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

numberOfSubdomains 768;

method multiLevel;

multiLevelCoeffs
{
    level0 // boxes
	{
        numberOfSubdomains 12;
        method manual;
        manualCoeffs
        {
            dataFile "cellDist";
        }
    }
    level1
	{
        numberOfSubdomains 64;
        method simple;
        simpleCoeffs
        {
            n (64 1 1);
            delta 0.001;
            order xyz;
        }
    }
}

// ************************************************************************* //
After running the decomposePar tool, the output shows the following error:

Code:
/*---------------------------------------------------------------------------*\
  =========                 |
  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
   \\    /   O peration     | Website:  https://openfoam.org
    \\  /    A nd           | Version:  dev
     \\/     M anipulation  |
\*---------------------------------------------------------------------------*/
Build  : dev-0f5fbb7ab16c
Exec   : decomposePar
Date   : Mar 03 2020
Time   : 01:12:40
Host   : "haswell"
PID    : 21095
I/O    : uncollated
Case   : /10TB/GuilleRefCase-basegh103
nProcs : 1
sigFpe : Enabling floating point exception trapping (FOAM_SIGFPE).
fileModificationChecking : Monitoring run-time modified files using timeStampMaster (fileModificationSkew 10)
allowSystemOperations : Allowing user-supplied system call operations

// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
Create time



Decomposing mesh region0

Create mesh

Calculating distribution of cells
Selecting decompositionMethod multiLevel
Selecting decompositionMethod manual
Selecting decompositionMethod simple
decompositionMethod multiLevel :
    level 0 decomposing with manual into 12 subdomains.
    level 0 decomposing with simple into 64 subdomains.

--> FOAM FATAL ERROR: 
Not implemented

    From function virtual Foam::labelList Foam::manualDecomp::decompose(const labelListList&, const pointField&, const scalarField&)
    in file manualDecomp/manualDecomp.H at line 108.

FOAM aborting

#0  Foam::error::printStack(Foam::Ostream&) at ??:?
#1  Foam::error::abort() at ??:?
#2  Foam::manualDecomp::decompose(Foam::List<Foam::List<int> > const&, Foam::Field<Foam::Vector<double> > const&, Foam::Field<double> const&) at ??:?
#3  Foam::multiLevelDecomp::decompose(Foam::List<Foam::List<int> > const&, Foam::Field<Foam::Vector<double> > const&, Foam::Field<double> const&, Foam::List<int> const&, int, Foam::Field<int>&) at ??:?
#4  Foam::multiLevelDecomp::decompose(Foam::polyMesh const&, Foam::Field<Foam::Vector<double> > const&, Foam::Field<double> const&) at ??:?
#5  Foam::decompositionMethod::decompose(Foam::polyMesh const&, Foam::Field<Foam::Vector<double> > const&) at ??:?
#6  Foam::decompositionMethod::decompose(Foam::polyMesh const&, Foam::Field<double> const&, Foam::List<bool> const&, Foam::PtrList<Foam::List<int> > const&, Foam::List<int> const&, Foam::List<Foam::Pair<int> > const&) at ??:?
#7  Foam::decompositionMethod::decompose(Foam::polyMesh const&, Foam::Field<double> const&) at ??:?
#8  ? in "/share/GuilleMod25OpenFOAM/OpenFOAM-dev/platforms/linux64GccDPInt32Opt/bin/decomposePar"
#9  ? in "/share/GuilleMod25OpenFOAM/OpenFOAM-dev/platforms/linux64GccDPInt32Opt/bin/decomposePar"
#10  ? in "/share/GuilleMod25OpenFOAM/OpenFOAM-dev/platforms/linux64GccDPInt32Opt/bin/decomposePar"
#11  __libc_start_main in "/lib/x86_64-linux-gnu/libc.so.6"
#12  ? in "/share/GuilleMod25OpenFOAM/OpenFOAM-dev/platforms/linux64GccDPInt32Opt/bin/decomposePar"
I believe that there is an issue with the multiLevel decomposition method (maybe it is a wrong setting or parameter), as running each decomposition level separately goes without trouble.

If someone has any idea of which is the main cause of this error or how to solve it, would be wonderful.

Thanks in advance,

Guillermo
guilleTessi is offline   Reply With Quote

Old   March 27, 2020, 07:38
Default
  #2
New Member
 
Guillermo Tessi
Join Date: Sep 2019
Location: Argentina
Posts: 6
Rep Power: 6
guilleTessi is on a distinguished road
Hi FOAMers,

I've filled in a bug report in OpenFOAM's Issue Tracker about this problem and got an answer from Henry stating that the manual method is not yet implemented into the multiLevel decomposition flow.

With that being said, I will assume that my case dictionaries are set up properly. But please take this with a grain of salt as I've been using the OpenFOAM-dev August '19 release (things are most likely to change in the dev branch).

Best regards,

Guillermo
Behradskn likes this.
guilleTessi is offline   Reply With Quote

Reply

Tags
decomposepar, decomposepardict, manual decomposition, multilevel, parallel


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are Off
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
[OpenFOAM.org] compile error in dynamicMesh and thermophysicalModels libraries NickG OpenFOAM Installation 3 December 30, 2019 00:21
[blockMesh] blockMesh with double grading. spwater OpenFOAM Meshing & Mesh Conversion 92 January 12, 2019 09:00
[swak4Foam] GroovyBC the dynamic cousin of funkySetFields that lives on the suburb of the mesh gschaider OpenFOAM Community Contributions 300 October 29, 2014 18:00
ParaView for OF-1.6-ext Chrisi1984 OpenFOAM Installation 0 December 31, 2010 06:42
DecomposePar links against liblamso0 with OpenMPI jens_klostermann OpenFOAM Bugs 11 June 28, 2007 17:51


All times are GMT -4. The time now is 15:38.