View Issue Details

IDProjectCategoryView StatusLast Update
0004122OpenFOAMPatchpublic2024-08-01 10:12
Reporterwyldckat Assigned To 
PrioritylowSeveritytrivialReproducibilityalways
Status resolvedResolutionfixed 
PlatformGNU/LinuxOSOtherOS Version(please specify)
Product Versiondev 
Fixed in Versiondev 
Summary0004122: Various minor details that were missed
DescriptionThe following minor details were found:

- applications/modules/compressibleVoF/Allwclean
    - incorrectly refers to 'fvModels/VoFSolidificationMelting' as 'fvModels/VoFSolidificationMeltingSource'.

- src/OpenFOAM/db/functionObjects/functionObject/functionObject.H
    - 'executeAtStart_' has description that is just a copy of the one from 'Switch log'.

- src/thermophysicalModels/basic/fluidThermo/fluidThermo.H
    - is including twice the file 'viscosity.H'.

- tutorials/incompressibleFluid/drivaerFastback/system/functions
    - Has some commented entries that are from 'controlDict.orig' and don't seem necessary in 'functions'.

Attached the following files to patch these details:
- minor_flaws_v1.patch - shows the changes.
- minor_flaws_v1.tar.gz - has the modified files.

Also attached the 4 modified files.
TagsNo tags attached.

Activities

wyldckat

2024-07-30 11:38

updater  

minor_flaws_v1.tar.gz (4,225 bytes)
Allwclean (308 bytes)   
#!/bin/sh
cd ${0%/*} || exit 1    # Run from this directory

wclean

wclean libso fvModels/VoFTurbulenceDamping
wclean libso fvModels/VoFClouds
wclean libso fvModels/VoFCavitation
wclean libso fvModels/VoFSolidificationMelting

#------------------------------------------------------------------------------
Allwclean (308 bytes)   
fluidThermo.H (5,613 bytes)   
/*---------------------------------------------------------------------------*\
  =========                 |
  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
   \\    /   O peration     | Website:  https://openfoam.org
    \\  /    A nd           | Copyright (C) 2012-2024 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/>.

Class
    Foam::fluidThermo

Description
    Base-class for fluid thermodynamic properties.

See also
    Foam::basicThermo

SourceFiles
    fluidThermo.C

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

#ifndef fluidThermo_H
#define fluidThermo_H

#include "basicThermo.H"
#include "viscosity.H"

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

namespace Foam
{

/*---------------------------------------------------------------------------*\
                         Class fluidThermo Declaration
\*---------------------------------------------------------------------------*/

class fluidThermo
:
    virtual public basicThermo,
    public viscosity
{
public:

    // Public Classes

        //- Forward declare the implementation class
        class implementation;


    //- Runtime type information
    TypeName("fluidThermo");


    //- Declare run-time constructor selection table
    declareRunTimeSelectionTable
    (
        autoPtr,
        fluidThermo,
        fvMesh,
        (const fvMesh& mesh, const word& phaseName),
        (mesh, phaseName)
    );


    // Selectors

        //- Standard selection based on fvMesh
        static autoPtr<fluidThermo> New
        (
            const fvMesh&,
            const word& phaseName=word::null
        );


    //- Destructor
    virtual ~fluidThermo();


    // Member Functions

        // Thermodynamic state

            //- Pressure [Pa]
            virtual const volScalarField& p() const = 0;

            //- Pressure [Pa]
            //  Non-const access allowed for transport equations
            virtual volScalarField& p() = 0;

            //- Compressibility [s^2/m^2]
            virtual const volScalarField& psi() const = 0;


        // Derived thermodynamic properties

            //- Rename the thermodynamic density field if stored and return
            //  This is used by solvers which create a separate continuity rho
            //  [kg/m^3]
            virtual tmp<volScalarField> renameRho() = 0;

            //- Add the given density correction to the density field.
            //  Used to update the density field following pressure solution
            virtual void correctRho(const volScalarField& deltaRho) = 0;


        // Transport state

            //- Dynamic viscosity of mixture [kg/m/s]
            virtual const volScalarField& mu() const = 0;


        // Derived transport properties

            //- Kinematic viscosity of mixture [m^2/s]
            tmp<volScalarField> nu() const;

            //- Kinematic viscosity of mixture for patch [m^2/s]
            tmp<scalarField> nu(const label patchi) const;
};


/*---------------------------------------------------------------------------*\
                 Class fluidThermo::implementation Declaration
\*---------------------------------------------------------------------------*/

class fluidThermo::implementation
:
    virtual public fluidThermo
{
protected:

    // Protected data

        // Fields

            //- Pressure [Pa]
            volScalarField& p_;

            //- Compressibility [s^2/m^2]
            volScalarField psi_;

            //- Dynamic viscosity [kg/m/s]
            volScalarField mu_;


public:

    // Constructors

        //- Construct from dictionary, mesh and phase name
        implementation(const dictionary&, const fvMesh&, const word&);

        //- Disallow default bitwise copy construction
        implementation(const implementation&) = delete;


    //- Destructor
    virtual ~implementation();


    // Member Functions

        // Thermodynamic state

            //- Pressure [Pa]
            virtual const volScalarField& p() const;

            //- Pressure [Pa]
            //  Non-const access allowed for transport equations
            virtual volScalarField& p();

            //- Compressibility [s^2/m^2]
            virtual const volScalarField& psi() const;


        // Transport state

            //- Dynamic viscosity of mixture [kg/m/s]
            virtual const volScalarField& mu() const;


    // Member Operators

        //- Disallow default bitwise assignment
        void operator=(const implementation&) = delete;
};


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

} // End namespace Foam

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

#endif

// ************************************************************************* //
fluidThermo.H (5,613 bytes)   
functionObject.H (9,191 bytes)   
/*---------------------------------------------------------------------------*\
  =========                 |
  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
   \\    /   O peration     | Website:  https://openfoam.org
    \\  /    A nd           | Copyright (C) 2011-2024 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/>.

Namespace
    Foam::functionObjects

Description
    Namespace for functionObjects.

    OpenFOAM includes a collection of functionObjects selected by the user at
    run-time to manipulate the simulation and provide mechanisms to extract
    field and derived quantities.  Alternatively, the same actions can be
    executed after the simulation using the \c -postProcess command-line option.

    functionObjects are selected by entries in the $FOAM_CASE/system/functions
    dictionary e.g. to select the \c functionObjectType functionObject the
    following entry would be specified:

    \verbatim
    <functionObjectName>
    {
        type                functionObjectType;
        libs                ("libMyFunctionObjectlib.so");
        region              defaultRegion;
        enabled             yes;
        startTime           0;
        endTime             10;
        writeControl        writeTime;
        writeInterval       1;
        ...
    }
    \endverbatim

    Where:
    \table
        Property          | Description              | Required | Default value
        type              | Type of functionObject         | yes |
        libs              | Shared libraries               | no  |
        region            | Name of region                 | no  |
        enabled           | On/off switch                  | no  | yes
        log               | Print data to log              | no  | no
        startTime         | Start time                     | no  |
        endTime           | End time                       | no  |
        executeAtStart    | Execute at start time switch   | no  | yes
        executeControl    | See time controls below        | no  | timeStep
        executeInterval   | Steps between each execution   | no  |
        executeTimes      | List of execution times        | no  |
        writeControl      | See time controls below        | no  | timeStep
        writeInterval     | Steps between each write       | no  |
        writeTimes        | List of write times            | no  |
        writeFrequencies  | List of write frequencies      | no  |
    \endtable

    Time controls:
    \table
        Option            | Description
        timeStep          | Execute/write every 'Interval' time-steps
        writeTime         | Execute/write every 'Interval' write times
        adjustableRunTime | Execute/write every 'Interval' run time period
        runTime           | Execute/write every 'Interval' run time period
        runTimes          | Execute/write at specified list of run times
        clockTime         | Execute/write every 'Interval' clock time period
        cpuTime           | Execute/write every 'Interval' CPU time period
        none              | No execution
    \endtable

    The sub-dictionary name \c \<functionObjectName\> is chosen by the user, and
    is typically used as the name of the output directory for any data written
    by the functionObject.  The \c type entry defines the type of function
    object properties that follow.  FunctionObjects are packaged into separate
    libraries and the \c libs entry is used to specify which library should be
    loaded.

    Each functionObject has two separate run phases:

      - The \c execute phase is meant to be used for updating calculations
        or for management tasks.
      - The \c write phase is meant for writing the calculated data to disk.

    For each phase the respective time controls are provided, as listed above.

Class
    Foam::functionObject

Description
    Abstract base-class for Time/database functionObjects.

See also
    Foam::functionObjectList
    Foam::functionObjects::timeControl

SourceFiles
    functionObject.C

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

#ifndef functionObject_H
#define functionObject_H

#include "typeInfo.H"
#include "autoPtr.H"
#include "Switch.H"
#include "runTimeSelectionTables.H"

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

namespace Foam
{

// Forward declaration of classes
class Time;
class polyMesh;
class polyTopoChangeMap;
class polyMeshMap;
class polyDistributionMap;

/*---------------------------------------------------------------------------*\
                       Class functionObject Declaration
\*---------------------------------------------------------------------------*/

class functionObject
{
    // Private Data

        //- Name
        const word name_;


protected:

        //- Reference to time
        const Time& time_;


public:

    ClassName("functionObject");

    //- Runtime type information
    virtual const word& type() const = 0;

    //- Global post-processing mode switch
    static bool postProcess;

    //- Switch write log to Info
    Switch log;

    //- Switch execute at start time
    Switch executeAtStart_;


    // Declare run-time constructor selection tables

        declareRunTimeSelectionTable
        (
            autoPtr,
            functionObject,
            dictionary,
            (const word& name, const Time& runTime, const dictionary& dict),
            (name, runTime, dict)
        );


    // Constructors

        //- Construct from components
        functionObject(const word& name, const Time& runTime);

        //- Return clone
        autoPtr<functionObject> clone() const
        {
            NotImplemented;
            return autoPtr<functionObject>(nullptr);
        }

        //- Disallow default bitwise copy construction
        functionObject(const functionObject&) = delete;


    // Selectors

        //- Select from dictionary, based on its "type" entry
        static autoPtr<functionObject> New
        (
            const word& name,
            const Time&,
            const dictionary&
        );


    //- Destructor
    virtual ~functionObject();


    // Member Functions

        //- Return the name of this functionObject
        const word& name() const;

        //- Read and set the functionObject if its data have changed
        virtual bool read(const dictionary&);

        //- Return the list of fields required
        virtual wordList fields() const = 0;

        //- Return true if the functionObject should be executed at the start
        virtual bool executeAtStart() const;

        //- Called at each ++ or += of the time-loop.
        //  foamPostProcess overrides the usual executeControl behaviour and
        //  forces execution (used in post-processing mode)
        virtual bool execute() = 0;

        //- Called at each ++ or += of the time-loop.
        //  foamPostProcess overrides the usual writeControl behaviour and
        //  forces writing always (used in post-processing mode)
        virtual bool write() = 0;

        //- Called when Time::run() determines that the time-loop exits.
        virtual bool end();

        //- Called by Time::adjustTimeStep(). Allows the functionObject to
        //  insert a write time earlier than that already in use by the run
        //  time. Returns the write time, or vGreat.
        virtual scalar timeToNextAction();

        //- Return the maximum time-step for stable operation
        virtual scalar maxDeltaT() const;

        //- Update topology using the given map
        virtual void movePoints(const polyMesh& mesh);

        //- Update topology using the given map
        virtual void topoChange(const polyTopoChangeMap& map);

        //- Update from another mesh using the given map
        virtual void mapMesh(const polyMeshMap&);

        //- Redistribute or update using the given distribution map
        virtual void distribute(const polyDistributionMap&);


    // Member Operators

        //- Disallow default bitwise assignment
        void operator=(const functionObject&) = delete;
};


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

} // End namespace Foam

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

#endif

// ************************************************************************* //
functionObject.H (9,191 bytes)   
functions (1,114 bytes)   
/*--------------------------------*- C++ -*----------------------------------*\
  =========                 |
  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
   \\    /   O peration     | Website:  https://openfoam.org
    \\  /    A nd           | Version:  dev
     \\/     M anipulation  |
\*---------------------------------------------------------------------------*/
FoamFile
{
    format      ascii;
    class       dictionary;
    object      functions;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

#includeFunc forceCoeffsIncompressible

#includeFunc time

#includeFunc streamlinesSphere
(
    name=streamlines,
    centre=(4 0 0.7),
    radius=1,
    nPoints=30,
    fields=(U)
)

#includeFunc cutPlaneSurface
(
    name=xNormal,
    point=(4 0 1),
    normal=(1 0 0),
    fields=(p U)
)

#includeFunc cutPlaneSurface
(
    name=yNormal,
    point=(-5 0.02 1),
    normal=(0 1 0),
    fields=(p U)
)

#includeFunc patchSurface(name=car, patch=".*(body|Wheels)", p)

// ************************************************************************* //
functions (1,114 bytes)   
minor_flaws_v1.patch (2,551 bytes)   
diff --git a/applications/modules/compressibleVoF/Allwclean b/applications/modules/compressibleVoF/Allwclean
index 238131457d..8cfca88064 100755
--- a/applications/modules/compressibleVoF/Allwclean
+++ b/applications/modules/compressibleVoF/Allwclean
@@ -6,6 +6,6 @@ wclean
 wclean libso fvModels/VoFTurbulenceDamping
 wclean libso fvModels/VoFClouds
 wclean libso fvModels/VoFCavitation
-wclean libso fvModels/VoFSolidificationMeltingSource
+wclean libso fvModels/VoFSolidificationMelting
 
 #------------------------------------------------------------------------------
diff --git a/src/OpenFOAM/db/functionObjects/functionObject/functionObject.H b/src/OpenFOAM/db/functionObjects/functionObject/functionObject.H
index 8edb77ef0e..b00f29284f 100644
--- a/src/OpenFOAM/db/functionObjects/functionObject/functionObject.H
+++ b/src/OpenFOAM/db/functionObjects/functionObject/functionObject.H
@@ -165,7 +165,7 @@ public:
     //- Switch write log to Info
     Switch log;
 
-    //- Switch write log to Info
+    //- Switch execute at start time
     Switch executeAtStart_;
 
 
diff --git a/src/thermophysicalModels/basic/fluidThermo/fluidThermo.H b/src/thermophysicalModels/basic/fluidThermo/fluidThermo.H
index d27da6ef15..11c60f691d 100644
--- a/src/thermophysicalModels/basic/fluidThermo/fluidThermo.H
+++ b/src/thermophysicalModels/basic/fluidThermo/fluidThermo.H
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     | Website:  https://openfoam.org
-    \\  /    A nd           | Copyright (C) 2012-2023 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2012-2024 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -40,7 +40,6 @@ SourceFiles
 
 #include "basicThermo.H"
 #include "viscosity.H"
-#include "viscosity.H"
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
diff --git a/tutorials/incompressibleFluid/drivaerFastback/system/functions b/tutorials/incompressibleFluid/drivaerFastback/system/functions
index e9e0728126..9ce1f34d7f 100644
--- a/tutorials/incompressibleFluid/drivaerFastback/system/functions
+++ b/tutorials/incompressibleFluid/drivaerFastback/system/functions
@@ -13,10 +13,6 @@ FoamFile
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-// adjustTimeStep  yes;
-
-// maxCo           1;
-
 #includeFunc forceCoeffsIncompressible
 
 #includeFunc time
minor_flaws_v1.patch (2,551 bytes)   

will

2024-08-01 10:12

manager   ~0013334

Thanks for pointing these out. Resolved by https://github.com/OpenFOAM/OpenFOAM-dev/commit/4f44764795d9b6b3abca4ee6ddf0753e8595404f.

Issue History

Date Modified Username Field Change
2024-07-30 11:38 wyldckat New Issue
2024-07-30 11:38 wyldckat Status new => assigned
2024-07-30 11:38 wyldckat Assigned To => henry
2024-07-30 11:38 wyldckat File Added: minor_flaws_v1.tar.gz
2024-07-30 11:38 wyldckat File Added: Allwclean
2024-07-30 11:38 wyldckat File Added: fluidThermo.H
2024-07-30 11:38 wyldckat File Added: functionObject.H
2024-07-30 11:38 wyldckat File Added: functions
2024-07-30 11:38 wyldckat File Added: minor_flaws_v1.patch
2024-08-01 10:12 will Assigned To henry =>
2024-08-01 10:12 will Status assigned => resolved
2024-08-01 10:12 will Resolution open => fixed
2024-08-01 10:12 will Fixed in Version => dev
2024-08-01 10:12 will Note Added: 0013334