writeCellCentres utility: Replaced by writeCellCentres functionObject

postProcess -func writeCellCentres
This commit is contained in:
Henry Weller
2016-06-27 07:51:19 +01:00
parent 67e5e20c65
commit 53717e9137
11 changed files with 518 additions and 148 deletions

View File

@ -54,4 +54,7 @@ turbulenceFields/turbulenceFields.C
yPlus/yPlus.C
wallShearStress/wallShearStress.C
writeCellCentres/writeCellCentres.C
writeCellVolumes/writeCellVolumes.C
LIB = $(FOAM_LIBBIN)/libfieldFunctionObjects

View File

@ -0,0 +1,121 @@
/*---------------------------------------------------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 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 "writeCellCentres.H"
#include "volFields.H"
#include "addToRunTimeSelectionTable.H"
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
namespace Foam
{
namespace functionObjects
{
defineTypeNameAndDebug(writeCellCentres, 0);
addToRunTimeSelectionTable(functionObject, writeCellCentres, dictionary);
}
}
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
Foam::functionObjects::writeCellCentres::writeCellCentres
(
const word& name,
const Time& runTime,
const dictionary& dict
)
:
fvMeshFunctionObject(name, runTime, dict)
{
read(dict);
}
// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
Foam::functionObjects::writeCellCentres::~writeCellCentres()
{}
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
bool Foam::functionObjects::writeCellCentres::execute()
{
return true;
}
bool Foam::functionObjects::writeCellCentres::write()
{
volVectorField C
(
IOobject
(
"C",
time_.timeName(),
mesh_,
IOobject::NO_READ,
IOobject::NO_WRITE,
false
),
mesh_.C(),
calculatedFvPatchScalarField::typeName
);
Log << " Writing cell-centre field " << C.name()
<< " to " << time_.timeName() << endl;
C.write();
for (direction i=0; i<vector::nComponents; i++)
{
volScalarField Ci
(
IOobject
(
mesh_.C().name() + vector::componentNames[i],
time_.timeName(),
mesh_,
IOobject::NO_READ,
IOobject::NO_WRITE,
false
),
mesh_.C().component(i)
);
Log << " Writing the "
<< vector::componentNames[i]
<< " component field of the cell-centres " << Ci.name()
<< " to " << time_.timeName() << endl;
Ci.write();
}
return true;
}
// ************************************************************************* //

View File

@ -0,0 +1,127 @@
/*---------------------------------------------------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 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/>.
Class
Foam::functionObjects::writeCellCentres
Group
grpFieldFunctionObjects
Description
This function object writes the cell-centres volVectorField and the
three component fields as volScalarFields.
Example of function object specification:
\verbatim
writeCellCentres
{
type writeCellCentres;
libs ("libfieldFunctionObjects.so");
...
}
\endverbatim
Usage
\table
Property | Description | Required | Default value
type | type name: writeCellCentres | yes |
\endtable
See also
Foam::functionObjects::fvMeshFunctionObject
SourceFiles
writeCellCentres.C
\*---------------------------------------------------------------------------*/
#ifndef functionObjects_writeCellCentres_H
#define functionObjects_writeCellCentres_H
#include "fvMeshFunctionObject.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
namespace Foam
{
namespace functionObjects
{
/*---------------------------------------------------------------------------*\
Class writeCellCentres Declaration
\*---------------------------------------------------------------------------*/
class writeCellCentres
:
public fvMeshFunctionObject
{
// Private member functions
//- Disallow default bitwise copy construct
writeCellCentres(const writeCellCentres&);
//- Disallow default bitwise assignment
void operator=(const writeCellCentres&);
public:
//- Runtime type information
TypeName("writeCellCentres");
// Constructors
//- Construct from Time and dictionary
writeCellCentres
(
const word& name,
const Time& runTime,
const dictionary& dict
);
//- Destructor
virtual ~writeCellCentres();
// Member Functions
//- Do nothing
virtual bool execute();
//- Write the cell-centre fields
virtual bool write();
};
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
} // End namespace functionObjects
} // End namespace Foam
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#endif
// ************************************************************************* //

View File

@ -0,0 +1,100 @@
/*---------------------------------------------------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 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 "writeCellVolumes.H"
#include "volFields.H"
#include "addToRunTimeSelectionTable.H"
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
namespace Foam
{
namespace functionObjects
{
defineTypeNameAndDebug(writeCellVolumes, 0);
addToRunTimeSelectionTable(functionObject, writeCellVolumes, dictionary);
}
}
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
Foam::functionObjects::writeCellVolumes::writeCellVolumes
(
const word& name,
const Time& runTime,
const dictionary& dict
)
:
fvMeshFunctionObject(name, runTime, dict)
{
read(dict);
}
// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
Foam::functionObjects::writeCellVolumes::~writeCellVolumes()
{}
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
bool Foam::functionObjects::writeCellVolumes::execute()
{
return true;
}
bool Foam::functionObjects::writeCellVolumes::write()
{
volScalarField V
(
IOobject
(
mesh_.V().name(),
time_.timeName(),
mesh_,
IOobject::NO_READ,
IOobject::NO_WRITE,
false
),
mesh_,
dimensionedScalar(mesh_.V().name(), mesh_.V().dimensions(), 0),
calculatedFvPatchField<scalar>::typeName
);
V.ref() = mesh_.V();
Log << " Writing cell-volumes field " << V.name()
<< " to " << time_.timeName() << endl;
V.write();
return true;
}
// ************************************************************************* //

View File

@ -0,0 +1,126 @@
/*---------------------------------------------------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 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/>.
Class
Foam::functionObjects::writeCellVolumes
Group
grpFieldFunctionObjects
Description
This function object writes the cell-volumes volScalarField.
Example of function object specification:
\verbatim
writeCellVolumes
{
type writeCellVolumes;
libs ("libfieldFunctionObjects.so");
...
}
\endverbatim
Usage
\table
Property | Description | Required | Default value
type | type name: writeCellVolumes | yes |
\endtable
See also
Foam::functionObjects::fvMeshFunctionObject
SourceFiles
writeCellVolumes.C
\*---------------------------------------------------------------------------*/
#ifndef functionObjects_writeCellVolumes_H
#define functionObjects_writeCellVolumes_H
#include "fvMeshFunctionObject.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
namespace Foam
{
namespace functionObjects
{
/*---------------------------------------------------------------------------*\
Class writeCellVolumes Declaration
\*---------------------------------------------------------------------------*/
class writeCellVolumes
:
public fvMeshFunctionObject
{
// Private member functions
//- Disallow default bitwise copy construct
writeCellVolumes(const writeCellVolumes&);
//- Disallow default bitwise assignment
void operator=(const writeCellVolumes&);
public:
//- Runtime type information
TypeName("writeCellVolumes");
// Constructors
//- Construct from Time and dictionary
writeCellVolumes
(
const word& name,
const Time& runTime,
const dictionary& dict
);
//- Destructor
virtual ~writeCellVolumes();
// Member Functions
//- Do nothing
virtual bool execute();
//- Write the cell-centre fields
virtual bool write();
};
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
} // End namespace functionObjects
} // End namespace Foam
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#endif
// ************************************************************************* //