Merge branch 'master' of /home/dm4/OpenFOAM/repositories/OpenFOAM-dev

This commit is contained in:
mattijs
2014-03-14 13:53:27 +00:00
16 changed files with 238 additions and 180 deletions

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation
\\ / A nd | Copyright (C) 2011-2014 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License
@ -60,6 +60,20 @@ bool Foam::fileName::isAbsolute() const
}
Foam::fileName& Foam::fileName::toAbsolute()
{
fileName& f = *this;
if (!f.isAbsolute())
{
f = cwd()/f;
f.clean();
}
return f;
}
//
// * remove repeated slashes
// /abc////def --> /abc/def

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation
\\ / A nd | Copyright (C) 2011-2014 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License
@ -141,11 +141,14 @@ public:
// Interrogation
//- Return the file type: FILE, DIRECTORY or UNDEFINED
Type type() const;
//- Return the file type: FILE, DIRECTORY or UNDEFINED
Type type() const;
//- Return true if file name is absolute
bool isAbsolute() const;
//- Return true if file name is absolute
bool isAbsolute() const;
//- Convert from relative to absolute
fileName& toAbsolute();
// Decomposition

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation
\\ / A nd | Copyright (C) 2011-2014 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License
@ -571,7 +571,6 @@ void epsilonWallFunctionFvPatchScalarField::write(Ostream& os) const
{
fixedValueFvPatchField<scalar>::write(os);
writeLocalEntries(os);
writeEntry("value", os);
}

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation
\\ / A nd | Copyright (C) 2011-2014 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License
@ -587,7 +587,6 @@ void omegaWallFunctionFvPatchScalarField::write(Ostream& os) const
{
fixedValueFvPatchField<scalar>::write(os);
writeLocalEntries(os);
writeEntry("value", os);
}

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 2013 OpenFOAM Foundation
\\ / A nd | Copyright (C) 2011-2014 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License
@ -25,10 +25,10 @@ License
#include "pressureInletOutletVelocityFvPatchVectorField.H"
#include "addToRunTimeSelectionTable.H"
#include "fvPatchFieldMapper.H"
#include "volFields.H"
#include "surfaceFields.H"
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
Foam::pressureInletOutletVelocityFvPatchVectorField::
@ -38,14 +38,12 @@ pressureInletOutletVelocityFvPatchVectorField
const DimensionedField<vector, volMesh>& iF
)
:
mixedFvPatchVectorField(p, iF),
phiName_("phi"),
rhoName_("rho"),
applyTangentialVelocity_(false)
directionMixedFvPatchVectorField(p, iF),
phiName_("phi")
{
refValue() = *this;
refValue() = vector::zero;
refGrad() = vector::zero;
valueFraction() = 0.0;
valueFraction() = symmTensor::zero;
}
@ -58,12 +56,10 @@ pressureInletOutletVelocityFvPatchVectorField
const fvPatchFieldMapper& mapper
)
:
mixedFvPatchVectorField(ptf, p, iF, mapper),
phiName_(ptf.phiName_),
rhoName_(ptf.rhoName_),
applyTangentialVelocity_(ptf.applyTangentialVelocity_)
directionMixedFvPatchVectorField(ptf, p, iF, mapper),
phiName_(ptf.phiName_)
{
if (applyTangentialVelocity_)
if (ptf.tangentialVelocity_.size())
{
tangentialVelocity_ = mapper(ptf.tangentialVelocity_);
}
@ -78,26 +74,25 @@ pressureInletOutletVelocityFvPatchVectorField
const dictionary& dict
)
:
mixedFvPatchVectorField(p, iF),
phiName_(dict.lookupOrDefault<word>("phi", "phi")),
rhoName_(dict.lookupOrDefault<word>("rho", "rho")),
applyTangentialVelocity_(false)
directionMixedFvPatchVectorField(p, iF),
phiName_(dict.lookupOrDefault<word>("phi", "phi"))
{
fvPatchVectorField::operator=(vectorField("value", dict, p.size()));
if (dict.found("tangentialVelocity"))
{
applyTangentialVelocity_ = true;
setTangentialVelocity
(
vectorField("tangentialVelocity", dict, p.size())
);
}
else
{
refValue() = vector::zero;
}
refValue() = *this;
refGrad() = vector::zero;
valueFraction() = 0.0;
valueFraction() = symmTensor::zero;
}
@ -107,11 +102,9 @@ pressureInletOutletVelocityFvPatchVectorField
const pressureInletOutletVelocityFvPatchVectorField& pivpvf
)
:
mixedFvPatchVectorField(pivpvf),
directionMixedFvPatchVectorField(pivpvf),
phiName_(pivpvf.phiName_),
rhoName_(pivpvf.rhoName_),
tangentialVelocity_(pivpvf.tangentialVelocity_),
applyTangentialVelocity_(pivpvf.applyTangentialVelocity_)
tangentialVelocity_(pivpvf.tangentialVelocity_)
{}
@ -122,11 +115,9 @@ pressureInletOutletVelocityFvPatchVectorField
const DimensionedField<vector, volMesh>& iF
)
:
mixedFvPatchVectorField(pivpvf, iF),
directionMixedFvPatchVectorField(pivpvf, iF),
phiName_(pivpvf.phiName_),
rhoName_(pivpvf.rhoName_),
tangentialVelocity_(pivpvf.tangentialVelocity_),
applyTangentialVelocity_(pivpvf.applyTangentialVelocity_)
tangentialVelocity_(pivpvf.tangentialVelocity_)
{}
@ -135,10 +126,9 @@ pressureInletOutletVelocityFvPatchVectorField
void Foam::pressureInletOutletVelocityFvPatchVectorField::
setTangentialVelocity(const vectorField& tangentialVelocity)
{
applyTangentialVelocity_ = true;
tangentialVelocity_ = tangentialVelocity;
vectorField n(patch().nf());
tangentialVelocity_ -= n*(n & tangentialVelocity_);
const vectorField n(patch().nf());
refValue() = tangentialVelocity_ - n*(n & tangentialVelocity_);
}
@ -147,8 +137,8 @@ void Foam::pressureInletOutletVelocityFvPatchVectorField::autoMap
const fvPatchFieldMapper& m
)
{
mixedFvPatchVectorField::autoMap(m);
if (applyTangentialVelocity_)
directionMixedFvPatchVectorField::autoMap(m);
if (tangentialVelocity_.size())
{
tangentialVelocity_.autoMap(m);
}
@ -161,9 +151,9 @@ void Foam::pressureInletOutletVelocityFvPatchVectorField::rmap
const labelList& addr
)
{
mixedFvPatchVectorField::rmap(ptf, addr);
directionMixedFvPatchVectorField::rmap(ptf, addr);
if (applyTangentialVelocity_)
if (tangentialVelocity_.size())
{
const pressureInletOutletVelocityFvPatchVectorField& tiptf =
refCast<const pressureInletOutletVelocityFvPatchVectorField>(ptf);
@ -180,67 +170,25 @@ void Foam::pressureInletOutletVelocityFvPatchVectorField::updateCoeffs()
return;
}
const surfaceScalarField& phi =
db().lookupObject<surfaceScalarField>(phiName_);
const fvsPatchField<scalar>& phip =
patch().patchField<surfaceScalarField, scalar>(phi);
patch().lookupPatchField<surfaceScalarField, scalar>(phiName_);
vectorField n(patch().nf());
const Field<scalar>& magSf = patch().magSf();
valueFraction() = neg(phip)*(I - sqr(patch().nf()));
if (phi.dimensions() == dimVelocity*dimArea)
{
refValue() = n*phip/magSf;
}
else if (phi.dimensions() == dimDensity*dimVelocity*dimArea)
{
const fvPatchField<scalar>& rhop =
patch().lookupPatchField<volScalarField, scalar>(rhoName_);
refValue() = n*phip/(rhop*magSf);
}
else
{
FatalErrorIn
(
"pressureInletOutletVelocityFvPatchVectorField::"
"updateCoeffs()"
) << "dimensions of phi are not correct" << nl
<< " on patch " << this->patch().name()
<< " of field " << this->dimensionedInternalField().name()
<< " in file " << this->dimensionedInternalField().objectPath()
<< exit(FatalError);
}
if (applyTangentialVelocity_)
{
// Adjust the tangential velocity to conserve kinetic energy
// of the entrained fluid
// scalarField magSqrUt(magSqr(tangentialVelocity_));
// scalarField scale
// (
// sqrt(max(magSqrUt - magSqr(refValue()), scalar(0))/magSqrUt)
// );
// refValue() += scale*tangentialVelocity_;
refValue() += tangentialVelocity_;
}
valueFraction() = 1.0 - pos(phip);
mixedFvPatchVectorField::updateCoeffs();
directionMixedFvPatchVectorField::updateCoeffs();
directionMixedFvPatchVectorField::evaluate();
}
void Foam::pressureInletOutletVelocityFvPatchVectorField::write
(
Ostream& os
) const
)
const
{
fvPatchVectorField::write(os);
writeEntryIfDifferent<word>(os, "phi", "phi", phiName_);
writeEntryIfDifferent<word>(os, "rho", "rho", rhoName_);
if (applyTangentialVelocity_)
if (tangentialVelocity_.size())
{
tangentialVelocity_.writeEntry("tangentialVelocity", os);
}
@ -255,7 +203,9 @@ void Foam::pressureInletOutletVelocityFvPatchVectorField::operator=
const fvPatchField<vector>& pvf
)
{
fvPatchField<vector>::operator=(pvf);
tmp<vectorField> normalValue = transform(valueFraction(), refValue());
tmp<vectorField> transformGradValue = transform(I - valueFraction(), pvf);
fvPatchField<vector>::operator=(normalValue + transformGradValue);
}

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 2013 OpenFOAM Foundation
\\ / A nd | Copyright (C) 2011-2014 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License
@ -25,21 +25,21 @@ Class
Foam::pressureInletOutletVelocityFvPatchVectorField
Group
grpInletBoundaryConditions grpOutletBoundaryConditions
grpInletletBoundaryConditions grpOutletBoundaryConditions
Description
This velocity inlet/outlet boundary condition is applied to pressure
boundaries where the pressure is specified. A zero-gradient condition is
applied for outflow (as defined by the flux); for inflow, the velocity is
obtained from the patch-face normal component of the internal-cell value and
the tangential patch velocity can be optionally specified.
obtained from the patch-face normal component of the internal-cell value.
The tangential patch velocity can be optionally specified.
\heading Patch usage
\table
Property | Description | Required | Default value
phi | flux field name | no | phi
rho | density field name | no | rho
tangentialVelocity | tangential velocity field | no |
\endtable
@ -49,7 +49,6 @@ Description
{
type pressureInletOutletVelocity;
phi phi;
rho rho;
tangentialVelocity uniform (0 0 0);
value uniform 0;
}
@ -70,7 +69,7 @@ SourceFiles
#define pressureInletOutletVelocityFvPatchVectorField_H
#include "fvPatchFields.H"
#include "mixedFvPatchFields.H"
#include "directionMixedFvPatchFields.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
@ -78,29 +77,21 @@ namespace Foam
{
/*---------------------------------------------------------------------------*\
Class pressureInletOutletVelocityFvPatchVectorField Declaration
Class pressureInletOutletVelocityFvPatchVectorField Declaration
\*---------------------------------------------------------------------------*/
class pressureInletOutletVelocityFvPatchVectorField
:
public mixedFvPatchVectorField
public directionMixedFvPatchVectorField
{
// Private data
//- Flux field name
word phiName_;
//- Density field name
word rhoName_;
protected:
//- Optional tangential velocity component
vectorField tangentialVelocity_;
bool applyTangentialVelocity_;
public:
@ -117,17 +108,6 @@ public:
const DimensionedField<vector, volMesh>&
);
//- Construct by mapping given
// pressureInletOutletVelocityFvPatchVectorField
// onto a new patch
pressureInletOutletVelocityFvPatchVectorField
(
const pressureInletOutletVelocityFvPatchVectorField&,
const fvPatch&,
const DimensionedField<vector, volMesh>&,
const fvPatchFieldMapper&
);
//- Construct from patch, internal field and dictionary
pressureInletOutletVelocityFvPatchVectorField
(
@ -136,6 +116,16 @@ public:
const dictionary&
);
//- Construct by mapping given
// pressureInletOutletVelocityFvPatchVectorField onto a new patch
pressureInletOutletVelocityFvPatchVectorField
(
const pressureInletOutletVelocityFvPatchVectorField&,
const fvPatch&,
const DimensionedField<vector, volMesh>&,
const fvPatchFieldMapper&
);
//- Construct as copy
pressureInletOutletVelocityFvPatchVectorField
(
@ -147,10 +137,7 @@ public:
{
return tmp<fvPatchVectorField>
(
new pressureInletOutletVelocityFvPatchVectorField
(
*this
)
new pressureInletOutletVelocityFvPatchVectorField(*this)
);
}
@ -169,11 +156,7 @@ public:
{
return tmp<fvPatchVectorField>
(
new pressureInletOutletVelocityFvPatchVectorField
(
*this,
iF
)
new pressureInletOutletVelocityFvPatchVectorField(*this, iF)
);
}
@ -194,18 +177,6 @@ public:
return phiName_;
}
//- Return the name of rho
const word& rhoName() const
{
return rhoName_;
}
//- Return reference to the name of rho to allow adjustment
word& rhoName()
{
return rhoName_;
}
//- Return the tangential velocity
const vectorField& tangentialVelocity() const
{

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation
\\ / A nd | Copyright (C) 2011-2014 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License
@ -33,17 +33,17 @@ License
void Foam::rotatingPressureInletOutletVelocityFvPatchVectorField::
calcTangentialVelocity()
{
applyTangentialVelocity_ = true;
const scalar t = this->db().time().timeOutputValue();
vector om = omega_->value(t);
vector axisHat = om/mag(om);
tangentialVelocity_ =
(-om) ^ (patch().Cf() - axisHat*(axisHat & patch().Cf()));
const vectorField tangentialVelocity
(
(-om) ^ (patch().Cf() - axisHat*(axisHat & patch().Cf()))
);
const vectorField n(patch().nf());
tangentialVelocity_ -= n*(n & tangentialVelocity_);
refValue() = tangentialVelocity - n*(n & tangentialVelocity);
}
@ -72,7 +72,9 @@ rotatingPressureInletOutletVelocityFvPatchVectorField
:
pressureInletOutletVelocityFvPatchVectorField(ptf, p, iF, mapper),
omega_(ptf.omega_().clone().ptr())
{}
{
calcTangentialVelocity();
}
Foam::rotatingPressureInletOutletVelocityFvPatchVectorField::
@ -85,7 +87,9 @@ rotatingPressureInletOutletVelocityFvPatchVectorField
:
pressureInletOutletVelocityFvPatchVectorField(p, iF, dict),
omega_(DataEntry<vector>::New("omega", dict))
{}
{
calcTangentialVelocity();
}
Foam::rotatingPressureInletOutletVelocityFvPatchVectorField::
@ -96,7 +100,9 @@ rotatingPressureInletOutletVelocityFvPatchVectorField
:
pressureInletOutletVelocityFvPatchVectorField(rppvf),
omega_(rppvf.omega_().clone().ptr())
{}
{
calcTangentialVelocity();
}
Foam::rotatingPressureInletOutletVelocityFvPatchVectorField::
@ -108,24 +114,13 @@ rotatingPressureInletOutletVelocityFvPatchVectorField
:
pressureInletOutletVelocityFvPatchVectorField(rppvf, iF),
omega_(rppvf.omega_().clone().ptr())
{}
{
calcTangentialVelocity();
}
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
void Foam::rotatingPressureInletOutletVelocityFvPatchVectorField::updateCoeffs()
{
if (updated())
{
return;
}
calcTangentialVelocity();
pressureInletOutletVelocityFvPatchVectorField::updateCoeffs();
}
void Foam::rotatingPressureInletOutletVelocityFvPatchVectorField::write
(
Ostream& os

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation
\\ / A nd | Copyright (C) 2011-2014 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License
@ -177,9 +177,6 @@ public:
// Member functions
//- Update the coefficients associated with the patch field
virtual void updateCoeffs();
//- Write
virtual void write(Ostream&) const;
};

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation
\\ / A nd | Copyright (C) 2011-2014 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License
@ -593,7 +593,7 @@ void Foam::InjectionModel<CloudType>::inject(TrackData& td)
if (pPtr->move(td, dt))
{
td.cloud().addParticle(pPtr);
cloud.addParticle(pPtr);
}
else
{
@ -699,7 +699,7 @@ void Foam::InjectionModel<CloudType>::injectSteadyState
);
// Add the new parcel
td.cloud().addParticle(pPtr);
cloud.addParticle(pPtr);
massAdded += pPtr->nParticle()*pPtr->mass();
parcelsAdded++;

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation
\\ / A nd | Copyright (C) 2011-2014 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License
@ -146,6 +146,13 @@ public:
const label i
) = 0;
//- Return reaction rate of the specieI in reactionI
virtual tmp<DimensionedField<scalar, volMesh> > calculateRR
(
const label reactionI,
const label specieI
) const = 0;
// Chemistry solution

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation
\\ / A nd | Copyright (C) 2011-2014 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License
@ -626,6 +626,88 @@ Foam::label Foam::chemistryModel<CompType, ThermoType>::nEqns() const
}
template<class CompType, class ThermoType>
Foam::tmp<Foam::DimensionedField<Foam::scalar, Foam::volMesh> >
Foam::chemistryModel<CompType, ThermoType>::calculateRR
(
const label reactionI,
const label specieI
) const
{
scalar pf, cf, pr, cr;
label lRef, rRef;
const volScalarField rho
(
IOobject
(
"rho",
this->time().timeName(),
this->mesh(),
IOobject::NO_READ,
IOobject::NO_WRITE,
false
),
this->thermo().rho()
);
tmp<DimensionedField<scalar, volMesh> > tRR
(
new DimensionedField<scalar, volMesh>
(
IOobject
(
"RR",
this->mesh().time().timeName(),
this->mesh(),
IOobject::NO_READ,
IOobject::NO_WRITE
),
this->mesh(),
dimensionedScalar("zero", dimMass/dimVolume/dimTime, 0.0)
)
);
DimensionedField<scalar, volMesh>& RR = tRR();
const scalarField& T = this->thermo().T();
const scalarField& p = this->thermo().p();
forAll(rho, celli)
{
const scalar rhoi = rho[celli];
const scalar Ti = T[celli];
const scalar pi = p[celli];
scalarField c(nSpecie_, 0.0);
for (label i=0; i<nSpecie_; i++)
{
const scalar Yi = Y_[i][celli];
c[i] = rhoi*Yi/specieThermo_[i].W();
}
const scalar w = omegaI
(
reactionI,
c,
Ti,
pi,
pf,
cf,
lRef,
pr,
cr,
rRef
);
RR[celli] = w*specieThermo_[specieI].W();
}
return tRR;
}
template<class CompType, class ThermoType>
void Foam::chemistryModel<CompType, ThermoType>::calculate()
{

View File

@ -198,6 +198,13 @@ public:
const label i
);
//- Return reaction rate of the specieI in reactionI
virtual tmp<DimensionedField<scalar, volMesh> > calculateRR
(
const label reactionI,
const label specieI
) const;
//- Solve the reaction system for the given time step
// and return the characteristic time
virtual scalar solve(const scalar deltaT);

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 2011-2012 OpenFOAM Foundation
\\ / A nd | Copyright (C) 2011-2014 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License
@ -36,6 +36,7 @@ SourceFiles
#ifndef basicMultiComponentMixture_H
#define basicMultiComponentMixture_H
#include "typeInfo.H"
#include "volFields.H"
#include "PtrList.H"
#include "speciesTable.H"
@ -65,6 +66,9 @@ protected:
public:
//- Run time type information
TypeName("basicMultiComponentMixture");
//- The base class of the mixture
typedef basicMultiComponentMixture basicMixtureType;

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 2013 OpenFOAM Foundation
\\ / A nd | Copyright (C) 2013-2014 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License
@ -84,4 +84,26 @@ Foam::basicSolidChemistryModel::RR(const label i)
}
Foam::tmp<Foam::DimensionedField<Foam::scalar, Foam::volMesh> >
Foam::basicSolidChemistryModel::calculateRR
(
const label reactionI,
const label specieI
) const
{
notImplemented
(
"Foam::DimensionedField<Foam::scalar, Foam::volMesh>&"
"basicSolidChemistryModel::calculateRR(const label)"
);
return dynamic_cast<tmp<DimensionedField<scalar, volMesh> >&>
(
const_cast<DimensionedField<scalar, volMesh>& >
(
DimensionedField<scalar, volMesh>::null()
)
);
}
// ************************************************************************* //

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 2013-2013 OpenFOAM Foundation
\\ / A nd | Copyright (C) 2013-2014 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License
@ -133,6 +133,13 @@ public:
const label i
) const = 0;
//- Returns the reaction rate of the specieI in reactionI
virtual tmp<DimensionedField<scalar, volMesh> > calculateRR
(
const label reactionI,
const label specieI
) const;
//- Return sensible enthalpy for gas i [J/Kg]
virtual tmp<volScalarField> gasHs
(

View File

@ -44,6 +44,7 @@ boundaryField
atmosphere
{
type pressureInletOutletVelocity;
tangentialVelocity $internalField;
value uniform (0 0 0);
}