View Issue Details

IDProjectCategoryView StatusLast Update
0002610OpenFOAMBugpublic2017-07-14 23:24
Reporterhertzsprung Assigned Tohenry  
PrioritynormalSeverityminorReproducibilityalways
Status resolvedResolutionfixed 
PlatformGNU/LinuxOS UbuntuOS Version17.04
Product Versiondev 
Fixed in Versiondev 
Summary0002610: decomposePar -case fails to find decomposeParDict
DescriptionRunning decomposePar from myCase directory succeeds. Running decomposePar -case myCase from the parent directory fails with

--> FOAM FATAL IO ERROR:
cannot find file

file: ./myCase/./myCase/system/decomposeParDict at line 0.

Does this relate to the work done in https://github.com/OpenFOAM/OpenFOAM-dev/commit/7c301dbf ?
TagsNo tags attached.

Activities

guin

2017-07-12 12:12

reporter   ~0008384

I didn't try to reproduce it, but I would say that the error message is actually telling you what is wrong. When using the option "-case" you shall rather give an absolute path instead a relative one.

hertzsprung

2017-07-12 15:55

reporter   ~0008386

guin, thanks, an absolute path does work. Relative paths also worked until recently, and continue to work for other OpenFOAM applications that I've used. I'm not sure exactly when the behaviour changed.

If -case is only supposed to accept absolute paths, it would be good if this caveat is documented, maybe at https://cfd.direct/openfoam/user-guide/running-applications/

MattijsJ

2017-07-14 14:43

reporter  

decompositionModel.C (4,047 bytes)   
/*---------------------------------------------------------------------------*\
  =========                 |
  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
   \\    /   O peration     |
    \\  /    A nd           | Copyright (C) 2014-2016 OpenFOAM Foundation
     \\/     M anipulation  |
-------------------------------------------------------------------------------
License
    This file is part of OpenFOAM.

    OpenFOAM is free software: you can redistribute it and/or modify it
    under the terms of the GNU General Public License as published by
    the Free Software Foundation, either version 3 of the License, or
    (at your option) any later version.

    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
    for more details.

    You should have received a copy of the GNU General Public License
    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.

\*---------------------------------------------------------------------------*/

#include "decompositionModel.H"
#include "polyMesh.H"
#include "Time.H"

// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //

namespace Foam
{
    defineTypeNameAndDebug(decompositionModel, 0);
}

// * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //

Foam::decompositionModel::decompositionModel
(
    const polyMesh& mesh,
    const fileName& decompDictFile
)
:
    MeshObject
    <
        polyMesh,
        Foam::UpdateableMeshObject,
        decompositionModel
    >(mesh),
    IOdictionary
    (
        selectIO
        (
            IOobject
            (
                "decomposeParDict",
                mesh.time().system(),
                mesh.local(),
                mesh,
                IOobject::MUST_READ,
                IOobject::NO_WRITE,
                false   //io.registerObject()
            ),
            decompDictFile
        )
    )
{}


Foam::decompositionModel::decompositionModel
(
    const polyMesh& mesh,
    const dictionary& dict,
    const fileName& decompDictFile
)
:
    MeshObject
    <
        polyMesh,
        Foam::UpdateableMeshObject,
        decompositionModel
    >(mesh),
    IOdictionary
    (
        selectIO
        (
            IOobject
            (
                "decomposeParDict",
                mesh.time().system(),
                mesh.local(),
                mesh,
                (dict.size() ? IOobject::NO_READ : IOobject::MUST_READ),
                IOobject::NO_WRITE,
                false   //io.registerObject()
            ),
            decompDictFile
        ),
        dict
    )
{}


// * * * * * * * * * * * * * * * * * Selectors * * * * * * * * * * * * * * * //

const Foam::decompositionModel& Foam::decompositionModel::New
(
    const polyMesh& mesh,
    const fileName& decompDictFile
)
{
    return
        MeshObject
        <
            polyMesh,
            Foam::UpdateableMeshObject,
            decompositionModel
        >::New(mesh, decompDictFile);
}


const Foam::decompositionModel& Foam::decompositionModel::New
(
    const polyMesh& mesh,
    const dictionary& dict,
    const fileName& decompDictFile
)
{
    return
        MeshObject
        <
            polyMesh,
            Foam::UpdateableMeshObject,
            decompositionModel
        >::New(mesh, dict, decompDictFile);
}


// * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //

Foam::IOobject Foam::decompositionModel::selectIO
(
    const IOobject& io,
    const fileName& f
)
{
    return
    (
        f.size()
      ? IOobject        // construct from filePath instead
        (
            fileName(f).toAbsolute(),
            io.db(),
            io.readOpt(),
            io.writeOpt(),
            io.registerObject()
        )
     :  io
    );
}


// ************************************************************************* //
decompositionModel.C (4,047 bytes)   

MattijsJ

2017-07-14 14:44

reporter   ~0008398

Fix for src/parallel/decompose/decompose/decompositionModel.C

henry

2017-07-14 23:24

manager   ~0008399

Resolved by commit 702a4274cd8b7413830fcd9a625610320180cb2e

Issue History

Date Modified Username Field Change
2017-07-11 15:13 hertzsprung New Issue
2017-07-12 12:12 guin Note Added: 0008384
2017-07-12 15:55 hertzsprung Note Added: 0008386
2017-07-14 14:43 MattijsJ File Added: decompositionModel.C
2017-07-14 14:44 MattijsJ Note Added: 0008398
2017-07-14 23:24 henry Assigned To => henry
2017-07-14 23:24 henry Status new => resolved
2017-07-14 23:24 henry Resolution open => fixed
2017-07-14 23:24 henry Fixed in Version => dev
2017-07-14 23:24 henry Note Added: 0008399