ENH: add fvPatch::start() method to simplify some expressions

This commit is contained in:
Mark Olesen
2010-04-13 16:06:57 +02:00
parent 6148d8c428
commit af039f0eb7
2 changed files with 31 additions and 32 deletions

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 1991-2009 OpenCFD Ltd.
\\ / A nd | Copyright (C) 1991-2010 OpenCFD Ltd.
\\/ M anipulation |
-------------------------------------------------------------------------------
License
@ -31,21 +31,18 @@ License
#include "volFields.H"
#include "surfaceFields.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
namespace Foam
{
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
defineTypeNameAndDebug(fvPatch, 0);
defineRunTimeSelectionTable(fvPatch, polyPatch);
addToRunTimeSelectionTable(fvPatch, fvPatch, polyPatch);
}
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
fvPatch::fvPatch(const polyPatch& p, const fvBoundaryMesh& bm)
Foam::fvPatch::fvPatch(const polyPatch& p, const fvBoundaryMesh& bm)
:
polyPatch_(p),
boundaryMesh_(bm)
@ -54,19 +51,19 @@ fvPatch::fvPatch(const polyPatch& p, const fvBoundaryMesh& bm)
// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
fvPatch::~fvPatch()
Foam::fvPatch::~fvPatch()
{}
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
bool fvPatch::constraintType(const word& pt)
bool Foam::fvPatch::constraintType(const word& pt)
{
return fvPatchField<scalar>::patchConstructorTablePtr_->found(pt);
}
wordList fvPatch::constraintTypes()
Foam::wordList Foam::fvPatch::constraintTypes()
{
wordList cTypes(polyPatchConstructorTablePtr_->size());
@ -92,19 +89,19 @@ wordList fvPatch::constraintTypes()
}
const unallocLabelList& fvPatch::faceCells() const
const Foam::unallocLabelList& Foam::fvPatch::faceCells() const
{
return polyPatch_.faceCells();
}
const vectorField& fvPatch::Cf() const
const Foam::vectorField& Foam::fvPatch::Cf() const
{
return boundaryMesh().mesh().Cf().boundaryField()[index()];
}
tmp<vectorField> fvPatch::Cn() const
Foam::tmp<Foam::vectorField> Foam::fvPatch::Cn() const
{
tmp<vectorField> tcc(new vectorField(size()));
vectorField& cc = tcc();
@ -123,64 +120,60 @@ tmp<vectorField> fvPatch::Cn() const
}
tmp<vectorField> fvPatch::nf() const
Foam::tmp<Foam::vectorField> Foam::fvPatch::nf() const
{
return Sf()/magSf();
}
const vectorField& fvPatch::Sf() const
const Foam::vectorField& Foam::fvPatch::Sf() const
{
return boundaryMesh().mesh().Sf().boundaryField()[index()];
}
const scalarField& fvPatch::magSf() const
const Foam::scalarField& Foam::fvPatch::magSf() const
{
return boundaryMesh().mesh().magSf().boundaryField()[index()];
}
tmp<vectorField> fvPatch::delta() const
Foam::tmp<Foam::vectorField> Foam::fvPatch::delta() const
{
return Cf() - Cn();
}
void fvPatch::makeWeights(scalarField& w) const
void Foam::fvPatch::makeWeights(scalarField& w) const
{
w = 1.0;
}
void fvPatch::makeDeltaCoeffs(scalarField& dc) const
void Foam::fvPatch::makeDeltaCoeffs(scalarField& dc) const
{
dc = 1.0/(nf() & delta());
}
void fvPatch::initMovePoints()
void Foam::fvPatch::initMovePoints()
{}
void fvPatch::movePoints()
void Foam::fvPatch::movePoints()
{}
const scalarField& fvPatch::deltaCoeffs() const
const Foam::scalarField& Foam::fvPatch::deltaCoeffs() const
{
return boundaryMesh().mesh().deltaCoeffs().boundaryField()[index()];
}
const scalarField& fvPatch::weights() const
const Foam::scalarField& Foam::fvPatch::weights() const
{
return boundaryMesh().mesh().weights().boundaryField()[index()];
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
} // End namespace Foam
// ************************************************************************* //

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 1991-2009 OpenCFD Ltd.
\\ / A nd | Copyright (C) 1991-2010 OpenCFD Ltd.
\\/ M anipulation |
-------------------------------------------------------------------------------
License
@ -151,6 +151,12 @@ public:
return polyPatch_.name();
}
//- Return start label of this patch in the polyMesh face list
label start() const
{
return polyPatch_.start();
}
//- Return size
virtual label size() const
{
@ -185,7 +191,7 @@ public:
template<class T>
const typename List<T>::subList patchSlice(const List<T>& l) const
{
return typename List<T>::subList(l, size(), polyPatch_.start());
return typename List<T>::subList(l, size(), start());
}
//- Return faceCells