@hyperLDK 您好,我刚刚实现了v2312版本下的编译,参考了这个case
但目前我的makeTurbmodels.C文件会有一些waring还不知道该怎样修改,不过模型可以使用了
makeTurbmodels.C文件为:
/*---------------------------------------------------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | www.openfoam.com
\\/ M anipulation |
-------------------------------------------------------------------------------
Copyright (C) 2013-2016 OpenFOAM Foundation
Copyright (C) 2020 OpenCFD Ltd.
-------------------------------------------------------------------------------
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 "IncompressibleTurbulenceModel.H"
#include "incompressible/transportModel/transportModel.H"
#include "addToRunTimeSelectionTable.H"
#include "makeTurbulenceModel.H"
#include "laminarModel.H"
#include "RASModel.H"
//- Define turbulence model typedefs, with EddyDiffusivity
#define defineTurbulenceModelTypes( \
Alpha, Rho, baseModel, BaseModel, Transport) \
\
namespace Foam \
{ \
typedef TurbulenceModel \
< \
Alpha, \
Rho, \
baseModel, \
Transport \
> Transport##baseModel; \
\
typedef BaseModel<Transport> \
Transport##BaseModel; \
\
typedef RASModel<Transport##BaseModel> \
RAS##Transport##BaseModel; \
}
// Legacy name
#define makeTurbulenceModelTypes(a, b, c, d, e) \
defineTurbulenceModelTypes(a, b, c, d, e)
#define makeBaseTurbulenceModel(Alpha, Rho, baseModel, BaseModel, Transport) \
/* Turbulence typedefs */ \
defineTurbulenceModelTypes(Alpha, Rho, baseModel, BaseModel, Transport) \
\
namespace Foam \
{ \
/* Turbulence selection table */ \
defineTemplateRunTimeSelectionTable \
( \
Transport##baseModel, \
dictionary \
); \
\
/* RAS models */ \
defineNamedTemplateTypeNameAndDebug(RAS##Transport##BaseModel, 0); \
\
defineTemplateRunTimeSelectionTable \
(RAS##Transport##BaseModel, dictionary); \
\
addToRunTimeSelectionTable \
( \
Transport##baseModel, \
RAS##Transport##BaseModel, \
dictionary \
); \
}
#define makeTemplatedTurbulenceModel(BaseModel, SType, Type) \
defineNamedTemplateTypeNameAndDebug \
(Foam::SType##Models::Type<Foam::BaseModel>, 0); \
\
namespace Foam \
{ \
namespace SType##Models \
{ \
typedef Type<BaseModel> Type##SType##BaseModel; \
\
addToRunTimeSelectionTable \
( \
SType##BaseModel, \
Type##SType##BaseModel, \
dictionary \
); \
} \
}
#define makeTurbulenceModel(BaseModel, SType, Type) \
namespace Foam \
{ \
namespace SType##Models \
{ \
defineTypeNameAndDebug(Type, 0); \
\
addToRunTimeSelectionTable \
( \
SType##BaseModel, \
Type, \
dictionary \
); \
} \
}
makeTurbulenceModelTypes
(
geometricOneField,
geometricOneField,
incompressibleTurbulenceModel,
IncompressibleTurbulenceModel,
transportModel
);
#define makeRASModel(Type) \
makeTemplatedTurbulenceModel \
(transportModelIncompressibleTurbulenceModel, RAS, Type)
makeBaseTurbulenceModel
(
geometricOneField,
geometricOneField,
incompressibleTurbulenceModel,
IncompressibleTurbulenceModel,
transportModel
);
// -------------------------------------------------------------------------- //
// RAS models
// -------------------------------------------------------------------------- //
#include "kOmegaSSTV.H"
makeRASModel(kOmegaSSTV);
// **************************************************************************** //
// ************************************************************************* //
问题如下:
Making dependencies: makeTurbModel.C
g++ -std=c++14 -m64 -pthread -DOPENFOAM=2312 -DWM_DP -DWM_LABEL_SIZE=32 -Wall -Wextra -Wold-style-cast -Wnon-virtual-dtor -Wno-unused-parameter -Wno-invalid-offsetof -Wno-attributes -Wno-unknown-pragmas -O3 -DNoRepository -ftemplate-depth-100 -I/home/ad/OpenFOAM/OpenFOAM-v2312/src/TurbulenceModels/turbulenceModels/lnInclude -I/home/ad/OpenFOAM/OpenFOAM-v2312/src/TurbulenceModels/incompressible/lnInclude -I/home/ad/OpenFOAM/OpenFOAM-v2312/src/transportModels -I/home/ad/OpenFOAM/OpenFOAM-v2312/src/fvOptions/Ininclude -I/home/ad/OpenFOAM/OpenFOAM-v2312/src/finiteVolume/lnInclude -I/home/ad/OpenFOAM/OpenFOAM-v2312/src/meshTools/lnInclude -iquote. -IlnInclude -I/home/ad/OpenFOAM/OpenFOAM-v2312/src/OpenFOAM/lnInclude -I/home/ad/OpenFOAM/OpenFOAM-v2312/src/OSspecific/POSIX/lnInclude -fPIC -c makeTurbModel.C -o Make/linux64GccDPInt32Opt/makeTurbModel.o
makeTurbModel.C:40:0: warning: "defineTurbulenceModelTypes" redefined
#define defineTurbulenceModelTypes( \
In file included from makeTurbModel.C:33:0:
/home/ad/OpenFOAM/OpenFOAM-v2312/src/TurbulenceModels/turbulenceModels/lnInclude/makeTurbulenceModel.H:30:0: note: this is the location of the previous definition
#define defineTurbulenceModelTypes( \
makeTurbModel.C:65:0: warning: "makeBaseTurbulenceModel" redefined
#define makeBaseTurbulenceModel(Alpha, Rho, baseModel, BaseModel, Transport) \
In file included from makeTurbModel.C:33:0:
/home/ad/OpenFOAM/OpenFOAM-v2312/src/TurbulenceModels/turbulenceModels/lnInclude/makeTurbulenceModel.H:61:0: note: this is the location of the previous definition
#define makeBaseTurbulenceModel(Alpha, Rho, baseModel, BaseModel, Transport) \
g++ -std=c++14 -m64 -pthread -DOPENFOAM=2312 -DWM_DP -DWM_LABEL_SIZE=32 -Wall -Wextra -Wold-style-cast -Wnon-virtual-dtor -Wno-unused-parameter -Wno-invalid-offsetof -Wno-attributes -Wno-unknown-pragmas -O3 -DNoRepository -ftemplate-depth-100 -I/home/ad/OpenFOAM/OpenFOAM-v2312/src/TurbulenceModels/turbulenceModels/lnInclude -I/home/ad/OpenFOAM/OpenFOAM-v2312/src/TurbulenceModels/incompressible/lnInclude -I/home/ad/OpenFOAM/OpenFOAM-v2312/src/transportModels -I/home/ad/OpenFOAM/OpenFOAM-v2312/src/fvOptions/Ininclude -I/home/ad/OpenFOAM/OpenFOAM-v2312/src/finiteVolume/lnInclude -I/home/ad/OpenFOAM/OpenFOAM-v2312/src/meshTools/lnInclude -iquote. -IlnInclude -I/home/ad/OpenFOAM/OpenFOAM-v2312/src/OpenFOAM/lnInclude -I/home/ad/OpenFOAM/OpenFOAM-v2312/src/OSspecific/POSIX/lnInclude -fPIC -shared -Xlinker --add-needed -Xlinker --no-as-needed Make/linux64GccDPInt32Opt/makeTurbModel.o -L/home/ad/OpenFOAM/OpenFOAM-v2312/platforms/linux64GccDPInt32Opt/lib \
-lturbulenceModels -lincompressibleTransportModels -lincompressibleTurbulenceModels -lfvOptions -lfiniteVolume -lmeshTools -o /home/ad/OpenFOAM/ad-v2312/platforms/linux64GccDPInt32Opt/lib/libMyIncompressiblenceModels.so
希望对你有帮助!