GIT: Resolved conflict

This commit is contained in:
Andrew Heather 2016-06-17 14:20:45 +01:00
commit b6ad46e139
345 changed files with 4442 additions and 660 deletions

View File

@ -11,6 +11,7 @@ $(BCs)/turbulentTemperatureRadCoupledMixed/turbulentTemperatureRadCoupledMixedFv
$(BCs)/externalWallHeatFluxTemperature/externalWallHeatFluxTemperatureFvPatchScalarField.C
$(BCs)/wallHeatTransfer/wallHeatTransferFvPatchScalarField.C
$(BCs)/convectiveHeatTransfer/convectiveHeatTransferFvPatchScalarField.C
$(BCs)/fixedIncidentRadiation/fixedIncidentRadiationFvPatchScalarField.C
turbulentFluidThermoModels/derivedFvPatchFields/wallFunctions/alphatWallFunctions/alphatWallFunction/alphatWallFunctionFvPatchScalarField.C
turbulentFluidThermoModels/derivedFvPatchFields/wallFunctions/alphatWallFunctions/alphatJayatillekeWallFunction/alphatJayatillekeWallFunctionFvPatchScalarField.C

View File

@ -2,6 +2,7 @@ EXE_INC = \
-I../turbulenceModels/lnInclude \
-I$(LIB_SRC)/transportModels/compressible/lnInclude \
-I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \
-I$(LIB_SRC)/thermophysicalModels/radiation/lnInclude \
-I$(LIB_SRC)/thermophysicalModels/specie/lnInclude \
-I$(LIB_SRC)/thermophysicalModels/solidThermo/lnInclude \
-I$(LIB_SRC)/thermophysicalModels/solidSpecie/lnInclude \
@ -10,6 +11,7 @@ EXE_INC = \
LIB_LIBS = \
-lcompressibleTransportModels \
-lradiationModels \
-lfluidThermophysicalModels \
-lsolidThermo \
-lsolidSpecie \

View File

@ -0,0 +1,219 @@
/*---------------------------------------------------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 2016 OpenCFD Ltd.
\\/ 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
\*---------------------------------------------------------------------------*/
#include "fixedIncidentRadiationFvPatchScalarField.H"
#include "addToRunTimeSelectionTable.H"
#include "fvPatchFieldMapper.H"
#include "volFields.H"
#include "constants.H"
#include "radiationModel.H"
#include "absorptionEmissionModel.H"
using namespace Foam::constant;
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
Foam::radiation::fixedIncidentRadiationFvPatchScalarField::
fixedIncidentRadiationFvPatchScalarField
(
const fvPatch& p,
const DimensionedField<scalar, volMesh>& iF
)
:
fixedGradientFvPatchScalarField(p, iF),
temperatureCoupledBase(patch(), "undefined", "undefined", "undefined-K"),
QrIncident_(p.size(), 0.0)
{}
Foam::radiation::fixedIncidentRadiationFvPatchScalarField::
fixedIncidentRadiationFvPatchScalarField
(
const fixedIncidentRadiationFvPatchScalarField& psf,
const fvPatch& p,
const DimensionedField<scalar, volMesh>& iF,
const fvPatchFieldMapper& mapper
)
:
fixedGradientFvPatchScalarField(psf, p, iF, mapper),
temperatureCoupledBase(patch(), psf),
QrIncident_(psf.QrIncident_)
{}
Foam::radiation::fixedIncidentRadiationFvPatchScalarField::
fixedIncidentRadiationFvPatchScalarField
(
const fvPatch& p,
const DimensionedField<scalar, volMesh>& iF,
const dictionary& dict
)
:
fixedGradientFvPatchScalarField(p, iF),
temperatureCoupledBase(patch(), dict),
QrIncident_("QrIncident", dict, p.size())
{
if (dict.found("value") && dict.found("gradient"))
{
fvPatchField<scalar>::operator=(Field<scalar>("value", dict, p.size()));
gradient() = Field<scalar>("gradient", dict, p.size());
}
else
{
// Still reading so cannot yet evaluate. Make up a value.
fvPatchField<scalar>::operator=(patchInternalField());
gradient() = 0.0;
}
}
Foam::radiation::fixedIncidentRadiationFvPatchScalarField::
fixedIncidentRadiationFvPatchScalarField
(
const fixedIncidentRadiationFvPatchScalarField& psf,
const DimensionedField<scalar, volMesh>& iF
)
:
fixedGradientFvPatchScalarField(psf, iF),
temperatureCoupledBase(patch(), psf),
QrIncident_(psf.QrIncident_)
{}
Foam::radiation::fixedIncidentRadiationFvPatchScalarField::
fixedIncidentRadiationFvPatchScalarField
(
const fixedIncidentRadiationFvPatchScalarField& ptf
)
:
fixedGradientFvPatchScalarField(ptf),
temperatureCoupledBase(patch(), ptf),
QrIncident_(ptf.QrIncident_)
{}
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
void Foam::radiation::fixedIncidentRadiationFvPatchScalarField::autoMap
(
const fvPatchFieldMapper& m
)
{
fixedGradientFvPatchScalarField::autoMap(m);
QrIncident_.autoMap(m);
}
void Foam::radiation::fixedIncidentRadiationFvPatchScalarField::rmap
(
const fvPatchScalarField& psf,
const labelList& addr
)
{
fixedGradientFvPatchScalarField::rmap(psf, addr);
const fixedIncidentRadiationFvPatchScalarField& thftpsf =
refCast<const fixedIncidentRadiationFvPatchScalarField>
(
psf
);
QrIncident_.rmap(thftpsf.QrIncident_, addr);
}
void Foam::radiation::fixedIncidentRadiationFvPatchScalarField::updateCoeffs()
{
if (updated())
{
return;
}
scalarField intFld(patchInternalField());
const radiation::radiationModel& radiation =
db().lookupObject<radiation::radiationModel>("radiationProperties");
scalarField emissivity
(
radiation.absorptionEmission().e()().boundaryField()
[
patch().index()
]
);
gradient() =
emissivity*
(
QrIncident_
- physicoChemical::sigma.value()*pow4(*this)
)/kappa(*this);
fixedGradientFvPatchScalarField::updateCoeffs();
if (debug)
{
scalar Qr = gSum(kappa(*this)*gradient()*patch().magSf());
Info<< patch().boundaryMesh().mesh().name() << ':'
<< patch().name() << ':'
<< this->dimensionedInternalField().name() << " -> "
<< " radiativeFlux:" << Qr
<< " walltemperature "
<< " min:" << gMin(*this)
<< " max:" << gMax(*this)
<< " avg:" << gAverage(*this)
<< endl;
}
}
void Foam::radiation::fixedIncidentRadiationFvPatchScalarField::write
(
Ostream& os
) const
{
fixedGradientFvPatchScalarField::write(os);
temperatureCoupledBase::write(os);
QrIncident_.writeEntry("QrIncident", os);
writeEntry("value", os);
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
namespace Foam
{
namespace radiation
{
makePatchTypeField
(
fvPatchScalarField,
fixedIncidentRadiationFvPatchScalarField
);
}
}
// ************************************************************************* //

View File

@ -0,0 +1,205 @@
/*---------------------------------------------------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 2016 OpenCFD Ltd.
\\/ 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, write to the Free Software Foundation,
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
Class
Foam::radiation::fixedIncidentRadiationFvPatchScalarField
Group
grpThermoBoundaryConditions
Description
Boundary condition for thermal coupling for solid regions.
Used to emulate a fixed incident radiative heat flux on a wall.
the gradient heat flux is calculated as :
Qr = emissivity*(QrIncident - sigma_*T^4)
where:
emissivity is the emissivity of the solid.
QrIncident is the specified fixed incident radiation.
Example usage:
wall
{
type fixedIncidentRadiation;
QrIncident uniform 500;
kappa solidThermo;
KappaName none;
}
kappa:
- 'lookup' : lookup volScalarField (or volSymmTensorField) with name
- 'solidThermo' : use solidThermo kappa()
emissivity:
- 'lookup' : lookup volScalarField emissivity
- 'localSolidRadiation': Look up for local solidRadiation
SourceFiles
fixedIncidentRadiationFvPatchScalarField.C
\*---------------------------------------------------------------------------*/
#ifndef fixedIncidentRadiationFvPatchScalarField_H
#define fixedIncidentRadiationFvPatchScalarField_H
#include "fixedGradientFvPatchFields.H"
#include "temperatureCoupledBase.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
namespace Foam
{
namespace radiation
{
/*---------------------------------------------------------------------------*\
Class fixedIncidentRadiationFvPatchScalarField declaration
\*---------------------------------------------------------------------------*/
class fixedIncidentRadiationFvPatchScalarField
:
public fixedGradientFvPatchScalarField,
public temperatureCoupledBase
{
// Private data
//- Incident radiative heat flux
scalarField QrIncident_;
public:
//- Runtime type information
TypeName("fixedIncidentRadiation");
// Constructors
//- Construct from patch and internal field
fixedIncidentRadiationFvPatchScalarField
(
const fvPatch&,
const DimensionedField<scalar, volMesh>&
);
//- Construct from patch, internal field and dictionary
fixedIncidentRadiationFvPatchScalarField
(
const fvPatch&,
const DimensionedField<scalar, volMesh>&,
const dictionary&
);
//- Construct by mapping given
// turbulentTemperatureCoupledBaffleMixedFvPatchScalarField onto a
// new patch
fixedIncidentRadiationFvPatchScalarField
(
const
fixedIncidentRadiationFvPatchScalarField&,
const fvPatch&,
const DimensionedField<scalar, volMesh>&,
const fvPatchFieldMapper&
);
//- Construct as copy
fixedIncidentRadiationFvPatchScalarField
(
const fixedIncidentRadiationFvPatchScalarField&
);
//- Construct and return a clone
virtual tmp<fvPatchScalarField> clone() const
{
return tmp<fvPatchScalarField>
(
new fixedIncidentRadiationFvPatchScalarField
(
*this
)
);
}
//- Construct as copy setting internal field reference
fixedIncidentRadiationFvPatchScalarField
(
const fixedIncidentRadiationFvPatchScalarField&,
const DimensionedField<scalar, volMesh>&
);
//- Construct and return a clone setting internal field reference
virtual tmp<fvPatchScalarField> clone
(
const DimensionedField<scalar, volMesh>& iF
) const
{
return tmp<fvPatchScalarField>
(
new fixedIncidentRadiationFvPatchScalarField
(
*this,
iF
)
);
}
// Member functions
// Mapping functions
//- Map (and resize as needed) from self given a mapping object
virtual void autoMap(const fvPatchFieldMapper&);
//- Reverse map the given fvPatchField onto this fvPatchField
virtual void rmap
(
const fvPatchScalarField&,
const labelList&
);
//- Update the coefficients associated with the patch field
virtual void updateCoeffs();
//- Write
virtual void write(Ostream&) const;
};
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
} // End namespace Foam
} // End namespace radiation
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#endif
// ************************************************************************* //

View File

@ -260,35 +260,35 @@ void Foam::activePressureForceBaffleVelocityFvPatchVectorField::updateCoeffs()
scalar valueDiff = 0;
if (fBased_)
// Add this side (p*area)
forAll(cyclicFaceCells, facei)
{
// Add this side
forAll(cyclicFaceCells, facei)
{
valueDiff +=p[cyclicFaceCells[facei]]*mag(initCyclicSf_[facei]);
}
// Remove other side
forAll(nbrFaceCells, facei)
{
valueDiff -=p[nbrFaceCells[facei]]*mag(initCyclicSf_[facei]);
}
Info<< "Force difference = " << valueDiff << endl;
valueDiff +=p[cyclicFaceCells[facei]]*mag(initCyclicSf_[facei]);
}
else //pressure based
// Remove other side
forAll(nbrFaceCells, facei)
{
forAll(cyclicFaceCells, facei)
{
valueDiff += p[cyclicFaceCells[facei]];
}
valueDiff -=p[nbrFaceCells[facei]]*mag(initCyclicSf_[facei]);
}
forAll(nbrFaceCells, facei)
{
valueDiff -= p[nbrFaceCells[facei]];
}
if (!fBased_) //pressure based then weighted by area
{
valueDiff = valueDiff/gSum(patch().magSf());
}
Info<< "Pressure difference = " << valueDiff << endl;
reduce(valueDiff, sumOp<scalar>());
if (Pstream::master())
{
if (fBased_)
{
Info<< "Force difference = " << valueDiff << endl;
}
else
{
Info<< "Area-averaged pressure difference = " << valueDiff << endl;
}
}
if (mag(valueDiff) > mag(minThresholdValue_) || baffleActivated_)
@ -316,7 +316,10 @@ void Foam::activePressureForceBaffleVelocityFvPatchVectorField::updateCoeffs()
openFraction_ = max(min(1 - 1e-6, openFraction_), 1e-6);
}
Info<< "Open fraction = " << openFraction_ << endl;
if (Pstream::master())
{
Info<< "Open fraction = " << openFraction_ << endl;
}
scalar areaFraction = 0.0;

View File

@ -29,21 +29,19 @@ Group
Description
This boundary condition is applied to the flow velocity, to simulate the
opening or closure of a baffle due to local pressure or force changes,
by merging the behaviours of wall and cyclic conditions.
opening or closure of a baffle due to area averaged pressure or force delta,
between both sides of the baffle. This is achieved by merging the
behaviours of wall and cyclic baffles
The baffle joins two mesh regions, where the open fraction determines
the interpolation weights applied to each cyclic- and neighbour-patch
contribution. This means that this is boundary condition is meant to be
used in an extra wall beyond an existing cyclic patch pair. See PDRMesh
for more details.
used in an extra wall beyond an existing cyclic patch pair.
The baffle is activated when the pressure difference between master and
slave paches is positive and larger then minThresholdValue. The
orientation flag is used to to calculate the pressure difference bwetween
master-slave or slave-master.
The baffle is activated when the area weighted pressure difference between
master and slave paches is larger then minThresholdValue.
Once the threshold is crossed, this condition activated and continues to
Once the threshold is crossed, the baffle is activated and continues to
open or close at a fixed rate using
\f[
@ -91,7 +89,7 @@ Description
maxOpenFractionDelta 0.1;
minThresholdValue 0.01;
forceBased false;
opening 1;
opening true;
}
\endverbatim

View File

@ -28,10 +28,11 @@ Group
grpInletletBoundaryConditions grpOutletBoundaryConditions
Description
This velocity inlet/outlet boundary condition combines a fixed normal
component obtained from the "normalVelocity" patchField supplied with a
fixed or zero-gradiented tangential component depending on the direction
fixed or zero-gradiented tangential component.
The tangential component is set depending on the direction
of the flow and the setting of "fixTangentialInflow":
- Outflow: apply zero-gradient condition to tangential components
- Inflow:

View File

@ -24,6 +24,9 @@ License
Class
Foam::fv::boundedConvectionScheme
Group
grpFvConvectionSchemes
Description
Bounded form of the selected convection scheme.

View File

@ -24,6 +24,9 @@ License
Class
Foam::fv::convectionScheme
Group
grpFvConvectionSchemes
Description
Abstract base class for convection schemes.

View File

@ -24,6 +24,9 @@ License
Class
Foam::fv::gaussConvectionScheme
Group
grpFvConvectionSchemes
Description
Basic second-order convection using face-gradients and Gauss' theorem.

View File

@ -24,6 +24,9 @@ License
Class
Foam::fv::multivariateGaussConvectionScheme
Group
grpFvConvectionSchemes
Description
Basic second-order convection using face-gradients and Gauss' theorem.

View File

@ -24,6 +24,9 @@ License
Class
Foam::fv::CoEulerDdtScheme
Group
grpFvDdtSchemes
Description
Courant number limited first-order Euler implicit/explicit ddt.

View File

@ -24,6 +24,9 @@ License
Class
Foam::fv::CrankNicolsonDdtScheme
Group
grpFvDdtSchemes
Description
Second-oder Crank-Nicolson implicit ddt using the current and
previous time-step fields as well as the previous time-step ddt.

View File

@ -24,6 +24,9 @@ License
Class
Foam::fv::EulerDdtScheme
Group
grpFvDdtSchemes
Description
Basic first-order Euler implicit/explicit ddt using only the current and
previous time-step values.

View File

@ -24,6 +24,9 @@ License
Class
Foam::fv::SLTSDdtScheme
Group
grpFvDdtSchemes
Description
Stabilised local time-step first-order Euler implicit/explicit ddt.
The time-step is adjusted locally so that an advective equations remains

View File

@ -24,6 +24,9 @@ License
Class
Foam::fv::backwardDdtScheme
Group
grpFvDdtSchemes
Description
Second-order backward-differencing ddt using the current and
two previous time-step values.

View File

@ -24,6 +24,9 @@ License
Class
Foam::fv::boundedDdtScheme
Group
grpFvDdtSchemes
Description
Bounded form of the selected ddt scheme.

View File

@ -24,6 +24,9 @@ License
Class
Foam::fv::ddtScheme
Group
grpFvDdtSchemes
Description
Abstract base class for ddt schemes.

View File

@ -24,6 +24,9 @@ License
Class
Foam::fv::localEulerDdtScheme
Group
grpFvDdtSchemes
Description
Local time-step first-order Euler implicit/explicit ddt.

View File

@ -24,6 +24,9 @@ License
Class
Foam::fv::steadyStateDdtScheme
Group
grpFvDdtSchemes
Description
SteadyState implicit/explicit ddt which returns 0.

View File

@ -24,6 +24,9 @@ License
Class
Foam::fv::divScheme
Group
grpFvDivSchemes
Description
Abstract base class for div schemes.

View File

@ -24,6 +24,9 @@ License
Class
Foam::fv::gaussDivScheme
Group
grpFvDivSchemes
Description
Basic second-order div using face-gradients and Gauss' theorem.

View File

@ -0,0 +1,80 @@
/*---------------------------------------------------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 2016 OpenCFD Ltd.
\\/ 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/>.
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
\defgroup grpFvSchemes Finite volume numerical schemes
@{
This group contains finite volume numerical schemes
@}
\defgroup grpFvGradSchemes Gradient schemes
@{
\ingroup grpFvSchemes
This group contains finite volume gradient schemes
@}
\defgroup grpFvSnGradSchemes Surface normal gradient schemes
@{
\ingroup grpFvSchemes
This group contains finite volume surface normal gradient schemes
@}
\defgroup grpFvDivSchemes Divergence schemes
@{
\ingroup grpFvSchemes
This group contains finite volume divergence schemes
@}
\defgroup grpFvLaplacianSchemes Laplacian schemes
@{
\ingroup grpFvSchemes
This group contains finite volume Laplacian schemes
@}
\defgroup grpFvDdtSchemes Time schemes
@{
\ingroup grpFvSchemes
This group contains finite volume time schemes
@}
\defgroup grpFvConvectionSchemes Convection schemes
@{
\ingroup grpFvSchemes
This group contains finite volume convection schemes
@}
\defgroup grpFvSurfaceInterpolationSchemes Surface interpolation schemes
@{
\ingroup grpFvSchemes
This group contains finite volume surface interpolation schemes
@}
\defgroup grpFvLimitedSurfaceInterpolationSchemes Limited interpolation schemes
@{
\ingroup grpFvSurfaceInterpolationSchemes
This group contains finite volume limited surface interpolation schemes
@}
\*---------------------------------------------------------------------------*/

View File

@ -24,6 +24,9 @@ License
Class
Foam::fv::LeastSquaresGrad
Group
grpFvGradSchemes
Description
Gradient calculated using weighted least-squares on an arbitrary stencil.
The stencil type is provided via a template argument and any cell-based

View File

@ -24,6 +24,9 @@ License
Class
Foam::fv::fourthGrad
Group
grpFvGradSchemes
Description
Second-order gradient scheme using least-squares.

View File

@ -24,6 +24,9 @@ License
Class
Foam::fv::gaussGrad
Group
grpFvGradSchemes
Description
Basic second-order gradient scheme using face-interpolation
and Gauss' theorem.

View File

@ -24,6 +24,9 @@ License
Class
Foam::fv::leastSquaresGrad
Group
grpFvGradSchemes
Description
Second-order gradient scheme using least-squares.

View File

@ -24,6 +24,9 @@ License
Class
Foam::fv::cellLimitedGrad
Group
grpFvGradSchemes
Description
cellLimitedGrad gradient scheme applied to a runTime selected base gradient
scheme.

View File

@ -24,6 +24,9 @@ License
Class
Foam::fv::cellMDLimitedGrad
Group
grpFvGradSchemes
Description
cellMDLimitedGrad gradient scheme applied to a runTime selected base
gradient scheme.

View File

@ -24,6 +24,9 @@ License
Class
Foam::fv::faceLimitedGrad
Group
grpFvGradSchemes
Description
faceLimitedGrad gradient scheme applied to a runTime selected base gradient
scheme.

View File

@ -24,6 +24,9 @@ License
Class
Foam::fv::faceMDLimitedGrad
Group
grpFvGradSchemes
Description
faceMDLimitedGrad gradient scheme applied to a runTime selected
base gradient scheme.

View File

@ -24,6 +24,9 @@ License
Class
Foam::fv::gaussLaplacianScheme
Group
grpFvLaplacianSchemes
Description
Basic second-order laplacian using face-gradients and Gauss' theorem.

View File

@ -24,6 +24,9 @@ License
Class
Foam::fv::laplacianScheme
Group
grpFvLaplacianSchemes
Description
Abstract base class for laplacian schemes.

View File

@ -24,6 +24,9 @@ License
Class
Foam::CentredFitSnGradScheme
Group
grpFvSnGradSchemes
Description
Centred fit snGrad scheme which applies an explicit correction to snGrad

View File

@ -24,6 +24,9 @@ License
Class
Foam::fv::correctedSnGrad
Group
grpFvSnGradSchemes
Description
Simple central-difference snGrad scheme with non-orthogonal correction.

View File

@ -24,6 +24,9 @@ License
Class
Foam::fv::faceCorrectedSnGrad
Group
grpFvSnGradSchemes
Description
Simple central-difference snGrad scheme with non-orthogonal correction.

View File

@ -24,6 +24,9 @@ License
Class
Foam::fv::limitedSnGrad
Group
grpFvSnGradSchemes
Description
Run-time selected snGrad scheme with limited non-orthogonal correction.

View File

@ -24,6 +24,9 @@ License
Class
Foam::fv::orthogonalSnGrad
Group
grpFvSnGradSchemes
Description
Simple central-difference snGrad scheme without non-orthogonal correction.

View File

@ -24,6 +24,9 @@ License
Class
Foam::fv::snGradScheme
Group
grpFvSnGradSchemes
Description
Abstract base class for snGrad schemes.

View File

@ -24,6 +24,9 @@ License
Class
Foam::fv::uncorrectedSnGrad
Group
grpFvSnGradSchemes
Description
Simple central-difference snGrad scheme without non-orthogonal correction.

View File

@ -24,6 +24,9 @@ License
Class
Foam::GammaLimiter
Group
grpFvLimitedSurfaceInterpolationSchemes
Description
Class with limiter function which returns the limiter for the
Gamma differencing scheme based on phict obtained from the LimiterFunc

View File

@ -24,6 +24,9 @@ License
Class
Foam::LimitedLimiter
Group
grpFvLimitedSurfaceInterpolationSchemes
Description
Foam::LimitedLimiter

View File

@ -24,6 +24,9 @@ License
Class
Foam::Limited01Limiter
Group
grpFvLimitedSurfaceInterpolationSchemes
Description
A LimitedLimiter with the range 0-1

View File

@ -24,6 +24,9 @@ License
Class
Foam::LimitedScheme
Group
grpFvLimitedSurfaceInterpolationSchemes
Description
Class to create NVD/TVD limited weighting-factors.

View File

@ -24,6 +24,9 @@ License
Class
Foam::MUSCLLimiter
Group
grpFvLimitedSurfaceInterpolationSchemes
Description
Class with limiter function which returns the limiter for the
van Leer's MUSCL differencing scheme.

View File

@ -24,6 +24,9 @@ License
Class
Foam::MinmodLimiter
Group
grpFvLimitedSurfaceInterpolationSchemes
Description
Class with limiter function which returns the limiter for the
Minmod differencing scheme.

View File

@ -24,6 +24,9 @@ License
Class
Foam::OSPRELimiter
Group
grpFvLimitedSurfaceInterpolationSchemes
Description
Class with limiter function which returns the limiter for the
OSPRE differencing scheme based on r obtained from the LimiterFunc

View File

@ -24,6 +24,9 @@ License
Class
Foam::PhiLimiter
Group
grpFvLimitedSurfaceInterpolationSchemes
Description
Class with limiter function which returns the limiter for the
Phi differencing scheme.

View File

@ -24,6 +24,9 @@ License
Class
Foam::PhiScheme
Group
grpFvLimitedSurfaceInterpolationSchemes
Description
Class to create the weighting-factors based on the face-flux.

View File

@ -24,6 +24,9 @@ License
Class
Foam::QUICKLimiter
Group
grpFvLimitedSurfaceInterpolationSchemes
Description
Class with limiter function which returns the limiter for the
quadratic-upwind differencing scheme.

View File

@ -24,6 +24,9 @@ License
Class
Foam::SFCDLimiter
Group
grpFvLimitedSurfaceInterpolationSchemes
Description
Class with limiter function which returns the limiter for the
SFCD differencing scheme based on phict obtained from the LimiterFunc

View File

@ -24,6 +24,9 @@ License
Class
Foam::SuperBeeLimiter
Group
grpFvLimitedSurfaceInterpolationSchemes
Description
Class with limiter function which returns the limiter for the
SuperBee differencing scheme based on r obtained from the LimiterFunc

View File

@ -24,6 +24,9 @@ License
Class
Foam::UMISTLimiter
Group
grpFvLimitedSurfaceInterpolationSchemes
Description
Class with limiter function which returns the limiter for the
UMIST differencing scheme.

View File

@ -24,6 +24,9 @@ License
Class
Foam::blended
Group
grpFvLimitedSurfaceInterpolationSchemes
Description
linear/upwind blended differencing scheme.

View File

@ -24,6 +24,9 @@ License
Class
Foam::filteredLinearLimiter
Group
grpFvLimitedSurfaceInterpolationSchemes
Description
Class to generate weighting factors for the filteredLinear
differencing scheme.

View File

@ -24,6 +24,9 @@ License
Class
Foam::filteredLinear2Limiter
Group
grpFvLimitedSurfaceInterpolationSchemes
Description
Class to generate weighting factors for the filteredLinear2
differencing scheme.

View File

@ -24,6 +24,9 @@ License
Class
Foam::filteredLinear3Limiter
Group
grpFvLimitedSurfaceInterpolationSchemes
Description
Class to generate weighting factors for the filteredLinear
differencing scheme.

View File

@ -24,6 +24,9 @@ License
Class
Foam::limitWith
Group
grpFvLimitedSurfaceInterpolationSchemes
Description
limitWith differencing scheme limits the specified scheme with the
specified limiter.

View File

@ -24,6 +24,9 @@ License
Class
Foam::limitedCubicLimiter
Group
grpFvLimitedSurfaceInterpolationSchemes
Description
Class with limiter function which returns the limiter for the
TVD limited centred-cubic differencing scheme based on r obtained from

View File

@ -24,6 +24,9 @@ License
Class
Foam::limitedLinearLimiter
Group
grpFvLimitedSurfaceInterpolationSchemes
Description
Class with limiter function which returns the limiter for the
TVD limited linear differencing scheme based on r obtained from the

View File

@ -24,6 +24,9 @@ License
Class
Foam::limitedSurfaceInterpolationScheme
Group
grpFvLimitedSurfaceInterpolationSchemes
Description
Abstract base class for limited surface interpolation schemes.

View File

@ -24,6 +24,9 @@ License
Class
Foam::upwind
Group
grpFvLimitedSurfaceInterpolationSchemes
Description
Upwind differencing scheme class.

View File

@ -24,6 +24,9 @@ License
Class
Foam::vanAlbadaLimiter
Group
grpFvLimitedSurfaceInterpolationSchemes
Description
Class with limiter function which returns the limiter for the
vanAlbada differencing scheme based on r obtained from the LimiterFunc

View File

@ -24,6 +24,9 @@ License
Class
Foam::vanLeerLimiter
Group
grpFvLimitedSurfaceInterpolationSchemes
Description
Class with limiter function which returns the limiter for the
vanLeer differencing scheme based on r obtained from the LimiterFunc

View File

@ -24,6 +24,9 @@ License
Class
Foam::CentredFitScheme
Group
grpFvSurfaceInterpolationSchemes
Description
Centred fit surface interpolation scheme which applies an explicit
correction to linear.

View File

@ -24,6 +24,9 @@ License
Class
Foam::CoBlended
Group
grpFvSurfaceInterpolationSchemes
Description
Two-scheme Courant number based blending differencing scheme.

View File

@ -24,6 +24,9 @@ License
Class
Foam::LUST
Group
grpFvSurfaceInterpolationSchemes
Description
LUST: Linear-upwind stabilised transport.

View File

@ -24,6 +24,9 @@ License
Class
Foam::PureUpwindFitScheme
Group
grpFvSurfaceInterpolationSchemes
Description
Upwind biased fit surface interpolation scheme that applies an explicit
correction to upwind.

View File

@ -24,6 +24,9 @@ License
Class
Foam::UpwindFitScheme
Group
grpFvSurfaceInterpolationSchemes
Description
Upwind biased fit surface interpolation scheme that applies an explicit
correction to linear.

View File

@ -24,6 +24,9 @@ License
Class
Foam::cellCoBlended
Group
grpFvSurfaceInterpolationSchemes
Description
Two-scheme cell-based Courant number based blending differencing scheme.

View File

@ -24,6 +24,9 @@ License
Class
Foam::clippedLinear
Group
grpFvSurfaceInterpolationSchemes
Description
Central-differencing interpolation scheme using clipped-weights to
improve stability on meshes with very rapid variations in cell size.

View File

@ -24,6 +24,9 @@ License
Class
Foam::cubic
Group
grpFvSurfaceInterpolationSchemes
Description
Cubic interpolation scheme class derived from linear and returns
linear weighting factors but also applies an explicit correction.

View File

@ -24,6 +24,9 @@ License
Class
Foam::downwind
Group
grpFvSurfaceInterpolationSchemes
Description
Downwind differencing scheme class.

View File

@ -24,6 +24,9 @@ License
Class
Foam::fixedBlended
Group
grpFvSurfaceInterpolationSchemes
Description
Two-scheme fixed-blending differencing scheme.

View File

@ -24,6 +24,9 @@ License
Class
Foam::harmonic
Group
grpFvSurfaceInterpolationSchemes
Description
Harmonic-mean differencing scheme class.

View File

@ -24,6 +24,9 @@ License
Class
Foam::limiterBlended
Group
grpFvSurfaceInterpolationSchemes
Description
Blends two specified schemes using the limiter function provided by a
limitedSurfaceInterpolationScheme.

View File

@ -24,6 +24,9 @@ License
Class
Foam::linear
Group
grpFvSurfaceInterpolationSchemes
Description
Central-differencing interpolation scheme class

View File

@ -24,6 +24,9 @@ License
Class
Foam::linearUpwind
Group
grpFvSurfaceInterpolationSchemes
Description
linearUpwind interpolation scheme class derived from upwind and returns
upwind weighting factors and also applies a gradient-based explicit

View File

@ -24,6 +24,9 @@ License
Class
Foam::localBlended
Group
grpFvSurfaceInterpolationSchemes
Description
Two-scheme localBlended differencing scheme.

View File

@ -24,6 +24,9 @@ License
Class
Foam::localMax
Group
grpFvSurfaceInterpolationSchemes
Description
LocalMax-mean differencing scheme class.

View File

@ -24,6 +24,9 @@ License
Class
Foam::localMin
Group
grpFvSurfaceInterpolationSchemes
Description
LocalMin-mean differencing scheme class.

View File

@ -24,6 +24,9 @@ License
Class
Foam::midPoint
Group
grpFvSurfaceInterpolationSchemes
Description
Mid-point interpolation (weighting factors = 0.5) scheme class.

View File

@ -24,6 +24,9 @@ License
Class
Foam::outletStabilised
Group
grpFvSurfaceInterpolationSchemes
Description
Outlet-stabilised interpolation scheme which applies upwind differencing
to the faces of the cells adjacent to outlets.
@ -54,7 +57,7 @@ namespace Foam
{
/*---------------------------------------------------------------------------*\
Class outletStabilised Declaration
Class outletStabilised Declaration
\*---------------------------------------------------------------------------*/
template<class Type>

View File

@ -24,6 +24,9 @@ License
Class
Foam::pointLinear
Group
grpFvSurfaceInterpolationSchemes
Description
Face-point interpolation scheme class derived from linear and
returns linear weighting factors but also applies an explicit correction.

View File

@ -24,6 +24,9 @@ License
Class
Foam::reverseLinear
Group
grpFvSurfaceInterpolationSchemes
Description
Inversed weight central-differencing interpolation scheme class.
@ -46,7 +49,7 @@ namespace Foam
{
/*---------------------------------------------------------------------------*\
Class reverseLinear Declaration
Class reverseLinear Declaration
\*---------------------------------------------------------------------------*/
template<class Type>

View File

@ -24,6 +24,9 @@ License
Class
Foam::skewCorrected
Group
grpFvSurfaceInterpolationSchemes
Description
Skewness-corrected interpolation scheme that applies an explicit
correction to given scheme.
@ -47,7 +50,7 @@ namespace Foam
{
/*---------------------------------------------------------------------------*\
Class skewCorrected Declaration
Class skewCorrected Declaration
\*---------------------------------------------------------------------------*/
template<class Type>

View File

@ -24,6 +24,9 @@ License
Class
Foam::weighted
Group
grpFvSurfaceInterpolationSchemes
Description
Interpolation scheme class using weights looked-up from the objectRegistry.

View File

@ -24,6 +24,9 @@ License
Class
Foam::COxidationDiffusionLimitedRate
Group
grpLagrangianIntermediateSurfaceReactionSubModels
Description
Diffusion limited rate surface reaction model for coal parcels. Limited to:

View File

@ -24,6 +24,9 @@ License
Class
Foam::COxidationHurtMitchell
Group
grpLagrangianIntermediateSurfaceReactionSubModels
Description
Char oxidation model given by Hurt and Mitchell:

View File

@ -24,6 +24,9 @@ License
Class
Foam::COxidationIntrinsicRate
Group
grpLagrangianIntermediateSurfaceReactionSubModels
Description
Intrinsic char surface reaction mndel

View File

@ -24,6 +24,9 @@ License
Class
Foam::COxidationKineticDiffusionLimitedRate
Group
grpLagrangianIntermediateSurfaceReactionSubModels
Description
Kinetic/diffusion limited rate surface reaction model for coal parcels.
Limited to:

View File

@ -24,6 +24,9 @@ License
Class
Foam::COxidationMurphyShaddix
Group
grpLagrangianIntermediateSurfaceReactionSubModels
Description
Limited to C(s) + O2 -> CO2

View File

@ -24,6 +24,9 @@ License
Class
Foam::CollidingCloud
Group
grpLagrangianIntermediateClouds
Description
Adds coolisions to kinematic clouds

View File

@ -24,6 +24,9 @@ License
Class
Foam::KinematicCloud
Group
grpLagrangianIntermediateClouds
Description
Templated base class for kinematic cloud

View File

@ -63,6 +63,10 @@ Foam::cloudSolution::cloudSolution(const fvMesh& mesh, const dictionary& dict)
{
Info<< "Cloud source terms will be held constant" << endl;
}
// transient default to false asks for extra massFlowRate
// in transient lagrangian
dict_.lookup("transient") >> transient_;
}
}

View File

@ -24,6 +24,9 @@ License
Class
Foam::MPPICCloud
Group
grpLagrangianIntermediateClouds
Description
Adds MPPIC modelling to kinematic clouds

View File

@ -24,6 +24,9 @@ License
Class
Foam::ReactingCloud
Group
grpLagrangianIntermediateClouds
Description
Templated base class for reacting cloud

View File

@ -24,6 +24,9 @@ License
Class
Foam::ReactingMultiphaseCloud
Group
grpLagrangianIntermediateClouds
Description
Templated base class for multiphase reacting cloud

View File

@ -24,6 +24,9 @@ License
Class
Foam::ThermoCloud
Group
grpLagrangianIntermediateClouds
Description
Templated base class for thermodynamic cloud

View File

@ -0,0 +1,220 @@
/*---------------------------------------------------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 2016 OpenCFD Ltd.
\\/ 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/>.
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
\defgroup grpLagrangianIntermediate Lagrangian particle modelling
@{
This group contains Lagrangian modelling available in the 'intermediate' library
@}
\defgroup grpLagrangianIntermediateClouds Clouds
@{
\ingroup grpLagrangianIntermediate
This group contains Lagrangian clouds
@}
\defgroup grpLagrangianIntermediateParcels Parcels
@{
\ingroup grpLagrangianIntermediate
This group contains Lagrangian parcels
@}
// Submodels
\defgroup grpLagrangianIntermediateSubModels Submodels
@{
\ingroup grpLagrangianIntermediate
This group contains Lagrangian parcel submodels
@}
\defgroup grpLagrangianIntermediateKinematicSubModels Kinematic
@{
\ingroup grpLagrangianIntermediateSubModels
This group contains Lagrangian kinematic parcel submodels
@}
\defgroup grpLagrangianIntermediateThermoSubModels Thermodynamic
@{
\ingroup grpLagrangianIntermediateSubModels
This group contains Lagrangian thermo parcel submodels
@}
\defgroup grpLagrangianIntermediateReactingSubModels Reacting
@{
\ingroup grpLagrangianIntermediateSubModels
This group contains Lagrangian reacting parcel submodels
@}
\defgroup grpLagrangianIntermediateReactingMultiphaseSubModels Reacting multiphase
@{
\ingroup grpLagrangianIntermediateSubModels
This group contains Lagrangian reacting multiphase parcel submodels
@}
\defgroup grpLagrangianIntermediateMPPICSubModels MP-PIC
@{
\ingroup grpLagrangianIntermediateSubModels
This group contains Lagrangian MP-PIC parcel submodels
@}
// Kinematic parcel sub models
\defgroup grpLagrangianIntermediateCollisionSubModels Collision
@{
\ingroup grpLagrangianIntermediateKinematicSubModels
This group contains Lagrangian particle collision submodes
@}
\defgroup grpLagrangianIntermediateDispersionSubModels Dispersion
@{
\ingroup grpLagrangianIntermediateKinematicSubModels
This group contains Lagrangian particle dispersion submodes
@}
\defgroup grpLagrangianIntermediateInjectionSubModels Injection
@{
\ingroup grpLagrangianIntermediateKinematicSubModels
This group contains Lagrangian particle injection submodes
@}
\defgroup grpLagrangianIntermediateForceSubModels Forces
@{
\ingroup grpLagrangianIntermediateKinematicSubModels
This group contains Lagrangian particle force submodels
@}
\defgroup grpLagrangianIntermediatePatchInteractionSubModels Patch interaction
@{
\ingroup grpLagrangianIntermediateKinematicSubModels
This group contains Lagrangian particle patch interaction submodels
@}
\defgroup grpLagrangianIntermediateSurfaceFilmSubModels Surface film
@{
\ingroup grpLagrangianIntermediateKinematicSubModels
This group contains Lagrangian particle patch interaction submodels
@}
// Thermo parcel submodels
\defgroup grpLagrangianIntermediateHeatTransferSubModels Heat transfer
@{
\ingroup grpLagrangianIntermediateThermoSubModels
This group contains Lagrangian particle heat transfer submodels
@}
// Reacting parcel submodels
\defgroup grpLagrangianIntermediateCompositionSubModels Composition
@{
\ingroup grpLagrangianIntermediateReactingSubModels
This group contains Lagrangian particle composition submodels
@}
\defgroup grpLagrangianIntermediatePhaseChangeSubModels Phase change
@{
\ingroup grpLagrangianIntermediateReactingSubModels
This group contains Lagrangian particle phase change submodels
@}
// Spray parcel submodels (Spray derived from Reacting)
\defgroup grpLagrangianIntermediateAtomizationSubModels Atomization
@{
\ingroup grpLagrangianIntermediateReactingSubModels
This group contains Lagrangian particle atomization submodels
@}
\defgroup grpLagrangianIntermediateBreakupSubModels Breakup
@{
\ingroup grpLagrangianIntermediateReactingSubModels
This group contains Lagrangian particle breakup submodels
@}
// Reacting multiphase parcel submodels
\defgroup grpLagrangianIntermediateDevolatilisationSubModels Devolatilisation
@{
\ingroup grpLagrangianIntermediateReactingMultiphaseSubModels
This group contains Lagrangian particle devolatilisation submodels
@}
\defgroup grpLagrangianIntermediateSurfaceReactionSubModels Surface reaction
@{
\ingroup grpLagrangianIntermediateReactingMultiphaseSubModels
This group contains Lagrangian particle surface reaction submodels
@}
// MP-PIC parcel submodels
\defgroup grpLagrangianIntermediateMPPICAveragingMethods Averaging
@{
\ingroup grpLagrangianIntermediateMPPICSubModels
This group contains Lagrangian MP-PIC particle averaging methods
@}
\defgroup grpLagrangianIntermediateMPPICCorrectionLimitingMethods Correction limiting
@{
\ingroup grpLagrangianIntermediateMPPICSubModels
This group contains Lagrangian MP-PIC particle correction limiting methods
@}
\defgroup grpLagrangianIntermediateMPPICDampingSubModels Damping
@{
\ingroup grpLagrangianIntermediateMPPICSubModels
This group contains Lagrangian MP-PIC particle damping submodels
@}
\defgroup grpLagrangianIntermediateMPPICIsotropySubModels Isotropy
@{
\ingroup grpLagrangianIntermediateMPPICSubModels
This group contains Lagrangian MP-PIC particle isotropy submodels
@}
\defgroup grpLagrangianIntermediateMPPICPackingSubModels Packing
@{
\ingroup grpLagrangianIntermediateMPPICSubModels
This group contains Lagrangian MP-PIC particle packing submodels
@}
\defgroup grpLagrangianIntermediateMPPICParticleStressSubModels Particle stress
@{
\ingroup grpLagrangianIntermediateMPPICSubModels
This group contains Lagrangian MP-PIC particle stress submodels
@}
\defgroup grpLagrangianIntermediateMPPICTimeScaleSubModels Time scale
@{
\ingroup grpLagrangianIntermediateMPPICSubModels
This group contains Lagrangian MP-PIC particle time scale submodels
@}
// Function objects
\defgroup grpLagrangianIntermediateFunctionObjects Function objects
@{
\ingroup grpLagrangianIntermediateSubModels
This group contains Lagrangian function objects
@}
\*---------------------------------------------------------------------------*/

Some files were not shown because too many files have changed in this diff Show More