CFD Online Logo CFD Online URL
www.cfd-online.com
[Sponsors]
Home > Forums > Software User Forums > OpenFOAM > OpenFOAM Programming & Development

procMesh.write() in decomposePar

Register Blogs Community New Posts Updated Threads Search

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   June 11, 2014, 06:29
Default procMesh.write() in decomposePar
  #1
Member
 
Camille Bilger
Join Date: Jul 2013
Posts: 43
Rep Power: 12
kmou is on a distinguished road
Hello everyone,

Does anyone know where I could find the function write()? I know there are a few versions of it, if I understood correctly, I need the one that is used as part of the decomposition of the domain for parallel computing.

procMesh.write() is called inside the file domainDecomposition.C

I am looking for it because I need to see where the /processor*/constant/polyMesh/ owner and neighbour files are created. Mines are getting messed up with a lot of "-1" so I would like to understand how these files are being created, as I cannot see for now any errors in the lists created before the procMesh is written out.

Thank you very much for any help.
kmou is offline   Reply With Quote

Old   June 12, 2014, 05:30
Default
  #2
Senior Member
 
Bernhard
Join Date: Sep 2009
Location: Delft
Posts: 790
Rep Power: 21
Bernhard is on a distinguished road
procMesh is of type polyMesh, so you should look at it's write() member function. So, that one you can find here: http://foam.sourceforge.net/docs/cpp...cd904755791076

Are you sure the -1's are not a feature?
Bernhard is offline   Reply With Quote

Old   June 12, 2014, 09:05
Default
  #3
Member
 
Camille Bilger
Join Date: Jul 2013
Posts: 43
Rep Power: 12
kmou is on a distinguished road
Hi Bernhard,
Thanks for your quick response.
My decomposition crashes with the following error:

Code:
--> FOAM FATAL ERROR: 
Illegal cell label -1 in neighbour addressing for face 15

    From function polyMesh::initMesh()
    in file meshes/polyMesh/polyMeshInitMesh.C at line 65.
This checking on owner and neighbour labels occurs within the writeDecomposition() function, before field transfer occurs.

polyMeshInitMesh.C seem to imply that neighbour[facei] and owner_[facei] cannot be less than 0:



Code:
    label nCells = -1;

    forAll(owner_, facei)
    {
        if (owner_[facei] < 0)
        {
            FatalErrorIn("polyMesh::initMesh()")
                << "Illegal cell label " << owner_[facei]
                << " in neighbour addressing for face " << facei
                << exit(FatalError);
        }
        nCells = max(nCells, owner_[facei]);
    }
    // The neighbour array may or may not be the same length as the owner
    forAll(neighbour_, facei)
    {
        if (neighbour_[facei] < 0)
        {
            FatalErrorIn("polyMesh::initMesh()")
                << "Illegal cell label " << neighbour_[facei]
                << " in neighbour addressing for face " << facei
                << exit(FatalError);
        }
        nCells = max(nCells, neighbour_[facei]);
    }

    nCells++;
kmou is offline   Reply With Quote

Reply


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
decomposePar 4-core warning/error? Boloar OpenFOAM Bugs 23 April 8, 2014 08:57
decomposePar segfault jutta OpenFOAM Pre-Processing 1 October 17, 2012 11:50
decomposePar gives errors of_user_ OpenFOAM 1 July 4, 2011 05:27
decomposePar: can use this decomposition method only for the whole mesh aloeven OpenFOAM Bugs 0 March 16, 2011 10:15
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 06:27.