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

Compiling Issue with the wallgradU

Register Blogs Members List Search Today's Posts Mark Forums Read

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   April 7, 2022, 03:39
Default Compiling Issue with the wallgradU
  #1
New Member
 
Join Date: Jan 2021
Posts: 14
Rep Power: 5
Danny_cfd is on a distinguished road
Hello, everybody. Nice day.

I am currently using WallgradU utility of the OpenFOAM with the latest version. I think it has some compatibility issue with the new openfoam version and i am not able to solve it as i am amature in openfoam coding.
After compiling using the wmake, following error appears in it:
Quote:
wallGradU.C:71:21: error: ‘class Foam::IOobject’ has no member named ‘headerOk’
if (Uheader.headerOk())
^~~~~~~~
wallGradU.C:102:55: error: passing ‘const Foam::fvPatchField<Foam::Vector<double> >’ as ‘this’ argument discards qualifiers [-fpermissive]
-U.boundaryField()[patchi].snGrad();
There are total of two errors. I am unable to solve it. Please help me. Thank you so much.

The wallgradU utility file is as following:
Code:
/*---------------------------------------------------------------------------*\
  =========                 |
  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
   \\    /   O peration     |
    \\  /    A nd           | Copyright held by original author
     \\/     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 2 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, write to the Free Software Foundation,
    Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA

Application
    wallGradU 

Description
    Calculates and writes the gradient of U at the wall

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

#include "fvCFD.H"


// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

int main(int argc, char *argv[])
{

#   include "addTimeOptions.H"
#   include "setRootCase.H"

#   include "createTime.H"

    // Get times list
    instantList Times = runTime.times();

    // set startTime and endTime depending on -time and -latestTime options
#   include "checkTimeOptions.H"

    runTime.setTime(Times[startTime], startTime);

#   include "createMesh.H"

    for (label i=startTime; i<endTime; i++)
    {
        runTime.setTime(Times[i], i);

        Info<< "Time = " << runTime.timeName() << endl;
IOMap<dictionary> ioObj
(
        IOobject Uheader
        (
            "U",
            runTime.timeName(),
            mesh,
            IOobject::MUST_READ
        );

        // Check U exists
        if (Uheader.headerOk())
        {
            mesh.readUpdate();

            Info<< "    Reading U" << endl;
            volVectorField U(Uheader, mesh);

            Info<< "    Calculating wallGradU" << endl;

            volVectorField wallGradU
            (
                IOobject
                (
                    "wallGradU",
                    runTime.timeName(),
                    mesh,
                    IOobject::NO_READ,
                    IOobject::AUTO_WRITE
                ),
                mesh,
                dimensionedVector
                (
                    "wallGradU",
                    U.dimensions()/dimLength,
                    vector::zero
                )
            );

            forAll(wallGradU.boundaryField(), patchi)
            {
                wallGradU.boundaryField()[patchi] =
                    -U.boundaryField()[patchi].snGrad();
            }

            wallGradU.write();
        }
        else
        {
            Info<< "    No U" << endl;
        }
    }

    Info<< "End" << endl;

    return(0);
}


// ************************************************************************* //
Danny_cfd is offline   Reply With Quote

Old   May 16, 2022, 12:27
Default
  #2
Member
 
MNM
Join Date: Aug 2017
Posts: 65
Rep Power: 8
SHUBHAM9595 is on a distinguished road
Hi Danny,

I also came across the same issue long time ago.

Now if u look closely the "headerOK" is being used only as a precaution if u r providing correct input file or not (read its else for proof ).....so you can safely comment it out....as long as u ensure to provide the correct U file (version,format,class,location & object)


For the second error, try changing the syntac from *.boundaryField() to *.boundaryFieldRef()

If u r interested in more info about this syntax change....u can go through the following link

https://github.com/OpenFOAM/OpenFOAM...4cccf0296be520
SHUBHAM9595 is offline   Reply With Quote

Reply

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

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
Issue compiling solver for OF 2.4 klausb OpenFOAM Programming & Development 8 August 1, 2018 19:15
foam-extend-3.2: issue compiling new libraries on Windows guest1044 OpenFOAM Programming & Development 3 April 18, 2016 12:36
Convergence issue in natural convection problem chrisf90 FLUENT 5 March 5, 2016 08:30
[OpenFOAM.org] Trouble Compiling OpenFOAM-dev using Intel Compiler 15 for use on Xeon Phi foamer123 OpenFOAM Installation 9 August 20, 2015 14:03
Meshing related issue in Flow EFD appu FloEFD, FloWorks & FloTHERM 1 May 22, 2011 08:27


All times are GMT -4. The time now is 04:23.