mirror of
https://github.com/OpenFOAM/OpenFOAM-6.git
synced 2025-12-08 06:57:46 +00:00
This resolves a whole range of issues and work-arounds with earlier releases. This version of icpc is more or less compatible with the latest gcc and clang compilers and only required one hack to avoid warnings from PackedBoolList.H.
171 lines
4.7 KiB
C++
171 lines
4.7 KiB
C++
/*---------------------------------------------------------------------------*\
|
|
========= |
|
|
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
|
\\ / O peration |
|
|
\\ / A nd | Copyright (C) 2011-2015 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::processorFvsPatchField
|
|
|
|
Description
|
|
Foam::processorFvsPatchField
|
|
|
|
SourceFiles
|
|
processorFvsPatchField.C
|
|
|
|
\*---------------------------------------------------------------------------*/
|
|
|
|
#ifndef processorFvsPatchField_H
|
|
#define processorFvsPatchField_H
|
|
|
|
#include "coupledFvsPatchField.H"
|
|
#include "processorFvPatch.H"
|
|
|
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
|
|
|
namespace Foam
|
|
{
|
|
|
|
/*---------------------------------------------------------------------------*\
|
|
Class processorFvsPatch Declaration
|
|
\*---------------------------------------------------------------------------*/
|
|
|
|
template<class Type>
|
|
class processorFvsPatchField
|
|
:
|
|
public coupledFvsPatchField<Type>
|
|
{
|
|
// Private data
|
|
|
|
//- Local reference cast into the processor patch
|
|
const processorFvPatch& procPatch_;
|
|
|
|
|
|
public:
|
|
|
|
//- Runtime type information
|
|
TypeName(processorFvPatch::typeName_());
|
|
|
|
|
|
// Constructors
|
|
|
|
//- Construct from patch and internal field
|
|
processorFvsPatchField
|
|
(
|
|
const fvPatch&,
|
|
const DimensionedField<Type, surfaceMesh>&
|
|
);
|
|
|
|
//- Construct from patch and internal field and patch field
|
|
processorFvsPatchField
|
|
(
|
|
const fvPatch&,
|
|
const DimensionedField<Type, surfaceMesh>&,
|
|
const Field<Type>&
|
|
);
|
|
|
|
//- Construct from patch, internal field and dictionary
|
|
processorFvsPatchField
|
|
(
|
|
const fvPatch&,
|
|
const DimensionedField<Type, surfaceMesh>&,
|
|
const dictionary&
|
|
);
|
|
|
|
//- Construct by mapping given processorFvsPatchField onto a new patch
|
|
processorFvsPatchField
|
|
(
|
|
const processorFvsPatchField<Type>&,
|
|
const fvPatch&,
|
|
const DimensionedField<Type, surfaceMesh>&,
|
|
const fvPatchFieldMapper&
|
|
);
|
|
|
|
//- Construct as copy
|
|
processorFvsPatchField(const processorFvsPatchField<Type>&);
|
|
|
|
//- Construct and return a clone
|
|
virtual tmp<fvsPatchField<Type> > clone() const
|
|
{
|
|
return tmp<fvsPatchField<Type> >
|
|
(
|
|
new processorFvsPatchField<Type>(*this)
|
|
);
|
|
}
|
|
|
|
//- Construct as copy setting internal field reference
|
|
processorFvsPatchField
|
|
(
|
|
const processorFvsPatchField<Type>&,
|
|
const DimensionedField<Type, surfaceMesh>&
|
|
);
|
|
|
|
//- Construct and return a clone setting internal field reference
|
|
virtual tmp<fvsPatchField<Type> > clone
|
|
(
|
|
const DimensionedField<Type, surfaceMesh>& iF
|
|
) const
|
|
{
|
|
return tmp<fvsPatchField<Type> >
|
|
(
|
|
new processorFvsPatchField<Type>(*this, iF)
|
|
);
|
|
}
|
|
|
|
|
|
//- Destructor
|
|
virtual ~processorFvsPatchField();
|
|
|
|
|
|
// Member functions
|
|
|
|
// Access
|
|
|
|
//- Return true if running parallel
|
|
virtual bool coupled() const
|
|
{
|
|
if (Pstream::parRun())
|
|
{
|
|
return true;
|
|
}
|
|
else
|
|
{
|
|
return false;
|
|
}
|
|
}
|
|
};
|
|
|
|
|
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
|
|
|
} // End namespace Foam
|
|
|
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
|
|
|
#ifdef NoRepository
|
|
# include "processorFvsPatchField.C"
|
|
#endif
|
|
|
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
|
|
|
#endif
|
|
|
|
// ************************************************************************* //
|