Program Listing for File codeRules.H
↰ Return to documentation for file (versionRules/codeRules.H
)
/*---------------------------------------------------------------------------* \
License
This file is part of libWallModelledLES.
libWallModelledLES 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.
libWallModelledLES 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 libWallModelledLES.
If not, see <http://www.gnu.org/licenses/>.
Class
@brief
Based on the OpenFOAM version, generates macros that can be used to make
the code support multiple versions via #ifdef statements.
The file is adopted with minor changes from swak4foam, see list of
contributors below.
SourceFiles
Contributors/Copyright:
2012-2018 Bernhard F.W. Gschaider <bgschaid@hfd-research.com>
2015-2016 Bruno Santos <wyldckat@gmail.com>
2016-2018 Mark Olesen <Mark.Olesen@esi-group.com>
2019-2023 Timofey Mukha
\*---------------------------------------------------------------------------*/
#ifndef WmlesMacroHeader_H
#define WmlesMacroHeader_H
#include "foamVersion4wmles.H"
#if !defined(DOXYGEN_SHOULD_SKIP_THIS)
#define VERSION_NR(major,minor,patch) ( \
10000 * major + \
100 * minor + \
patch )
#define VERSION_NR2(major,minor) ( \
10000 * major + \
100 * minor + \
99 )
#define FOAM_VERSION4WMLES VERSION_NR(FOAM_VERSION4WMLES_MAJOR,FOAM_VERSION4WMLES_MINOR,FOAM_VERSION4WMLES_PATCH_NUM)
// OpenFOAM-dev version. Has no number. Is assumed to be 2999.x
#if FOAM_VERSION4WMLES_MAJOR >= 2999
#define FOAM_OF_DEV_VERSION
#endif
#endif // DOXYGEN_SHOULD_SKIP_THIS
#if (OPENFOAM_COM >= 1606) \
|| (defined(FOAM_VERSION4WMLES_IS_ORG) && FOAM_VERSION4WMLES>=VERSION_NR(5,0,0))
#define FOAM_HAS_TYPE_HEADER_OK
#if (OPENFOAM_COM >= 1712)
#define FOAM_TYPE_HEADER_OK_HAS_EXTRA_PARAMTERS
#endif
#endif
#if (OPENFOAM_COM >= 1606) \
|| (defined(FOAM_VERSION4WMLES_IS_ORG) && FOAM_VERSION4WMLES>=VERSION_NR(5,0,0))
#define FOAM_HAS_LOCAL_FILEPATH
#endif
#if (OPENFOAM_COM >= 1712) \
|| (defined(FOAM_VERSION4WMLES_IS_ORG) && FOAM_VERSION4WMLES>=VERSION_NR(5,0,0))
#define FOAM_LOCAL_FILEPATH_NEEDS_TYPE_PARAMETER
#endif
#if (OPENFOAM_COM >= 1712) \
|| (defined(FOAM_VERSION4WMLES_IS_ORG) && FOAM_VERSION4WMLES>=VERSION_NR(5,0,0))
#define FOAM_READSTREAM_METHOD_NEEDS_BOOL_PARAMETER
#endif
#if (OPENFOAM_COM >= 1606) \
|| (defined(FOAM_VERSION4WMLES_IS_ORG) && FOAM_VERSION4WMLES>VERSION_NR2(3,0))
#define FOAM_COMPONENT_NAMES_ARE_CONST_PTR
#endif
#if (OPENFOAM_COM >= 1606) \
|| (defined(FOAM_VERSION4WMLES_IS_ORG) && FOAM_VERSION4WMLES>VERSION_NR2(3,0))
#define FOAM_NEW_TMP_RULES
#endif
#if (OPENFOAM_COM >= 1612) \
|| (defined(FOAM_VERSION4WMLES_IS_ORG) && FOAM_VERSION4WMLES>VERSION_NR2(3,0))
#define FOAM_PATCHFIELDTYPE_IN_GEOFIELD_IS_NOW_PATCH
#endif
#if (OPENFOAM_COM >= 1612) \
|| (defined(FOAM_VERSION4WMLES_IS_ORG) && FOAM_VERSION4WMLES>VERSION_NR2(3,0))
// TODO: currently only used to comment the instantiations out
#define FOAM_CODED_FUNCTION_OBJECT_NEW_INTERFACE
#endif
#if (OPENFOAM_COM >= 1612) \
|| (defined(FOAM_VERSION4WMLES_IS_ORG) && FOAM_VERSION4WMLES>VERSION_NR2(3,0))
#define FOAM_NEW_GEOMFIELD_RULES
#endif
#if (OPENFOAM_COM >= 1612) \
|| (defined(FOAM_VERSION4WMLES_IS_ORG) && FOAM_VERSION4WMLES>=VERSION_NR(5,0,0))
#define FOAM_MAKE_TEMPLATE_PATCHTYPE_FIELD_USES_PRIMITIVES
#endif
#if (OPENFOAM_COM >= 1706) \
|| (defined(FOAM_VERSION4WMLES_IS_ORG) && FOAM_VERSION4WMLES>=VERSION_NR(5,0,0))
#define FOAM_PSTREAM_COMMSTYPE_IS_ENUMCLASS
#endif
#if (OPENFOAM_COM >= 1712) \
|| (defined(FOAM_VERSION4WMLES_IS_ORG) && FOAM_VERSION4WMLES>=VERSION_NR(5,0,0))
#define FOAM_REGIOOBJECT_WRITEOBJECT_WITH_VALID
#endif
#if (OPENFOAM_COM >= 1803)
#define FOAM_LIST_HAS_MOVABLE_CONSTRUCT
#endif
#if (OPENFOAM_COM >= 1803)
#define FOAM_HASH_PTR_LIST_ACCEPTS_NO_RAW_POINTERS
#endif
#if (defined(FOAM_VERSION4WMLES_IS_ORG) && FOAM_VERSION4WMLES>=VERSION_NR(6,0,0))
#define FOAM_TIME_HAS_SEPARATE_SETDELTAT_NOADJUST
#endif
#if (defined(FOAM_VERSION4WMLES_IS_ORG) && FOAM_VERSION4WMLES>=VERSION_NR(6,0,0))
#define FOAM_TREEBOUNDBOX_DOES_NOT_ACCEPT_RNG
#endif
#if FOAM_VERSION4WMLES >= VERSION_NR(3,0,0) && !defined(FOAM_VERSION4WMLES_IS_EXTEND)
#define FOAM_NEW_TURBULENCE_STRUCTURE
#endif
#if (defined(FOAM_VERSION4WMLES_IS_COM))
#define FOAM_WALLDIST_CONSTRUCTOR_ACCEPTS_METHOD
#endif
#if (defined(FOAM_VERSION4WMLES_IS_COM) && OPENFOAM_COM >=1806)
#define FOAM_AUTOPTR_HAS_CLONE_METHOD
#endif
#if (defined(FOAM_VERSION4WMLES_IS_ORG) && FOAM_VERSION4WMLES>=VERSION_NR(7,0,0))
#define FOAM_VOLUMETYPE_NOT_CAPITAL
#endif
#if (defined(FOAM_VERSION4WMLES_IS_ORG) && FOAM_VERSION4WMLES>=VERSION_NR(7,0,0))
#define FOAM_NEW_WRITEENTRY
#endif
#if (defined(FOAM_VERSION4WMLES_IS_ORG) && FOAM_VERSION4WMLES>=VERSION_NR(8,0,0))
#define FOAM_DOTORG_TURBULENCE
#endif
#if (defined(FOAM_VERSION4WMLES_IS_ORG) && FOAM_VERSION4WMLES>=VERSION_NR(9,0,0))
#define FOAM_FVPATCHFIELD_NO_COPY
#endif
#if (defined(FOAM_VERSION4WMLES_IS_ORG))
#define FOAM_DICTIONARY_NO_GET
#endif
#if (defined(FOAM_VERSION4WMLES_IS_ORG) && FOAM_VERSION4WMLES>=VERSION_NR(8,0,0))
#define FOAM_DICTIONARY_HAS_LOOKUP
#endif
#if (defined(FOAM_VERSION4SWAK_IS_ORG) && FOAM_VERSION4SWAK >= VERSION_NR(9, 0, 0))
#define FOAM_FLUID_MOMENTUM_TRANSPORT_IS_NOW_DYNAMIC
#endif
#if (defined(FOAM_VERSION4SWAK_IS_ORG) && FOAM_VERSION4SWAK >= VERSION_NR(10, 0, 0))
#define FOAM_FLUID_MOMENTUM_TRANSPORT_IS_NO_LONGER_DYNAMIC
#endif
#endif
// ************************************************************************* //