Rationalised the named of uncoupled particle tracing solvers and functionObject

Solvers
    icoUncoupledKinematicParcelFoam -> particleFoam
    uncoupledKinematicParcelFoam -> rhoParticleFoam

functionObjects
    icoUncoupledKinematicCloud -> particles
This commit is contained in:
Henry Weller
2020-07-16 13:06:08 +01:00
parent 627a8caf5d
commit 9fd9172913
58 changed files with 429 additions and 18 deletions

View File

@ -1,3 +0,0 @@
icoUncoupledKinematicParcelFoam.C
EXE = $(FOAM_APPBIN)/icoUncoupledKinematicParcelFoam

View File

@ -0,0 +1,3 @@
particleFoam.C
EXE = $(FOAM_APPBIN)/particleFoam

View File

@ -22,7 +22,7 @@ License
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
Application
uncoupledKinematicParcelFoam
rhoParticleFoam
Description
Transient solver for the passive transport of a single kinematic

View File

@ -0,0 +1,3 @@
rhoParticleFoam.C
EXE = $(FOAM_APPBIN)/rhoParticleFoam

View File

@ -22,7 +22,7 @@ License
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
Application
uncoupledKinematicParcelFoam
rhoParticleFoam
Description
Transient solver for the passive transport of a particle cloud.

View File

@ -1,3 +0,0 @@
uncoupledKinematicParcelFoam.C
EXE = $(FOAM_APPBIN)/uncoupledKinematicParcelFoam

View File

@ -0,0 +1,36 @@
#!/bin/sh
#------------------------------------------------------------------------------
# ========= |
# \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
# \\ / O peration | Website: https://openfoam.org
# \\ / A nd | Copyright (C) 2020 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/>.
#
# Script
# icoUncoupledKinematicParcelFoam
#
# Description
# Script to inform the user that the icoUncoupledKinematicParcelFoam solver
# has been renamed particleFoam.
#
#------------------------------------------------------------------------------
echo "The icoUncoupledKinematicParcelFoam solver has been renamed particleFoam"
#------------------------------------------------------------------------------

View File

@ -0,0 +1,36 @@
#!/bin/sh
#------------------------------------------------------------------------------
# ========= |
# \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
# \\ / O peration | Website: https://openfoam.org
# \\ / A nd | Copyright (C) 2020 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/>.
#
# Script
# uncoupledKinematicParcelFoam
#
# Description
# Script to inform the user that the uncoupledKinematicParcelFoam solver
# has been renamed rhoParticleFoam.
#
#------------------------------------------------------------------------------
echo "The uncoupledKinematicParcelFoam solver has been renamed rhoParticleFoam"
#------------------------------------------------------------------------------

View File

@ -0,0 +1,20 @@
/*--------------------------------*- C++ -*----------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Version: dev
\\/ M anipulation |
-------------------------------------------------------------------------------
Description
Tracks a cloud of particles driven by the flow of the continuous phase.
The cloud is specified by a kinematicCloudProperties file in the constant
directory. A template file is provided in:
$FOAM_ETC/caseDicts/solvers/lagrangian
\*---------------------------------------------------------------------------*/
type particles;
libs ("liblagrangianFunctionObjects.so");
// ************************************************************************* //

View File

@ -52,7 +52,7 @@ subModels
particleForces
{
sphereDrag;
// gravity;
// gravity;
}
injectionModels
@ -71,7 +71,7 @@ subModels
parcelsPerSecond 1000;
flowRateProfile constant 1;
// nParticle 100; // Required for fixed parcelBasisType
// nParticle 100; // Required for fixed parcelBasisType
sizeDistribution
{
type fixedValue;

View File

@ -1925,7 +1925,7 @@ _icoUncoupledKinematicParcelDyMFoam_ ()
}
complete -o filenames -o nospace -F _icoUncoupledKinematicParcelDyMFoam_ icoUncoupledKinematicParcelDyMFoam
_icoUncoupledKinematicParcelFoam_ ()
_particleFoam_ ()
{
local cur="${COMP_WORDS[COMP_CWORD]}"
local prev="${COMP_WORDS[COMP_CWORD-1]}"
@ -1948,7 +1948,7 @@ _icoUncoupledKinematicParcelFoam_ ()
esac
COMPREPLY=( $(compgen -W "${opts}" $extra -- ${cur}) )
}
complete -o filenames -o nospace -F _icoUncoupledKinematicParcelFoam_ icoUncoupledKinematicParcelFoam
complete -o filenames -o nospace -F _particleFoam_ particleFoam
_ideasUnvToFoam_ ()
{
@ -5366,7 +5366,7 @@ _uncoupledKinematicParcelDyMFoam_ ()
}
complete -o filenames -o nospace -F _uncoupledKinematicParcelDyMFoam_ uncoupledKinematicParcelDyMFoam
_uncoupledKinematicParcelFoam_ ()
_rhoParticleFoam_ ()
{
local cur="${COMP_WORDS[COMP_CWORD]}"
local prev="${COMP_WORDS[COMP_CWORD-1]}"
@ -5389,7 +5389,7 @@ _uncoupledKinematicParcelFoam_ ()
esac
COMPREPLY=( $(compgen -W "${opts}" $extra -- ${cur}) )
}
complete -o filenames -o nospace -F _uncoupledKinematicParcelFoam_ uncoupledKinematicParcelFoam
complete -o filenames -o nospace -F _rhoParticleFoam_ rhoParticleFoam
_viewFactorsGen_ ()
{

View File

@ -1,4 +1,5 @@
cloudInfo/cloudInfo.C
dsmcFields/dsmcFields.C
particles/particles.C
LIB = $(FOAM_LIBBIN)/liblagrangianFunctionObjects

View File

@ -0,0 +1,144 @@
/*---------------------------------------------------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Copyright (C) 2016-2020 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 "particles.H"
#include "singlePhaseTransportModel.H"
#include "addToRunTimeSelectionTable.H"
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
namespace Foam
{
namespace functionObjects
{
defineTypeNameAndDebug(particles, 0);
addToRunTimeSelectionTable
(
functionObject,
particles,
dictionary
);
}
}
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
Foam::functionObjects::particles::particles
(
const word& name,
const Time& runTime,
const dictionary& dict
)
:
fvMeshFunctionObject(name, runTime, dict),
g_
(
IOobject
(
"g",
time_.constant(),
mesh_,
IOobject::READ_IF_PRESENT,
IOobject::NO_WRITE
),
dimensionedVector(dimAcceleration, Zero)
),
laminarTransport_
(
mesh_.lookupObject<singlePhaseTransportModel>("transportProperties")
),
rhoValue_
(
"rho",
dimDensity,
laminarTransport_
),
rho_
(
IOobject
(
"rho",
time_.timeName(),
mesh_
),
mesh_,
rhoValue_
),
mu_("mu", rhoValue_*laminarTransport_.nu()),
U_
(
mesh_.lookupObject<volVectorField>(dict.lookupOrDefault<word>("U", "U"))
),
kinematicCloudName_
(
dict.lookupOrDefault<word>("kinematicCloud", "kinematicCloud")
),
kinematicCloud_
(
kinematicCloudName_,
rho_,
U_,
mu_,
g_
)
{}
// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
Foam::functionObjects::particles::~particles()
{}
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
bool Foam::functionObjects::particles::read
(
const dictionary& dict
)
{
fvMeshFunctionObject::read(dict);
return true;
}
bool Foam::functionObjects::particles::execute()
{
mu_ = rhoValue_*laminarTransport_.nu();
kinematicCloud_.evolve();
return true;
}
bool Foam::functionObjects::particles::write()
{
return true;
}
// ************************************************************************* //

View File

@ -0,0 +1,174 @@
/*---------------------------------------------------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Copyright (C) 2016-2020 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::particles
Description
This functionObject tracks a uncoupled kinematic particle cloud in the
specified velocity field of an incompressible flow (laminar, RANS or LES).
It may be used in conjunction with any transient single-phase incompressible
flow solver such as pisoFoam or pimpleFoam and tracks the particles or
parcels without affecting the flow-field.
The kinematicCloud requires the density of the fluid which is looked-up
from constant/transportProperties dictionary and the acceleration due to
gravity which is read from the constant/g file if present or defaults to
zero.
The kinematicCloud properties are read from the
constant/kinematicCloudProperties dictionary in the usual manner.
Example of function object specification:
\verbatim
particles
{
libs ("liblagrangianFunctionObjects.so");
type particles;
}
\endverbatim
Usage
\table
Property | Description | Required | Default value
type | Type name: particles | yes |
U | Name of the velocity field | no | U
kinematicCloud | Name of the kinematicCloud | no | kinematicCloud
\endtable
See also
Foam::functionObjects::fvMeshFunctionObject
SourceFiles
particles.C
\*---------------------------------------------------------------------------*/
#ifndef functionObjects_particles_H
#define functionObjects_particles_H
#include "fvMeshFunctionObject.H"
#include "basicKinematicCollidingCloud.H"
#include "volFieldsFwd.H"
#include "uniformDimensionedFields.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
namespace Foam
{
class singlePhaseTransportModel;
namespace functionObjects
{
/*---------------------------------------------------------------------------*\
Class particles Declaration
\*---------------------------------------------------------------------------*/
class particles
:
public fvMeshFunctionObject
{
// Private member data
//- Optional acceleration due to gravity
uniformDimensionedVectorField g_;
//- Reference to the laminar transport model
const singlePhaseTransportModel& laminarTransport_;
//- Uniform density value
dimensionedScalar rhoValue_;
//- Density field needed to construct kinematicCloud
volScalarField rho_;
//- Dynamic viscosity field needed to construct kinematicCloud
volScalarField mu_;
//- Reference to the velocity field
const volVectorField& U_;
//- Name of the cloud
word kinematicCloudName_;
//- The kinematic cloud
basicKinematicCollidingCloud kinematicCloud_;
public:
//- Runtime type information
TypeName("particles");
// Constructors
//- Construct for given objectRegistry and dictionary.
// Allow the possibility to load fields from files
particles
(
const word& name,
const Time& runTime,
const dictionary& dict
);
//- Disallow default bitwise copy construction
particles(const particles&) = delete;
//- Destructor
virtual ~particles();
// Member Functions
//- Read the controls
virtual bool read(const dictionary&);
//- Track the cloud
virtual bool execute();
//- Write the cloud
virtual bool write();
// Member Operators
//- Disallow default bitwise assignment
void operator==(const particles&) = delete;
};
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
} // End namespace functionObjects
} // End namespace Foam
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#endif
// ************************************************************************* //

View File

@ -15,7 +15,7 @@ FoamFile
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
application icoUncoupledKinematicParcelFoam;
application particleFoam;
startFrom latestTime;

View File

@ -15,7 +15,7 @@ FoamFile
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
application icoUncoupledKinematicParcelFoam;
application particleFoam;
startFrom startTime;

View File

@ -15,7 +15,7 @@ FoamFile
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
application icoUncoupledKinematicParcelFoam;
application particleFoam;
startFrom startTime;

View File

@ -15,7 +15,7 @@ FoamFile
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
application icoUncoupledKinematicParcelFoam;
application particleFoam;
startFrom startTime;