Changes to make CMake work with release candidate
This commit is contained in:
parent
23c3489293
commit
ad762e6c69
107 changed files with 674 additions and 13973 deletions
|
@ -31,3 +31,18 @@
|
||||||
# --------------------------------------------------------------------------
|
# --------------------------------------------------------------------------
|
||||||
|
|
||||||
add_subdirectory(combustionModels)
|
add_subdirectory(combustionModels)
|
||||||
|
|
||||||
|
list(APPEND SOURCES
|
||||||
|
fireFoam.C
|
||||||
|
)
|
||||||
|
|
||||||
|
# Set minimal environment for external compilation
|
||||||
|
if(NOT FOAM_FOUND)
|
||||||
|
cmake_minimum_required(VERSION 2.8)
|
||||||
|
find_package(FOAM REQUIRED)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
add_foam_executable(fireFoam
|
||||||
|
DEPENDS compressibleTurbulenceModel radiation combustionModels
|
||||||
|
SOURCES ${SOURCES}
|
||||||
|
)
|
||||||
|
|
|
@ -35,4 +35,3 @@ add_subdirectory(conjugateHeatFoam)
|
||||||
add_subdirectory(pUCoupledFoam)
|
add_subdirectory(pUCoupledFoam)
|
||||||
add_subdirectory(conjugateHeatSimpleFoam)
|
add_subdirectory(conjugateHeatSimpleFoam)
|
||||||
add_subdirectory(MRFPorousFoam)
|
add_subdirectory(MRFPorousFoam)
|
||||||
add_subdirectory(conjugateHeatTransfer)
|
|
|
@ -41,6 +41,6 @@ if(NOT FOAM_FOUND)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
add_foam_executable(turbDyMEngineFoam
|
add_foam_executable(turbDyMEngineFoam
|
||||||
DEPENDS incompressibleTurbulenceModel engine
|
DEPENDS engine incompressibleRASModels incompressibleLESModels
|
||||||
SOURCES ${SOURCES}
|
SOURCES ${SOURCES}
|
||||||
)
|
)
|
||||||
|
|
|
@ -41,7 +41,7 @@ if(NOT FOAM_FOUND)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
add_foam_executable(buoyantBoussinesqPisoFoam
|
add_foam_executable(buoyantBoussinesqPisoFoam
|
||||||
DEPENDS incompressibleTurbulenceModel
|
DEPENDS incompressibleRASModels incompressibleLESModels
|
||||||
SOURCES ${SOURCES}
|
SOURCES ${SOURCES}
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
|
@ -30,9 +30,4 @@
|
||||||
#
|
#
|
||||||
# --------------------------------------------------------------------------
|
# --------------------------------------------------------------------------
|
||||||
|
|
||||||
add_subdirectory(potentialIbFoam)
|
add_subdirectory(pimpleDyMIbFoam)
|
||||||
add_subdirectory(porousSimpleIbFoam)
|
|
||||||
add_subdirectory(simpleIbFoam)
|
|
||||||
add_subdirectory(icoDyMIbFoam)
|
|
||||||
add_subdirectory(interIbFoam)
|
|
||||||
add_subdirectory(icoIbFoam)
|
|
||||||
|
|
|
@ -31,7 +31,7 @@
|
||||||
# --------------------------------------------------------------------------
|
# --------------------------------------------------------------------------
|
||||||
|
|
||||||
list(APPEND SOURCES
|
list(APPEND SOURCES
|
||||||
interIbFoam.C
|
pimpleDyMIbFoam.C
|
||||||
)
|
)
|
||||||
|
|
||||||
# Set minimal environment for external compilation
|
# Set minimal environment for external compilation
|
||||||
|
@ -40,7 +40,7 @@ if(NOT FOAM_FOUND)
|
||||||
find_package(FOAM REQUIRED)
|
find_package(FOAM REQUIRED)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
add_foam_executable(interIbFoam
|
add_foam_executable(pimpleDyMIbFoam
|
||||||
DEPENDS immersedBoundary interfaceProperties incompressibleTurbulenceModel
|
DEPENDS immersedBoundary dynamicFvMesh incompressibleRASModels incompressibleLESModels
|
||||||
SOURCES ${SOURCES}
|
SOURCES ${SOURCES}
|
||||||
)
|
)
|
|
@ -1,46 +0,0 @@
|
||||||
# --------------------------------------------------------------------------
|
|
||||||
# ======== |
|
|
||||||
# \ / F ield | foam-extend: Open Source CFD
|
|
||||||
# \ / O peration | Version: 4.1
|
|
||||||
# \ / A nd | Web: http://www.foam-extend.org
|
|
||||||
# \/ M anipulation | For copyright notice see file Copyright
|
|
||||||
# --------------------------------------------------------------------------
|
|
||||||
# License
|
|
||||||
# This file is part of foam-extend.
|
|
||||||
#
|
|
||||||
# foam-extend 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.
|
|
||||||
#
|
|
||||||
# foam-extend 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 foam-extend. If not, see <http://www.gnu.org/licenses/>.
|
|
||||||
#
|
|
||||||
# Description
|
|
||||||
# CMakeLists.txt file for libraries and applications
|
|
||||||
#
|
|
||||||
# Author
|
|
||||||
# Henrik Rusche, Wikki GmbH, 2017. All rights reserved
|
|
||||||
#
|
|
||||||
#
|
|
||||||
# --------------------------------------------------------------------------
|
|
||||||
|
|
||||||
list(APPEND SOURCES
|
|
||||||
simpleIbFoam.C
|
|
||||||
)
|
|
||||||
|
|
||||||
# Set minimal environment for external compilation
|
|
||||||
if(NOT FOAM_FOUND)
|
|
||||||
cmake_minimum_required(VERSION 2.8)
|
|
||||||
find_package(FOAM REQUIRED)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
add_foam_executable(simpleIbFoam
|
|
||||||
DEPENDS immersedBoundaryTurbulence
|
|
||||||
SOURCES ${SOURCES}
|
|
||||||
)
|
|
|
@ -44,3 +44,4 @@ add_subdirectory(nonNewtonianIcoFoam)
|
||||||
add_subdirectory(pimpleFoam)
|
add_subdirectory(pimpleFoam)
|
||||||
add_subdirectory(shallowWaterFoam)
|
add_subdirectory(shallowWaterFoam)
|
||||||
add_subdirectory(MRFSimpleFoam)
|
add_subdirectory(MRFSimpleFoam)
|
||||||
|
add_subdirectory(RichardsFoam)
|
||||||
|
|
|
@ -30,8 +30,10 @@
|
||||||
#
|
#
|
||||||
# --------------------------------------------------------------------------
|
# --------------------------------------------------------------------------
|
||||||
|
|
||||||
|
add_subdirectory(spatialMeanValueRichardsonFoam)
|
||||||
|
|
||||||
list(APPEND SOURCES
|
list(APPEND SOURCES
|
||||||
icoIbFoam.C
|
RichardsFoam.C
|
||||||
)
|
)
|
||||||
|
|
||||||
# Set minimal environment for external compilation
|
# Set minimal environment for external compilation
|
||||||
|
@ -40,7 +42,7 @@ if(NOT FOAM_FOUND)
|
||||||
find_package(FOAM REQUIRED)
|
find_package(FOAM REQUIRED)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
add_foam_executable(icoIbFoam
|
add_foam_executable(RichardsFoam
|
||||||
DEPENDS immersedBoundary
|
DEPENDS finiteVolume
|
||||||
SOURCES ${SOURCES}
|
SOURCES ${SOURCES}
|
||||||
)
|
)
|
|
@ -31,7 +31,7 @@
|
||||||
# --------------------------------------------------------------------------
|
# --------------------------------------------------------------------------
|
||||||
|
|
||||||
list(APPEND SOURCES
|
list(APPEND SOURCES
|
||||||
icoDyMIbFoam.C
|
spatialMeanValueRichardsonFoam.C
|
||||||
)
|
)
|
||||||
|
|
||||||
# Set minimal environment for external compilation
|
# Set minimal environment for external compilation
|
||||||
|
@ -40,7 +40,7 @@ if(NOT FOAM_FOUND)
|
||||||
find_package(FOAM REQUIRED)
|
find_package(FOAM REQUIRED)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
add_foam_executable(icoDyMIbFoam
|
add_foam_executable(spatialMeanValueRichardsonFoam
|
||||||
DEPENDS immersedBoundary dynamicFvMesh
|
DEPENDS finiteVolume
|
||||||
SOURCES ${SOURCES}
|
SOURCES ${SOURCES}
|
||||||
)
|
)
|
|
@ -41,7 +41,7 @@ if(NOT FOAM_FOUND)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
add_foam_executable(MRFInterFoam
|
add_foam_executable(MRFInterFoam
|
||||||
DEPENDS interfaceProperties incompressibleTurbulenceModel
|
DEPENDS interfaceProperties incompressibleRASModels incompressibleLESModels
|
||||||
SOURCES ${SOURCES}
|
SOURCES ${SOURCES}
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
|
@ -41,6 +41,6 @@ if(NOT FOAM_FOUND)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
add_foam_executable(cavitatingFoam
|
add_foam_executable(cavitatingFoam
|
||||||
DEPENDS incompressibleTurbulenceModel barotropicCompressibilityModel
|
DEPENDS barotropicCompressibilityModel incompressibleRASModels incompressibleLESModels
|
||||||
SOURCES ${SOURCES}
|
SOURCES ${SOURCES}
|
||||||
)
|
)
|
||||||
|
|
|
@ -41,6 +41,6 @@ if(NOT FOAM_FOUND)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
add_foam_executable(compressibleInterDyMFoam
|
add_foam_executable(compressibleInterDyMFoam
|
||||||
DEPENDS interfaceProperties incompressibleTurbulenceModel dynamicFvMesh
|
DEPENDS interfaceProperties dynamicFvMesh incompressibleRASModels incompressibleLESModels
|
||||||
SOURCES ${SOURCES}
|
SOURCES ${SOURCES}
|
||||||
)
|
)
|
||||||
|
|
|
@ -41,6 +41,6 @@ if(NOT FOAM_FOUND)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
add_foam_executable(compressibleInterFoam
|
add_foam_executable(compressibleInterFoam
|
||||||
DEPENDS interfaceProperties incompressibleTurbulenceModel
|
DEPENDS interfaceProperties incompressibleRASModels incompressibleLESModels
|
||||||
SOURCES ${SOURCES}
|
SOURCES ${SOURCES}
|
||||||
)
|
)
|
||||||
|
|
|
@ -41,7 +41,7 @@ if(NOT FOAM_FOUND)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
add_foam_executable(interDyMFoam
|
add_foam_executable(interDyMFoam
|
||||||
DEPENDS interfaceProperties incompressibleTurbulenceModel dynamicFvMesh
|
DEPENDS interfaceProperties dynamicFvMesh incompressibleRASModels incompressibleLESModels
|
||||||
SOURCES ${SOURCES}
|
SOURCES ${SOURCES}
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
|
@ -41,6 +41,6 @@ if(NOT FOAM_FOUND)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
add_foam_executable(interFoam
|
add_foam_executable(interFoam
|
||||||
DEPENDS interfaceProperties incompressibleTurbulenceModel
|
DEPENDS interfaceProperties incompressibleRASModels incompressibleLESModels
|
||||||
SOURCES ${SOURCES}
|
SOURCES ${SOURCES}
|
||||||
)
|
)
|
||||||
|
|
|
@ -43,7 +43,7 @@ if(NOT FOAM_FOUND)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
add_foam_executable(interMixingFoam
|
add_foam_executable(interMixingFoam
|
||||||
DEPENDS interfaceProperties incompressibleTurbulenceModel
|
DEPENDS interfaceProperties incompressibleRASModels incompressibleLESModels
|
||||||
SOURCES ${SOURCES}
|
SOURCES ${SOURCES}
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
|
@ -46,7 +46,7 @@ if(NOT FOAM_FOUND)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
add_foam_executable(interPhaseChangeFoam
|
add_foam_executable(interPhaseChangeFoam
|
||||||
DEPENDS interfaceProperties incompressibleTurbulenceModel
|
DEPENDS interfaceProperties incompressibleRASModels incompressibleLESModels
|
||||||
SOURCES ${SOURCES}
|
SOURCES ${SOURCES}
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
|
@ -44,7 +44,7 @@ if(NOT FOAM_FOUND)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
add_foam_executable(multiphaseInterFoam
|
add_foam_executable(multiphaseInterFoam
|
||||||
DEPENDS interfaceProperties incompressibleTurbulenceModel
|
DEPENDS interfaceProperties incompressibleRASModels incompressibleLESModels
|
||||||
SOURCES ${SOURCES}
|
SOURCES ${SOURCES}
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
|
@ -41,7 +41,7 @@ if(NOT FOAM_FOUND)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
add_foam_executable(porousInterFoam
|
add_foam_executable(porousInterFoam
|
||||||
DEPENDS interfaceProperties incompressibleTurbulenceModel
|
DEPENDS interfaceProperties incompressibleRASModels incompressibleLESModels
|
||||||
SOURCES ${SOURCES}
|
SOURCES ${SOURCES}
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
|
@ -41,6 +41,6 @@ if(NOT FOAM_FOUND)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
add_foam_executable(twoLiquidMixingFoam
|
add_foam_executable(twoLiquidMixingFoam
|
||||||
DEPENDS interfaceProperties incompressibleTurbulenceModel
|
DEPENDS interfaceProperties incompressibleRASModels incompressibleLESModels
|
||||||
SOURCES ${SOURCES}
|
SOURCES ${SOURCES}
|
||||||
)
|
)
|
||||||
|
|
|
@ -41,6 +41,6 @@ if(NOT FOAM_FOUND)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
add_foam_executable(refineImmersedBoundaryMesh
|
add_foam_executable(refineImmersedBoundaryMesh
|
||||||
DEPENDS immersedBoundary
|
DEPENDS finiteVolume immersedBoundaryDynamicMesh
|
||||||
SOURCES ${SOURCES}
|
SOURCES ${SOURCES}
|
||||||
)
|
)
|
||||||
|
|
|
@ -41,6 +41,6 @@ if(NOT FOAM_FOUND)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
add_foam_executable(writeIbMasks
|
add_foam_executable(writeIbMasks
|
||||||
DEPENDS immersedBoundary
|
DEPENDS postCalc immersedBoundary
|
||||||
SOURCES ${SOURCES}
|
SOURCES ${SOURCES}
|
||||||
)
|
)
|
||||||
|
|
|
@ -31,16 +31,7 @@
|
||||||
# --------------------------------------------------------------------------
|
# --------------------------------------------------------------------------
|
||||||
|
|
||||||
list(APPEND SOURCES
|
list(APPEND SOURCES
|
||||||
decomposeMesh.C
|
|
||||||
decomposePar.C
|
decomposePar.C
|
||||||
domainDecomposition.C
|
|
||||||
distributeCells.C
|
|
||||||
faMeshDecomposition.C
|
|
||||||
fvFieldDecomposer.C
|
|
||||||
faFieldDecomposer.C
|
|
||||||
pointFieldDecomposer.C
|
|
||||||
tetPointFieldDecomposer.C
|
|
||||||
lagrangianFieldDecomposer.C
|
|
||||||
)
|
)
|
||||||
|
|
||||||
# Set minimal environment for external compilation
|
# Set minimal environment for external compilation
|
||||||
|
@ -50,6 +41,6 @@ if(NOT FOAM_FOUND)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
add_foam_executable(decomposePar
|
add_foam_executable(decomposePar
|
||||||
DEPENDS finiteVolume finiteArea tetFiniteElement
|
DEPENDS decomposeReconstruct
|
||||||
SOURCES ${SOURCES}
|
SOURCES ${SOURCES}
|
||||||
)
|
)
|
||||||
|
|
|
@ -32,12 +32,6 @@
|
||||||
|
|
||||||
list(APPEND SOURCES
|
list(APPEND SOURCES
|
||||||
processorMeshes.C
|
processorMeshes.C
|
||||||
processorFaMeshes.C
|
|
||||||
fvFieldReconstructor.C
|
|
||||||
faFieldReconstructor.C
|
|
||||||
pointFieldReconstructor.C
|
|
||||||
tetPointFieldReconstructor.C
|
|
||||||
reconstructLagrangianPositions.C
|
|
||||||
reconstructPar.C
|
reconstructPar.C
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -48,6 +42,6 @@ if(NOT FOAM_FOUND)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
add_foam_executable(reconstructPar
|
add_foam_executable(reconstructPar
|
||||||
DEPENDS finiteVolume finiteArea tetFiniteElement
|
DEPENDS decomposeReconstruct
|
||||||
SOURCES ${SOURCES}
|
SOURCES ${SOURCES}
|
||||||
)
|
)
|
||||||
|
|
|
@ -31,14 +31,6 @@
|
||||||
# --------------------------------------------------------------------------
|
# --------------------------------------------------------------------------
|
||||||
|
|
||||||
list(APPEND SOURCES
|
list(APPEND SOURCES
|
||||||
processorMeshesReconstructor.C
|
|
||||||
processorMeshesRebuild.C
|
|
||||||
processorFaMeshes.C
|
|
||||||
fvFieldReconstructor.C
|
|
||||||
faFieldReconstructor.C
|
|
||||||
pointFieldReconstructor.C
|
|
||||||
tetPointFieldReconstructor.C
|
|
||||||
reconstructLagrangianPositions.C
|
|
||||||
reconstructParMesh.C
|
reconstructParMesh.C
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -49,6 +41,6 @@ if(NOT FOAM_FOUND)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
add_foam_executable(reconstructParMesh
|
add_foam_executable(reconstructParMesh
|
||||||
DEPENDS finiteVolume finiteArea tetFiniteElement
|
DEPENDS decomposeReconstruct
|
||||||
SOURCES ${SOURCES}
|
SOURCES ${SOURCES}
|
||||||
)
|
)
|
||||||
|
|
|
@ -31,8 +31,6 @@
|
||||||
# --------------------------------------------------------------------------
|
# --------------------------------------------------------------------------
|
||||||
|
|
||||||
add_subdirectory(newEnsightFoamReader)
|
add_subdirectory(newEnsightFoamReader)
|
||||||
#add_subdirectory(PV3FoamReader)
|
add_subdirectory(PVReaders)
|
||||||
#add_subdirectory(PVFoamReader)
|
|
||||||
add_subdirectory(PV4FoamReader)
|
|
||||||
#add_subdirectory(fieldview9Reader)
|
#add_subdirectory(fieldview9Reader)
|
||||||
add_subdirectory(ensightFoamReader)
|
add_subdirectory(ensightFoamReader)
|
||||||
|
|
|
@ -1,48 +0,0 @@
|
||||||
# --------------------------------------------------------------------------
|
|
||||||
# ======== |
|
|
||||||
# \ / F ield | foam-extend: Open Source CFD
|
|
||||||
# \ / O peration | Version: 4.1
|
|
||||||
# \ / A nd | Web: http://www.foam-extend.org
|
|
||||||
# \/ M anipulation | For copyright notice see file Copyright
|
|
||||||
# --------------------------------------------------------------------------
|
|
||||||
# License
|
|
||||||
# This file is part of foam-extend.
|
|
||||||
#
|
|
||||||
# foam-extend 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.
|
|
||||||
#
|
|
||||||
# foam-extend 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 foam-extend. If not, see <http://www.gnu.org/licenses/>.
|
|
||||||
#
|
|
||||||
# Description
|
|
||||||
# CMakeLists.txt file for libraries and applications
|
|
||||||
#
|
|
||||||
# Author
|
|
||||||
# Henrik Rusche, Wikki GmbH, 2017. All rights reserved
|
|
||||||
#
|
|
||||||
#
|
|
||||||
# --------------------------------------------------------------------------
|
|
||||||
|
|
||||||
list(APPEND SOURCES
|
|
||||||
vtkPV3Foam.C
|
|
||||||
vtkPV3FoamFields.C
|
|
||||||
vtkPV3FoamMesh.C
|
|
||||||
vtkPV3FoamMeshLagrangian.C
|
|
||||||
vtkPV3FoamMeshPatch.C
|
|
||||||
vtkPV3FoamMeshSet.C
|
|
||||||
vtkPV3FoamMeshVolume.C
|
|
||||||
vtkPV3FoamMeshZone.C
|
|
||||||
vtkPV3FoamUpdateInfo.C
|
|
||||||
vtkPV3FoamUtilities.C
|
|
||||||
)
|
|
||||||
|
|
||||||
add_foam_library(vtkPV3Foam SHARED ${SOURCES})
|
|
||||||
|
|
||||||
target_link_libraries(vtkPV3Foam PUBLIC foam)
|
|
|
@ -30,4 +30,5 @@
|
||||||
#
|
#
|
||||||
# --------------------------------------------------------------------------
|
# --------------------------------------------------------------------------
|
||||||
|
|
||||||
add_subdirectory(vtkPV3Foam)
|
add_subdirectory(PVFoamReader)
|
||||||
|
add_subdirectory(vtkPVFoam)
|
|
@ -1,4 +1,5 @@
|
||||||
# create a plugin that adds a reader to the ParaView GUI# it is added in the file dialog when doing opens/saves.
|
# create a plugin that adds a reader to the ParaView GUI
|
||||||
|
# it is added in the file dialog when doing opens/saves.
|
||||||
|
|
||||||
# The qrc file is processed by Qt's resource compiler (rcc)
|
# The qrc file is processed by Qt's resource compiler (rcc)
|
||||||
# the qrc file must have a resource prefix of "/ParaViewResources"
|
# the qrc file must have a resource prefix of "/ParaViewResources"
|
||||||
|
@ -17,11 +18,11 @@ INCLUDE(${PARAVIEW_USE_FILE})
|
||||||
|
|
||||||
# Build the server-side plugin
|
# Build the server-side plugin
|
||||||
ADD_PARAVIEW_PLUGIN(
|
ADD_PARAVIEW_PLUGIN(
|
||||||
PV4FoamReader_SM "1.0"
|
PVFoamReader_SM "1.0"
|
||||||
SERVER_MANAGER_XML PV4FoamReader_SM.xml
|
SERVER_MANAGER_XML PVFoamReader_SM.xml
|
||||||
SERVER_MANAGER_SOURCES vtkPV4FoamReader.cxx
|
SERVER_MANAGER_SOURCES vtkPVFoamReader.cxx
|
||||||
)
|
)
|
||||||
|
|
||||||
TARGET_LINK_LIBRARIES(PV4FoamReader_SM PUBLIC vtkPV4Foam pqCore)
|
TARGET_LINK_LIBRARIES(PVFoamReader_SM PUBLIC vtkPVFoam pqCore)
|
||||||
|
|
||||||
#-----------------------------------------------------------------------------
|
#-----------------------------------------------------------------------------
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
/*=========================================================================
|
/*=========================================================================
|
||||||
|
|
||||||
Program: Visualization Toolkit
|
Program: Visualization Toolkit
|
||||||
Module: $RCSfile: vtkPV4FoamReader.cxx,v $
|
Module: $RCSfile: vtkPVFoamReader.cxx,v $
|
||||||
|
|
||||||
Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
|
Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
|
||||||
All rights reserved.
|
All rights reserved.
|
||||||
|
@ -13,10 +13,10 @@
|
||||||
|
|
||||||
=========================================================================*/
|
=========================================================================*/
|
||||||
|
|
||||||
#include "vtkPV4FoamReader.h"
|
#include "vtkPVFoamReader.h"
|
||||||
|
|
||||||
// Foam includes
|
// Foam includes
|
||||||
#include "vtkPV4Foam.H"
|
#include "vtkPVFoam.H"
|
||||||
|
|
||||||
#include "pqApplicationCore.h"
|
#include "pqApplicationCore.h"
|
||||||
#include "pqRenderView.h"
|
#include "pqRenderView.h"
|
||||||
|
@ -33,11 +33,11 @@
|
||||||
#include "vtkStreamingDemandDrivenPipeline.h"
|
#include "vtkStreamingDemandDrivenPipeline.h"
|
||||||
#include "vtkStringArray.h"
|
#include "vtkStringArray.h"
|
||||||
|
|
||||||
vtkStandardNewMacro(vtkPV4FoamReader);
|
vtkStandardNewMacro(vtkPVFoamReader);
|
||||||
|
|
||||||
#undef EXPERIMENTAL_TIME_CACHING
|
#undef EXPERIMENTAL_TIME_CACHING
|
||||||
|
|
||||||
vtkPV4FoamReader::vtkPV4FoamReader()
|
vtkPVFoamReader::vtkPVFoamReader()
|
||||||
{
|
{
|
||||||
Debug = 0;
|
Debug = 0;
|
||||||
vtkDebugMacro(<<"Constructor");
|
vtkDebugMacro(<<"Constructor");
|
||||||
|
@ -49,7 +49,7 @@ vtkPV4FoamReader::vtkPV4FoamReader()
|
||||||
|
|
||||||
output0_ = NULL;
|
output0_ = NULL;
|
||||||
|
|
||||||
#ifdef VTKPV4FOAM_DUALPORT
|
#ifdef VTKPVFOAM_DUALPORT
|
||||||
// Add second output for the Lagrangian
|
// Add second output for the Lagrangian
|
||||||
this->SetNumberOfOutputPorts(2);
|
this->SetNumberOfOutputPorts(2);
|
||||||
vtkMultiBlockDataSet *lagrangian = vtkMultiBlockDataSet::New();
|
vtkMultiBlockDataSet *lagrangian = vtkMultiBlockDataSet::New();
|
||||||
|
@ -65,6 +65,7 @@ vtkPV4FoamReader::vtkPV4FoamReader()
|
||||||
CacheMesh = 1;
|
CacheMesh = 1;
|
||||||
|
|
||||||
ExtrapolatePatches = 0;
|
ExtrapolatePatches = 0;
|
||||||
|
UseVTKPolyhedron = 0;
|
||||||
IncludeSets = 0;
|
IncludeSets = 0;
|
||||||
IncludeZones = 0;
|
IncludeZones = 0;
|
||||||
ShowPatchNames = 0;
|
ShowPatchNames = 0;
|
||||||
|
@ -81,7 +82,7 @@ vtkPV4FoamReader::vtkPV4FoamReader()
|
||||||
SelectionObserver = vtkCallbackCommand::New();
|
SelectionObserver = vtkCallbackCommand::New();
|
||||||
SelectionObserver->SetCallback
|
SelectionObserver->SetCallback
|
||||||
(
|
(
|
||||||
&vtkPV4FoamReader::SelectionModifiedCallback
|
&vtkPVFoamReader::SelectionModifiedCallback
|
||||||
);
|
);
|
||||||
SelectionObserver->SetClientData(this);
|
SelectionObserver->SetClientData(this);
|
||||||
|
|
||||||
|
@ -108,7 +109,7 @@ vtkPV4FoamReader::vtkPV4FoamReader()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
vtkPV4FoamReader::~vtkPV4FoamReader()
|
vtkPVFoamReader::~vtkPVFoamReader()
|
||||||
{
|
{
|
||||||
vtkDebugMacro(<<"Deconstructor");
|
vtkDebugMacro(<<"Deconstructor");
|
||||||
|
|
||||||
|
@ -140,7 +141,7 @@ vtkPV4FoamReader::~vtkPV4FoamReader()
|
||||||
|
|
||||||
|
|
||||||
// Do everything except set the output info
|
// Do everything except set the output info
|
||||||
int vtkPV4FoamReader::RequestInformation
|
int vtkPVFoamReader::RequestInformation
|
||||||
(
|
(
|
||||||
vtkInformation* vtkNotUsed(request),
|
vtkInformation* vtkNotUsed(request),
|
||||||
vtkInformationVector** vtkNotUsed(inputVector),
|
vtkInformationVector** vtkNotUsed(inputVector),
|
||||||
|
@ -149,7 +150,7 @@ int vtkPV4FoamReader::RequestInformation
|
||||||
{
|
{
|
||||||
vtkDebugMacro(<<"RequestInformation");
|
vtkDebugMacro(<<"RequestInformation");
|
||||||
|
|
||||||
if (Foam::vtkPV4Foam::debug)
|
if (Foam::vtkPVFoam::debug)
|
||||||
{
|
{
|
||||||
cout<<"REQUEST_INFORMATION\n";
|
cout<<"REQUEST_INFORMATION\n";
|
||||||
}
|
}
|
||||||
|
@ -162,7 +163,7 @@ int vtkPV4FoamReader::RequestInformation
|
||||||
|
|
||||||
int nInfo = outputVector->GetNumberOfInformationObjects();
|
int nInfo = outputVector->GetNumberOfInformationObjects();
|
||||||
|
|
||||||
if (Foam::vtkPV4Foam::debug)
|
if (Foam::vtkPVFoam::debug)
|
||||||
{
|
{
|
||||||
cout<<"RequestInformation with " << nInfo << " item(s)\n";
|
cout<<"RequestInformation with " << nInfo << " item(s)\n";
|
||||||
for (int infoI = 0; infoI < nInfo; ++infoI)
|
for (int infoI = 0; infoI < nInfo; ++infoI)
|
||||||
|
@ -173,7 +174,7 @@ int vtkPV4FoamReader::RequestInformation
|
||||||
|
|
||||||
if (!foamData_)
|
if (!foamData_)
|
||||||
{
|
{
|
||||||
foamData_ = new Foam::vtkPV4Foam(FileName, this);
|
foamData_ = new Foam::vtkPVFoam(FileName, this);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -210,7 +211,7 @@ int vtkPV4FoamReader::RequestInformation
|
||||||
timeRange[0] = timeSteps[0];
|
timeRange[0] = timeSteps[0];
|
||||||
timeRange[1] = timeSteps[nTimeSteps-1];
|
timeRange[1] = timeSteps[nTimeSteps-1];
|
||||||
|
|
||||||
if (Foam::vtkPV4Foam::debug > 1)
|
if (Foam::vtkPVFoam::debug > 1)
|
||||||
{
|
{
|
||||||
cout<<"nTimeSteps " << nTimeSteps << "\n"
|
cout<<"nTimeSteps " << nTimeSteps << "\n"
|
||||||
<<"timeRange " << timeRange[0] << " to " << timeRange[1]
|
<<"timeRange " << timeRange[0] << " to " << timeRange[1]
|
||||||
|
@ -240,7 +241,7 @@ int vtkPV4FoamReader::RequestInformation
|
||||||
|
|
||||||
|
|
||||||
// Set the output info
|
// Set the output info
|
||||||
int vtkPV4FoamReader::RequestData
|
int vtkPVFoamReader::RequestData
|
||||||
(
|
(
|
||||||
vtkInformation* vtkNotUsed(request),
|
vtkInformation* vtkNotUsed(request),
|
||||||
vtkInformationVector** vtkNotUsed(inputVector),
|
vtkInformationVector** vtkNotUsed(inputVector),
|
||||||
|
@ -264,7 +265,7 @@ int vtkPV4FoamReader::RequestData
|
||||||
|
|
||||||
int nInfo = outputVector->GetNumberOfInformationObjects();
|
int nInfo = outputVector->GetNumberOfInformationObjects();
|
||||||
|
|
||||||
if (Foam::vtkPV4Foam::debug)
|
if (Foam::vtkPVFoam::debug)
|
||||||
{
|
{
|
||||||
cout<<"RequestData with " << nInfo << " item(s)\n";
|
cout<<"RequestData with " << nInfo << " item(s)\n";
|
||||||
for (int infoI = 0; infoI < nInfo; ++infoI)
|
for (int infoI = 0; infoI < nInfo; ++infoI)
|
||||||
|
@ -282,7 +283,7 @@ int vtkPV4FoamReader::RequestData
|
||||||
// taking port0 as the lead for other outputs would be nice, but fails when
|
// taking port0 as the lead for other outputs would be nice, but fails when
|
||||||
// a filter is added - we need to check everything
|
// a filter is added - we need to check everything
|
||||||
// but since PREVIOUS_UPDATE_TIME_STEPS() is protected, relay the logic
|
// but since PREVIOUS_UPDATE_TIME_STEPS() is protected, relay the logic
|
||||||
// to the vtkPV4Foam::setTime() method
|
// to the vtkPVFoam::setTime() method
|
||||||
for (int infoI = 0; infoI < nInfo; ++infoI)
|
for (int infoI = 0; infoI < nInfo; ++infoI)
|
||||||
{
|
{
|
||||||
vtkInformation *outInfo = outputVector->GetInformationObject(infoI);
|
vtkInformation *outInfo = outputVector->GetInformationObject(infoI);
|
||||||
|
@ -314,7 +315,7 @@ int vtkPV4FoamReader::RequestData
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
|
|
||||||
if (Foam::vtkPV4Foam::debug)
|
if (Foam::vtkPVFoam::debug)
|
||||||
{
|
{
|
||||||
cout<< "update output with "
|
cout<< "update output with "
|
||||||
<< output->GetNumberOfBlocks() << " blocks\n";
|
<< output->GetNumberOfBlocks() << " blocks\n";
|
||||||
|
@ -342,7 +343,7 @@ int vtkPV4FoamReader::RequestData
|
||||||
output->ShallowCopy(output0_);
|
output->ShallowCopy(output0_);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (Foam::vtkPV4Foam::debug)
|
if (Foam::vtkPVFoam::debug)
|
||||||
{
|
{
|
||||||
if (needsUpdate)
|
if (needsUpdate)
|
||||||
{
|
{
|
||||||
|
@ -362,7 +363,7 @@ int vtkPV4FoamReader::RequestData
|
||||||
|
|
||||||
#else
|
#else
|
||||||
|
|
||||||
#ifdef VTKPV4FOAM_DUALPORT
|
#ifdef VTKPVFOAM_DUALPORT
|
||||||
foamData_->Update
|
foamData_->Update
|
||||||
(
|
(
|
||||||
output,
|
output,
|
||||||
|
@ -396,7 +397,7 @@ int vtkPV4FoamReader::RequestData
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void vtkPV4FoamReader::addPatchNamesToView()
|
void vtkPVFoamReader::addPatchNamesToView()
|
||||||
{
|
{
|
||||||
pqApplicationCore* appCore = pqApplicationCore::instance();
|
pqApplicationCore* appCore = pqApplicationCore::instance();
|
||||||
|
|
||||||
|
@ -416,7 +417,7 @@ void vtkPV4FoamReader::addPatchNamesToView()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void vtkPV4FoamReader::removePatchNamesFromView()
|
void vtkPVFoamReader::removePatchNamesFromView()
|
||||||
{
|
{
|
||||||
pqApplicationCore* appCore = pqApplicationCore::instance();
|
pqApplicationCore* appCore = pqApplicationCore::instance();
|
||||||
|
|
||||||
|
@ -436,7 +437,7 @@ void vtkPV4FoamReader::removePatchNamesFromView()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void vtkPV4FoamReader::PrintSelf(ostream& os, vtkIndent indent)
|
void vtkPVFoamReader::PrintSelf(ostream& os, vtkIndent indent)
|
||||||
{
|
{
|
||||||
vtkDebugMacro(<<"PrintSelf");
|
vtkDebugMacro(<<"PrintSelf");
|
||||||
|
|
||||||
|
@ -453,7 +454,7 @@ void vtkPV4FoamReader::PrintSelf(ostream& os, vtkIndent indent)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
int vtkPV4FoamReader::GetTimeStep()
|
int vtkPVFoamReader::GetTimeStep()
|
||||||
{
|
{
|
||||||
return foamData_ ? foamData_->timeIndex() : -1;
|
return foamData_ ? foamData_->timeIndex() : -1;
|
||||||
}
|
}
|
||||||
|
@ -462,35 +463,35 @@ int vtkPV4FoamReader::GetTimeStep()
|
||||||
// ----------------------------------------------------------------------
|
// ----------------------------------------------------------------------
|
||||||
// Parts selection list control
|
// Parts selection list control
|
||||||
|
|
||||||
vtkDataArraySelection* vtkPV4FoamReader::GetPartSelection()
|
vtkDataArraySelection* vtkPVFoamReader::GetPartSelection()
|
||||||
{
|
{
|
||||||
vtkDebugMacro(<<"GetPartSelection");
|
vtkDebugMacro(<<"GetPartSelection");
|
||||||
return PartSelection;
|
return PartSelection;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
int vtkPV4FoamReader::GetNumberOfPartArrays()
|
int vtkPVFoamReader::GetNumberOfPartArrays()
|
||||||
{
|
{
|
||||||
vtkDebugMacro(<<"GetNumberOfPartArrays");
|
vtkDebugMacro(<<"GetNumberOfPartArrays");
|
||||||
return PartSelection->GetNumberOfArrays();
|
return PartSelection->GetNumberOfArrays();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
const char* vtkPV4FoamReader::GetPartArrayName(int index)
|
const char* vtkPVFoamReader::GetPartArrayName(int index)
|
||||||
{
|
{
|
||||||
vtkDebugMacro(<<"GetPartArrayName");
|
vtkDebugMacro(<<"GetPartArrayName");
|
||||||
return PartSelection->GetArrayName(index);
|
return PartSelection->GetArrayName(index);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
int vtkPV4FoamReader::GetPartArrayStatus(const char* name)
|
int vtkPVFoamReader::GetPartArrayStatus(const char* name)
|
||||||
{
|
{
|
||||||
vtkDebugMacro(<<"GetPartArrayStatus");
|
vtkDebugMacro(<<"GetPartArrayStatus");
|
||||||
return PartSelection->ArrayIsEnabled(name);
|
return PartSelection->ArrayIsEnabled(name);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void vtkPV4FoamReader::SetPartArrayStatus(const char* name, int status)
|
void vtkPVFoamReader::SetPartArrayStatus(const char* name, int status)
|
||||||
{
|
{
|
||||||
vtkDebugMacro(<<"SetPartArrayStatus");
|
vtkDebugMacro(<<"SetPartArrayStatus");
|
||||||
if (status)
|
if (status)
|
||||||
|
@ -507,35 +508,35 @@ void vtkPV4FoamReader::SetPartArrayStatus(const char* name, int status)
|
||||||
// ----------------------------------------------------------------------
|
// ----------------------------------------------------------------------
|
||||||
// volField selection list control
|
// volField selection list control
|
||||||
|
|
||||||
vtkDataArraySelection* vtkPV4FoamReader::GetVolFieldSelection()
|
vtkDataArraySelection* vtkPVFoamReader::GetVolFieldSelection()
|
||||||
{
|
{
|
||||||
vtkDebugMacro(<<"GetVolFieldSelection");
|
vtkDebugMacro(<<"GetVolFieldSelection");
|
||||||
return VolFieldSelection;
|
return VolFieldSelection;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
int vtkPV4FoamReader::GetNumberOfVolFieldArrays()
|
int vtkPVFoamReader::GetNumberOfVolFieldArrays()
|
||||||
{
|
{
|
||||||
vtkDebugMacro(<<"GetNumberOfVolFieldArrays");
|
vtkDebugMacro(<<"GetNumberOfVolFieldArrays");
|
||||||
return VolFieldSelection->GetNumberOfArrays();
|
return VolFieldSelection->GetNumberOfArrays();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
const char* vtkPV4FoamReader::GetVolFieldArrayName(int index)
|
const char* vtkPVFoamReader::GetVolFieldArrayName(int index)
|
||||||
{
|
{
|
||||||
vtkDebugMacro(<<"GetVolFieldArrayName");
|
vtkDebugMacro(<<"GetVolFieldArrayName");
|
||||||
return VolFieldSelection->GetArrayName(index);
|
return VolFieldSelection->GetArrayName(index);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
int vtkPV4FoamReader::GetVolFieldArrayStatus(const char* name)
|
int vtkPVFoamReader::GetVolFieldArrayStatus(const char* name)
|
||||||
{
|
{
|
||||||
vtkDebugMacro(<<"GetVolFieldArrayStatus");
|
vtkDebugMacro(<<"GetVolFieldArrayStatus");
|
||||||
return VolFieldSelection->ArrayIsEnabled(name);
|
return VolFieldSelection->ArrayIsEnabled(name);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void vtkPV4FoamReader::SetVolFieldArrayStatus(const char* name, int status)
|
void vtkPVFoamReader::SetVolFieldArrayStatus(const char* name, int status)
|
||||||
{
|
{
|
||||||
vtkDebugMacro(<<"SetVolFieldArrayStatus");
|
vtkDebugMacro(<<"SetVolFieldArrayStatus");
|
||||||
if (status)
|
if (status)
|
||||||
|
@ -552,35 +553,35 @@ void vtkPV4FoamReader::SetVolFieldArrayStatus(const char* name, int status)
|
||||||
// ----------------------------------------------------------------------
|
// ----------------------------------------------------------------------
|
||||||
// pointField selection list control
|
// pointField selection list control
|
||||||
|
|
||||||
vtkDataArraySelection* vtkPV4FoamReader::GetPointFieldSelection()
|
vtkDataArraySelection* vtkPVFoamReader::GetPointFieldSelection()
|
||||||
{
|
{
|
||||||
vtkDebugMacro(<<"GetPointFieldSelection");
|
vtkDebugMacro(<<"GetPointFieldSelection");
|
||||||
return PointFieldSelection;
|
return PointFieldSelection;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
int vtkPV4FoamReader::GetNumberOfPointFieldArrays()
|
int vtkPVFoamReader::GetNumberOfPointFieldArrays()
|
||||||
{
|
{
|
||||||
vtkDebugMacro(<<"GetNumberOfPointFieldArrays");
|
vtkDebugMacro(<<"GetNumberOfPointFieldArrays");
|
||||||
return PointFieldSelection->GetNumberOfArrays();
|
return PointFieldSelection->GetNumberOfArrays();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
const char* vtkPV4FoamReader::GetPointFieldArrayName(int index)
|
const char* vtkPVFoamReader::GetPointFieldArrayName(int index)
|
||||||
{
|
{
|
||||||
vtkDebugMacro(<<"GetPointFieldArrayName");
|
vtkDebugMacro(<<"GetPointFieldArrayName");
|
||||||
return PointFieldSelection->GetArrayName(index);
|
return PointFieldSelection->GetArrayName(index);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
int vtkPV4FoamReader::GetPointFieldArrayStatus(const char* name)
|
int vtkPVFoamReader::GetPointFieldArrayStatus(const char* name)
|
||||||
{
|
{
|
||||||
vtkDebugMacro(<<"GetPointFieldArrayStatus");
|
vtkDebugMacro(<<"GetPointFieldArrayStatus");
|
||||||
return PointFieldSelection->ArrayIsEnabled(name);
|
return PointFieldSelection->ArrayIsEnabled(name);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void vtkPV4FoamReader::SetPointFieldArrayStatus(const char* name, int status)
|
void vtkPVFoamReader::SetPointFieldArrayStatus(const char* name, int status)
|
||||||
{
|
{
|
||||||
vtkDebugMacro(<<"SetPointFieldArrayStatus");
|
vtkDebugMacro(<<"SetPointFieldArrayStatus");
|
||||||
if (status)
|
if (status)
|
||||||
|
@ -597,35 +598,35 @@ void vtkPV4FoamReader::SetPointFieldArrayStatus(const char* name, int status)
|
||||||
// ----------------------------------------------------------------------
|
// ----------------------------------------------------------------------
|
||||||
// lagrangianField selection list control
|
// lagrangianField selection list control
|
||||||
|
|
||||||
vtkDataArraySelection* vtkPV4FoamReader::GetLagrangianFieldSelection()
|
vtkDataArraySelection* vtkPVFoamReader::GetLagrangianFieldSelection()
|
||||||
{
|
{
|
||||||
vtkDebugMacro(<<"GetLagrangianFieldSelection");
|
vtkDebugMacro(<<"GetLagrangianFieldSelection");
|
||||||
return LagrangianFieldSelection;
|
return LagrangianFieldSelection;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
int vtkPV4FoamReader::GetNumberOfLagrangianFieldArrays()
|
int vtkPVFoamReader::GetNumberOfLagrangianFieldArrays()
|
||||||
{
|
{
|
||||||
vtkDebugMacro(<<"GetNumberOfLagrangianFieldArrays");
|
vtkDebugMacro(<<"GetNumberOfLagrangianFieldArrays");
|
||||||
return LagrangianFieldSelection->GetNumberOfArrays();
|
return LagrangianFieldSelection->GetNumberOfArrays();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
const char* vtkPV4FoamReader::GetLagrangianFieldArrayName(int index)
|
const char* vtkPVFoamReader::GetLagrangianFieldArrayName(int index)
|
||||||
{
|
{
|
||||||
vtkDebugMacro(<<"GetLagrangianFieldArrayName");
|
vtkDebugMacro(<<"GetLagrangianFieldArrayName");
|
||||||
return LagrangianFieldSelection->GetArrayName(index);
|
return LagrangianFieldSelection->GetArrayName(index);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
int vtkPV4FoamReader::GetLagrangianFieldArrayStatus(const char* name)
|
int vtkPVFoamReader::GetLagrangianFieldArrayStatus(const char* name)
|
||||||
{
|
{
|
||||||
vtkDebugMacro(<<"GetLagrangianFieldArrayStatus");
|
vtkDebugMacro(<<"GetLagrangianFieldArrayStatus");
|
||||||
return LagrangianFieldSelection->ArrayIsEnabled(name);
|
return LagrangianFieldSelection->ArrayIsEnabled(name);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void vtkPV4FoamReader::SetLagrangianFieldArrayStatus
|
void vtkPVFoamReader::SetLagrangianFieldArrayStatus
|
||||||
(
|
(
|
||||||
const char* name,
|
const char* name,
|
||||||
int status
|
int status
|
||||||
|
@ -645,7 +646,7 @@ void vtkPV4FoamReader::SetLagrangianFieldArrayStatus
|
||||||
|
|
||||||
// ----------------------------------------------------------------------
|
// ----------------------------------------------------------------------
|
||||||
|
|
||||||
void vtkPV4FoamReader::SelectionModifiedCallback
|
void vtkPVFoamReader::SelectionModifiedCallback
|
||||||
(
|
(
|
||||||
vtkObject*,
|
vtkObject*,
|
||||||
unsigned long,
|
unsigned long,
|
||||||
|
@ -653,18 +654,18 @@ void vtkPV4FoamReader::SelectionModifiedCallback
|
||||||
void*
|
void*
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
static_cast<vtkPV4FoamReader*>(clientdata)->SelectionModified();
|
static_cast<vtkPVFoamReader*>(clientdata)->SelectionModified();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void vtkPV4FoamReader::SelectionModified()
|
void vtkPVFoamReader::SelectionModified()
|
||||||
{
|
{
|
||||||
vtkDebugMacro(<<"SelectionModified");
|
vtkDebugMacro(<<"SelectionModified");
|
||||||
Modified();
|
Modified();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
int vtkPV4FoamReader::FillOutputPortInformation
|
int vtkPVFoamReader::FillOutputPortInformation
|
||||||
(
|
(
|
||||||
int port,
|
int port,
|
||||||
vtkInformation* info
|
vtkInformation* info
|
||||||
|
|
|
@ -33,22 +33,22 @@
|
||||||
include(${PARAVIEW_USE_FILE})
|
include(${PARAVIEW_USE_FILE})
|
||||||
|
|
||||||
list(APPEND SOURCES
|
list(APPEND SOURCES
|
||||||
vtkPV4Foam.C
|
vtkPVFoam.C
|
||||||
vtkPV4FoamFields.C
|
vtkPVFoamFields.C
|
||||||
vtkPV4FoamMesh.C
|
vtkPVFoamMesh.C
|
||||||
vtkPV4FoamMeshLagrangian.C
|
vtkPVFoamMeshLagrangian.C
|
||||||
vtkPV4FoamMeshPatch.C
|
vtkPVFoamMeshPatch.C
|
||||||
vtkPV4FoamMeshSet.C
|
vtkPVFoamMeshSet.C
|
||||||
vtkPV4FoamMeshVolume.C
|
vtkPVFoamMeshVolume.C
|
||||||
vtkPV4FoamMeshZone.C
|
vtkPVFoamMeshZone.C
|
||||||
vtkPV4FoamUpdateInfo.C
|
vtkPVFoamUpdateInfo.C
|
||||||
vtkPV4FoamUtilities.C
|
vtkPVFoamUtilities.C
|
||||||
)
|
)
|
||||||
|
|
||||||
add_foam_library(vtkPV4Foam SHARED ${SOURCES})
|
add_foam_library(vtkPVFoam SHARED ${SOURCES})
|
||||||
|
|
||||||
target_link_libraries(vtkPV4Foam finiteVolume)
|
target_link_libraries(vtkPVFoam finiteVolume)
|
||||||
target_include_directories(vtkPV4Foam PUBLIC
|
target_include_directories(vtkPVFoam PUBLIC
|
||||||
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/../PV4FoamReader>
|
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/../PVFoamReader>
|
||||||
# $<INSTALL_INTERFACE:include/mylib>
|
# $<INSTALL_INTERFACE:include/mylib>
|
||||||
)
|
)
|
|
@ -300,7 +300,7 @@ vtkUnstructuredGrid* Foam::vtkPVFoam::volumeVTKMesh
|
||||||
// but avoids crashes when there is no vtkPolyhedron support
|
// but avoids crashes when there is no vtkPolyhedron support
|
||||||
|
|
||||||
// establish unique node ids used
|
// establish unique node ids used
|
||||||
HashSet<vtkIdType, Hash<label>> hashUniqId(2*256);
|
HashSet<vtkIdType, Hash<label> > hashUniqId(2*256);
|
||||||
|
|
||||||
forAll(cFaces, cFacei)
|
forAll(cFaces, cFacei)
|
||||||
{
|
{
|
||||||
|
|
|
@ -32,7 +32,7 @@
|
||||||
|
|
||||||
list(APPEND SOURCES
|
list(APPEND SOURCES
|
||||||
bunnylod/progmesh.C
|
bunnylod/progmesh.C
|
||||||
bunnylod/vector.C
|
bunnylod/vectorb.C
|
||||||
surfaceCoarsen.C
|
surfaceCoarsen.C
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
|
@ -1,31 +0,0 @@
|
||||||
# This is a basic version file for the Config-mode of find_package().
|
|
||||||
# It is used by write_basic_package_version_file() as input file for configure_file()
|
|
||||||
# to create a version-file which can be installed along a config.cmake file.
|
|
||||||
#
|
|
||||||
# The created file sets PACKAGE_VERSION_EXACT if the current version string and
|
|
||||||
# the requested version string are exactly the same and it sets
|
|
||||||
# PACKAGE_VERSION_COMPATIBLE if the current version is >= requested version.
|
|
||||||
# The variable CVF_VERSION must be set before calling configure_file().
|
|
||||||
|
|
||||||
set(PACKAGE_VERSION "4.0")
|
|
||||||
|
|
||||||
if(PACKAGE_VERSION VERSION_LESS PACKAGE_FIND_VERSION)
|
|
||||||
set(PACKAGE_VERSION_COMPATIBLE FALSE)
|
|
||||||
else()
|
|
||||||
set(PACKAGE_VERSION_COMPATIBLE TRUE)
|
|
||||||
if(PACKAGE_FIND_VERSION STREQUAL PACKAGE_VERSION)
|
|
||||||
set(PACKAGE_VERSION_EXACT TRUE)
|
|
||||||
endif()
|
|
||||||
endif()
|
|
||||||
|
|
||||||
# if the installed or the using project don't have CMAKE_SIZEOF_VOID_P set, ignore it:
|
|
||||||
if("${CMAKE_SIZEOF_VOID_P}" STREQUAL "" OR "8" STREQUAL "")
|
|
||||||
return()
|
|
||||||
endif()
|
|
||||||
|
|
||||||
# check that the installed version has the same 32/64bit-ness as the one which is currently searching:
|
|
||||||
if(NOT CMAKE_SIZEOF_VOID_P STREQUAL "8")
|
|
||||||
math(EXPR installedBits "8 * 8")
|
|
||||||
set(PACKAGE_VERSION "${PACKAGE_VERSION} (${installedBits}bit)")
|
|
||||||
set(PACKAGE_VERSION_UNSUITABLE TRUE)
|
|
||||||
endif()
|
|
|
@ -34,8 +34,12 @@ find_library(CCMIO_LIBRARY2
|
||||||
${CCMIO_PKGCONF_LIBRARY_DIRS}
|
${CCMIO_PKGCONF_LIBRARY_DIRS}
|
||||||
)
|
)
|
||||||
|
|
||||||
|
message(STATUS ${CCMIO_INCLUDE_DIR})
|
||||||
|
message(STATUS ${CCMIO_LIBRARY})
|
||||||
|
|
||||||
# Set the include dir variables and the libraries and let libfind_process do the rest.
|
# Set the include dir variables and the libraries and let libfind_process do the rest.
|
||||||
# NOTE: Singular variables for this library, plural for libraries this this lib depends on.
|
# NOTE: Singular variables for this library, plural for libraries this this lib depends on.
|
||||||
|
|
||||||
set(CCMIO_PROCESS_INCLUDES CCMIO_INCLUDE_DIR CCMIO_INCLUDE_DIR2)
|
set(CCMIO_PROCESS_INCLUDES CCMIO_INCLUDE_DIR CCMIO_INCLUDE_DIR2)
|
||||||
set(CCMIO_PROCESS_LIBS CCMIO_LIBRARY CCMIO_LIBRARY2)
|
set(CCMIO_PROCESS_LIBS CCMIO_LIBRARY CCMIO_LIBRARY2)
|
||||||
libfind_process(CCMIO)
|
libfind_process(CCMIO)
|
||||||
|
|
|
@ -20,8 +20,12 @@ find_library(MESQUITE_LIBRARY
|
||||||
${MESQUITE_PKGCONF_LIBRARY_DIRS}
|
${MESQUITE_PKGCONF_LIBRARY_DIRS}
|
||||||
)
|
)
|
||||||
|
|
||||||
|
message(STATUS ${MESQUITE_INCLUDE_DIR})
|
||||||
|
message(STATUS ${MESQUITE_LIBRARY})
|
||||||
|
|
||||||
# Set the include dir variables and the libraries and let libfind_process do the rest.
|
# Set the include dir variables and the libraries and let libfind_process do the rest.
|
||||||
# NOTE: Singular variables for this library, plural for libraries this this lib depends on.
|
# NOTE: Singular variables for this library, plural for libraries this this lib depends on.
|
||||||
set(MESQUITE_PROCESS_INCLUDES MESQUITE_INCLUDE_DIR)
|
|
||||||
set(MESQUITE_PROCESS_LIBS MESQUITE_LIBRARY)
|
set(MESQUITE_PROCESS_INCLUDE MESQUITE_INCLUDE_DIR)
|
||||||
|
set(MESQUITE_PROCESS_LIB MESQUITE_LIBRARY)
|
||||||
libfind_process(MESQUITE)
|
libfind_process(MESQUITE)
|
||||||
|
|
|
@ -33,6 +33,7 @@ find_library(PARMGRIDGEN_LIBRARY
|
||||||
message(STATUS ${PARMGRIDGEN_INCLUDE_DIR})
|
message(STATUS ${PARMGRIDGEN_INCLUDE_DIR})
|
||||||
message(STATUS ${PARMGRIDGEN_LIBRARY})
|
message(STATUS ${PARMGRIDGEN_LIBRARY})
|
||||||
|
|
||||||
set(PARMGRIDGEN_PROCESS_INCLUDES PARMGRIDGEN_INCLUDE_DIR PARMGRIDGEN_INCLUDE_DIR2)
|
set(PARMGRIDGEN_PROCESS_INCLUDE PARMGRIDGEN_INCLUDE_DIR)
|
||||||
set(PARMGRIDGEN_PROCESS_LIBS PARMGRIDGEN_LIBRARY)
|
set(PARMGRIDGEN_PROCESS_INCLUDES PARMGRIDGEN_INCLUDE_DIR2)
|
||||||
|
set(PARMGRIDGEN_PROCESS_LIB PARMGRIDGEN_LIBRARY)
|
||||||
libfind_process(PARMGRIDGEN)
|
libfind_process(PARMGRIDGEN)
|
||||||
|
|
|
@ -26,6 +26,6 @@ find_library(SCOTCH_LIBRARY
|
||||||
message(STATUS ${SCOTCH_INCLUDE_DIR})
|
message(STATUS ${SCOTCH_INCLUDE_DIR})
|
||||||
message(STATUS ${SCOTCH_LIBRARY})
|
message(STATUS ${SCOTCH_LIBRARY})
|
||||||
|
|
||||||
set(SCOTCH_PROCESS_INCLUDES SCOTCH_INCLUDE_DIR)
|
set(SCOTCH_PROCESS_INCLUDE SCOTCH_INCLUDE_DIR)
|
||||||
set(SCOTCH_PROCESS_LIBS SCOTCH_LIBRARY)
|
set(SCOTCH_PROCESS_LIB SCOTCH_LIBRARY)
|
||||||
libfind_process(SCOTCH)
|
libfind_process(SCOTCH)
|
||||||
|
|
|
@ -118,6 +118,11 @@ if(CCMIO_FOUND)
|
||||||
set_property(TARGET ccmio PROPERTY INTERFACE_LINK_LIBRARIES ${CCMIO_LIBRARIES})
|
set_property(TARGET ccmio PROPERTY INTERFACE_LINK_LIBRARIES ${CCMIO_LIBRARIES})
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
#SET(CMAKE_INSTALL_RPATH FALSE)
|
||||||
|
#SET(CMAKE_SKIP_BUILD_RPATH TRUE)
|
||||||
|
#SET(CMAKE_BUILD_WITH_INSTALL_RPATH TRUE)
|
||||||
|
#SET(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE)
|
||||||
|
|
||||||
#
|
#
|
||||||
# Recurse into the source
|
# Recurse into the source
|
||||||
#
|
#
|
||||||
|
@ -155,17 +160,27 @@ else()
|
||||||
target_compile_definitions(OSspecific PUBLIC WM_DP)
|
target_compile_definitions(OSspecific PUBLIC WM_DP)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
# Label size
|
||||||
|
set(FOAM_LABEL_SIZE "32" CACHE STRING "Label size")
|
||||||
|
set_property(CACHE FOAM_LABEL_SIZE PROPERTY STRINGS 32 64)
|
||||||
|
target_compile_definitions(OSspecific PUBLIC WM_LABEL_SIZE=${FOAM_LABEL_SIZE})
|
||||||
|
|
||||||
# No Repository
|
# No Repository
|
||||||
target_compile_definitions(OSspecific PUBLIC NoRepository)
|
target_compile_definitions(OSspecific PUBLIC NoRepository)
|
||||||
|
|
||||||
|
# No Repository
|
||||||
|
target_compile_definitions(OSspecific PUBLIC linux64)
|
||||||
|
|
||||||
# FOAM's full debug mode
|
# FOAM's full debug mode
|
||||||
if(${CMAKE_BUILD_TYPE} STREQUAL "Debug")
|
if(${CMAKE_BUILD_TYPE} STREQUAL "Debug")
|
||||||
target_compile_definitions(OSspecific PUBLIC FULLDEBUG)
|
target_compile_definitions(OSspecific PUBLIC FULLDEBUG)
|
||||||
target_compile_options(OSspecific PUBLIC -fdefault-inline -ggdb3)
|
target_compile_options(OSspecific PUBLIC -fdefault-inline -ggdb3)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
#option(FOAM_PRECISION "help string describing option" -WM_DP)
|
#target_compile_options(
|
||||||
|
# OSspecific PUBLIC
|
||||||
|
# -Wall -Wextra -Wno-unused-parameter -Wold-style-cast -Wnon-virtual-dtor
|
||||||
|
#)
|
||||||
|
|
||||||
#
|
#
|
||||||
# Exports and install
|
# Exports and install
|
||||||
|
|
|
@ -321,7 +321,7 @@ message("Site name: ${SITE}")
|
||||||
|
|
||||||
# Compile FOAM, libs and apps
|
# Compile FOAM, libs and apps
|
||||||
add_custom_target (foam-extend-$ENV{WM_PROJECT_VERSION} ALL
|
add_custom_target (foam-extend-$ENV{WM_PROJECT_VERSION} ALL
|
||||||
${FOAM_ROOT}/Allwmake
|
#${FOAM_ROOT}/Allwmake
|
||||||
)
|
)
|
||||||
|
|
||||||
set_property(
|
set_property(
|
||||||
|
|
|
@ -32,6 +32,7 @@
|
||||||
|
|
||||||
add_subdirectory(foam)
|
add_subdirectory(foam)
|
||||||
add_subdirectory(immersedBoundary)
|
add_subdirectory(immersedBoundary)
|
||||||
|
add_subdirectory(overset)
|
||||||
add_subdirectory(lagrangian)
|
add_subdirectory(lagrangian)
|
||||||
add_subdirectory(edgeMesh)
|
add_subdirectory(edgeMesh)
|
||||||
add_subdirectory(coupledMatrix)
|
add_subdirectory(coupledMatrix)
|
||||||
|
@ -62,3 +63,4 @@ add_subdirectory(meshTools)
|
||||||
add_subdirectory(dynamicMesh)
|
add_subdirectory(dynamicMesh)
|
||||||
add_subdirectory(thermophysicalModels)
|
add_subdirectory(thermophysicalModels)
|
||||||
add_subdirectory(dbns)
|
add_subdirectory(dbns)
|
||||||
|
add_subdirectory(conjugateHeatTransfer)
|
||||||
|
|
|
@ -51,7 +51,23 @@ set(sixDOF sixDOF)
|
||||||
list(APPEND SOURCES
|
list(APPEND SOURCES
|
||||||
${sixDOF}/finiteRotation/finiteRotation.C
|
${sixDOF}/finiteRotation/finiteRotation.C
|
||||||
${sixDOF}/sixDOFqODE/sixDOFqODE.C
|
${sixDOF}/sixDOFqODE/sixDOFqODE.C
|
||||||
${sixDOF}/sixDOFbodies/sixDOFbodies.C
|
${sixDOF}/sixDOFODE/constraints/rotationalConstraints/rotationalConstraint/rotationalConstraint.C
|
||||||
|
${sixDOF}/sixDOFODE/constraints/rotationalConstraints/constantAngularAcceleration/constantAngularAcceleration.C
|
||||||
|
${sixDOF}/sixDOFODE/constraints/translationalConstraints/translationalConstraint/translationalConstraint.C
|
||||||
|
${sixDOF}/sixDOFODE/constraints/translationalConstraints/constantTranslationalAcceleration/constantTranslationalAcceleration.C
|
||||||
|
${sixDOF}/sixDOFODE/constraints/translationalConstraints/periodicOscillation/periodicOscillation.C
|
||||||
|
|
||||||
|
${sixDOF}/sixDOFODE/restraints/translationalRestraints/translationalRestraint/translationalRestraint.C
|
||||||
|
${sixDOF}/sixDOFODE/restraints/translationalRestraints/linearSpringDamper/linearSpringDamper.C
|
||||||
|
${sixDOF}/sixDOFODE/restraints/rotationalRestraints/rotationalRestraint/rotationalRestraint.C
|
||||||
|
${sixDOF}/sixDOFODE/restraints/rotationalRestraints/angularDamper/angularDamper.C
|
||||||
|
|
||||||
|
${sixDOF}/sixDOFODE/sixDOFODE.C
|
||||||
|
${sixDOF}/sixDOFODE/newSixDOFODE.C
|
||||||
|
${sixDOF}/quaternionSixDOF/quaternionSixDOF.C
|
||||||
|
${sixDOF}/geometricSixDOF/geometricSixDOF.C
|
||||||
|
|
||||||
|
${sixDOF}/sixDOFBodies/sixDOFBodies.C
|
||||||
)
|
)
|
||||||
|
|
||||||
add_foam_library(ODE SHARED ${SOURCES})
|
add_foam_library(ODE SHARED ${SOURCES})
|
||||||
|
|
|
@ -44,7 +44,12 @@ list(APPEND SOURCES
|
||||||
POSIX.C
|
POSIX.C
|
||||||
cpuTime/cpuTime.C
|
cpuTime/cpuTime.C
|
||||||
clockTime/clockTime.C
|
clockTime/clockTime.C
|
||||||
|
memInfo/memInfo.C
|
||||||
multiThreader/multiThreader.C
|
multiThreader/multiThreader.C
|
||||||
|
|
||||||
|
# Note: fileMonitor assumes inotify by default. Compile with -DFOAM_USE_STAT
|
||||||
|
# to use stat (=timestamps) instead of inotify
|
||||||
|
fileMonitor.C
|
||||||
)
|
)
|
||||||
|
|
||||||
#ifdef SunOS64
|
#ifdef SunOS64
|
||||||
|
@ -59,5 +64,4 @@ list(APPEND SOURCES
|
||||||
|
|
||||||
add_foam_library(OSspecific SHARED ${SOURCES})
|
add_foam_library(OSspecific SHARED ${SOURCES})
|
||||||
|
|
||||||
target_link_libraries(OSspecific)
|
|
||||||
add_dependencies(OSspecific foam_lnInclude)
|
add_dependencies(OSspecific foam_lnInclude)
|
||||||
|
|
|
@ -54,4 +54,4 @@ list(APPEND SOURCES
|
||||||
|
|
||||||
add_foam_library(coupledLduMatrix SHARED ${SOURCES})
|
add_foam_library(coupledLduMatrix SHARED ${SOURCES})
|
||||||
|
|
||||||
target_link_libraries(coupledLduMatrix finiteVolume)
|
target_link_libraries(coupledLduMatrix PUBLIC finiteVolume)
|
||||||
|
|
|
@ -43,4 +43,4 @@ list(APPEND SOURCES
|
||||||
|
|
||||||
add_foam_library(cudaSolvers SHARED ${SOURCES})
|
add_foam_library(cudaSolvers SHARED ${SOURCES})
|
||||||
|
|
||||||
target_link_libraries(cudaSolvers finiteVolume)
|
target_link_libraries(cudaSolvers PUBLIC finiteVolume)
|
||||||
|
|
|
@ -53,7 +53,7 @@ list(APPEND SOURCES
|
||||||
if(PARMGRIDGEN_FOUND)
|
if(PARMGRIDGEN_FOUND)
|
||||||
add_foam_library(dbns SHARED ${SOURCES})
|
add_foam_library(dbns SHARED ${SOURCES})
|
||||||
|
|
||||||
target_link_libraries(dbns compressibleTurbulenceModel parmgridgen)
|
target_link_libraries(dbns PUBLIC compressibleTurbulenceModel parmgridgen)
|
||||||
else()
|
else()
|
||||||
message(WARNING dbns will not be build)
|
message(WARNING dbns will not be build)
|
||||||
endif()
|
endif()
|
||||||
|
|
|
@ -34,3 +34,4 @@ add_subdirectory(parMetisDecomp)
|
||||||
add_subdirectory(decompositionMethods)
|
add_subdirectory(decompositionMethods)
|
||||||
add_subdirectory(scotchDecomp)
|
add_subdirectory(scotchDecomp)
|
||||||
add_subdirectory(metisDecomp)
|
add_subdirectory(metisDecomp)
|
||||||
|
add_subdirectory(decomposeReconstruct)
|
||||||
|
|
63
src/decompositionMethods/decomposeReconstruct/CMakeLists.txt
Normal file
63
src/decompositionMethods/decomposeReconstruct/CMakeLists.txt
Normal file
|
@ -0,0 +1,63 @@
|
||||||
|
# --------------------------------------------------------------------------
|
||||||
|
# ======== |
|
||||||
|
# \ / F ield | foam-extend: Open Source CFD
|
||||||
|
# \ / O peration | Version: 4.1
|
||||||
|
# \ / A nd | Web: http://www.foam-extend.org
|
||||||
|
# \/ M anipulation | For copyright notice see file Copyright
|
||||||
|
# --------------------------------------------------------------------------
|
||||||
|
# License
|
||||||
|
# This file is part of foam-extend.
|
||||||
|
#
|
||||||
|
# foam-extend 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.
|
||||||
|
#
|
||||||
|
# foam-extend 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 foam-extend. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
#
|
||||||
|
# Description
|
||||||
|
# CMakeLists.txt file for libraries and applications
|
||||||
|
#
|
||||||
|
# Author
|
||||||
|
# Henrik Rusche, Wikki GmbH, 2017. All rights reserved
|
||||||
|
#
|
||||||
|
#
|
||||||
|
# --------------------------------------------------------------------------
|
||||||
|
|
||||||
|
list(APPEND SOURCES
|
||||||
|
passivePatches/passiveProcessorPolyPatch/passiveProcessorPolyPatch.C
|
||||||
|
passivePatches/passiveProcessorFvPatch/passiveProcessorFvPatch.C
|
||||||
|
|
||||||
|
passivePatchFields/passiveFvPatchFields/passiveProcessor/passiveProcessorFvPatchFields.C
|
||||||
|
passivePatchFields/passiveFvsPatchFields/passiveProcessor/passiveProcessorFvsPatchFields.C
|
||||||
|
|
||||||
|
decomposeTools/finiteVolume/domainDecomposition.C
|
||||||
|
decomposeTools/finiteVolume/distributeCells.C
|
||||||
|
decomposeTools/finiteVolume/decomposeMesh.C
|
||||||
|
decomposeTools/finiteVolume/fvFieldDecomposer.C
|
||||||
|
decomposeTools/finiteArea/faMeshDecomposition.C
|
||||||
|
decomposeTools/finiteArea/faFieldDecomposer.C
|
||||||
|
decomposeTools/point/pointFieldDecomposer.C
|
||||||
|
decomposeTools/tetFiniteElement/tetPointFieldDecomposer.C
|
||||||
|
decomposeTools/lagrangian/lagrangianFieldDecomposer.C
|
||||||
|
|
||||||
|
reconstructTools/finiteVolume/sharedPoints.C
|
||||||
|
reconstructTools/finiteVolume/processorMeshesReconstructor.C
|
||||||
|
reconstructTools/finiteVolume/processorMeshesRebuild.C
|
||||||
|
reconstructTools/finiteVolume/fvFieldReconstructor.C
|
||||||
|
reconstructTools/finiteArea/processorFaMeshes.C
|
||||||
|
reconstructTools/finiteArea/faFieldReconstructor.C
|
||||||
|
reconstructTools/point/pointFieldReconstructor.C
|
||||||
|
reconstructTools/tetFiniteElement/tetPointFieldReconstructor.C
|
||||||
|
reconstructTools/lagrangian/reconstructLagrangianPositions.C
|
||||||
|
)
|
||||||
|
|
||||||
|
add_foam_library(decomposeReconstruct SHARED ${SOURCES})
|
||||||
|
|
||||||
|
target_link_libraries(decomposeReconstruct PUBLIC decompositionMethods lagrangianBasic finiteVolume finiteArea tetFiniteElement)
|
|
@ -36,4 +36,4 @@ list(APPEND SOURCES
|
||||||
|
|
||||||
add_foam_library(metisDecomp SHARED ${SOURCES})
|
add_foam_library(metisDecomp SHARED ${SOURCES})
|
||||||
|
|
||||||
target_link_libraries(metisDecomp finiteVolume metis)
|
target_link_libraries(metisDecomp PUBLIC decompositionMethods metis)
|
||||||
|
|
|
@ -36,4 +36,4 @@ list(APPEND SOURCES
|
||||||
|
|
||||||
add_foam_library(parMetisDecomp SHARED ${SOURCES})
|
add_foam_library(parMetisDecomp SHARED ${SOURCES})
|
||||||
|
|
||||||
target_link_libraries(parMetisDecomp metisDecomp parmetis)
|
target_link_libraries(parMetisDecomp PUBLIC metisDecomp parmetis)
|
||||||
|
|
|
@ -37,4 +37,4 @@ list(APPEND SOURCES
|
||||||
|
|
||||||
add_foam_library(scotchDecomp SHARED ${SOURCES})
|
add_foam_library(scotchDecomp SHARED ${SOURCES})
|
||||||
|
|
||||||
target_link_libraries(scotchDecomp finiteVolume scotch)
|
target_link_libraries(scotchDecomp PUBLIC decompositionMethods scotch)
|
||||||
|
|
|
@ -35,3 +35,4 @@ add_subdirectory(dynamicMesh)
|
||||||
add_subdirectory(dynamicTopoFvMesh)
|
add_subdirectory(dynamicTopoFvMesh)
|
||||||
add_subdirectory(dynamicFvMesh)
|
add_subdirectory(dynamicFvMesh)
|
||||||
add_subdirectory(meshMotion)
|
add_subdirectory(meshMotion)
|
||||||
|
add_subdirectory(loadBalanceFvMesh)
|
||||||
|
|
|
@ -75,6 +75,11 @@ list(APPEND SOURCES
|
||||||
set(repatchCoverage ${polyMeshModifiers}/repatchCoverage)
|
set(repatchCoverage ${polyMeshModifiers}/repatchCoverage)
|
||||||
list(APPEND SOURCES
|
list(APPEND SOURCES
|
||||||
${repatchCoverage}/repatchCoverage.C
|
${repatchCoverage}/repatchCoverage.C
|
||||||
|
)
|
||||||
|
|
||||||
|
set(polyhedralRefinement ${polyMeshModifiers}/polyhedralRefinement)
|
||||||
|
list(APPEND SOURCES
|
||||||
|
${polyhedralRefinement}/polyhedralRefinement.C
|
||||||
polyTopoChange/polyTopoChange/polyTopoChange.C
|
polyTopoChange/polyTopoChange/polyTopoChange.C
|
||||||
polyTopoChange/polyTopoChange/actions/topoAction/topoActions.C
|
polyTopoChange/polyTopoChange/actions/topoAction/topoActions.C
|
||||||
polyTopoChange/polyTopoChanger/polyTopoChanger.C
|
polyTopoChange/polyTopoChanger/polyTopoChanger.C
|
||||||
|
|
|
@ -31,10 +31,9 @@
|
||||||
# --------------------------------------------------------------------------
|
# --------------------------------------------------------------------------
|
||||||
|
|
||||||
list(APPEND SOURCES
|
list(APPEND SOURCES
|
||||||
immersedBoundaryForces.C
|
loadBalanceFvMesh/loadBalanceFvMesh.C
|
||||||
immersedBoundaryForcesFunctionObject.C
|
|
||||||
)
|
)
|
||||||
|
|
||||||
add_foam_library(immersedBoundaryForceFunctionObject SHARED ${SOURCES})
|
add_foam_library(loadBalanceFvMesh SHARED ${SOURCES})
|
||||||
|
|
||||||
target_link_libraries(immersedBoundaryForceFunctionObject immersedBoundaryTurbulence forces)
|
target_link_libraries(loadBalanceFvMesh PUBLIC decomposeReconstruct topoChangerFvMesh)
|
|
@ -32,6 +32,7 @@
|
||||||
|
|
||||||
list(APPEND SOURCES
|
list(APPEND SOURCES
|
||||||
topoChangerFvMesh/topoChangerFvMesh.C
|
topoChangerFvMesh/topoChangerFvMesh.C
|
||||||
|
topoChangerFvMesh/topoChangerFvMeshLoadBalance.C
|
||||||
attachDetachFvMesh/attachDetachFvMesh.C
|
attachDetachFvMesh/attachDetachFvMesh.C
|
||||||
linearValveFvMesh/linearValveFvMesh.C
|
linearValveFvMesh/linearValveFvMesh.C
|
||||||
linearValveLayersFvMesh/linearValveLayersFvMesh.C
|
linearValveLayersFvMesh/linearValveLayersFvMesh.C
|
||||||
|
@ -41,8 +42,16 @@ list(APPEND SOURCES
|
||||||
mixerFvMesh/mixerFvMesh.C
|
mixerFvMesh/mixerFvMesh.C
|
||||||
multiMixerFvMesh/mixerRotor.C
|
multiMixerFvMesh/mixerRotor.C
|
||||||
multiMixerFvMesh/multiMixerFvMesh.C
|
multiMixerFvMesh/multiMixerFvMesh.C
|
||||||
|
dynamicPolyRefinementFvMesh/dynamicPolyRefinementFvMesh.C
|
||||||
|
dynamicPolyRefinementFvMesh/refinementSelection/refinementSelection/refinementSelection.C
|
||||||
|
dynamicPolyRefinementFvMesh/refinementSelection/fieldBoundsRefinement/fieldBoundsRefinement.C
|
||||||
|
dynamicPolyRefinementFvMesh/refinementSelection/minCellVolumeRefinement/minCellVolumeRefinement.C
|
||||||
|
dynamicPolyRefinementFvMesh/refinementSelection/minCellSizeRefinement/minCellSizeRefinement.C
|
||||||
|
dynamicPolyRefinementFvMesh/refinementSelection/minPatchDistanceRefinement/minPatchDistanceRefinement.C
|
||||||
|
dynamicPolyRefinementFvMesh/refinementSelection/compositeRefinementSelection/compositeRefinementSelection.C
|
||||||
)
|
)
|
||||||
|
|
||||||
add_foam_library(topoChangerFvMesh SHARED ${SOURCES})
|
add_foam_library(topoChangerFvMesh SHARED ${SOURCES})
|
||||||
|
|
||||||
target_link_libraries(topoChangerFvMesh PUBLIC dynamicFvMesh)
|
target_link_libraries(topoChangerFvMesh PUBLIC dynamicFvMesh decomposeReconstruct)
|
||||||
|
|
||||||
|
|
|
@ -61,30 +61,40 @@ list(APPEND SOURCES
|
||||||
set(faPatchFields fields/faPatchFields)
|
set(faPatchFields fields/faPatchFields)
|
||||||
list(APPEND SOURCES
|
list(APPEND SOURCES
|
||||||
${faPatchFields}/faPatchField/faPatchFields.C
|
${faPatchFields}/faPatchField/faPatchFields.C
|
||||||
|
${faPatchFields}/faPatchField/faPatchVectorNFields.C
|
||||||
)
|
)
|
||||||
|
|
||||||
set(basicFaPatchFields ${faPatchFields}/basic)
|
set(basicFaPatchFields ${faPatchFields}/basic)
|
||||||
list(APPEND SOURCES
|
list(APPEND SOURCES
|
||||||
${basicFaPatchFields}/basicSymmetry/basicSymmetryFaPatchFields.C
|
|
||||||
${basicFaPatchFields}/basicSymmetry/basicSymmetryFaPatchScalarField.C
|
${basicFaPatchFields}/basicSymmetry/basicSymmetryFaPatchScalarField.C
|
||||||
${basicFaPatchFields}/calculated/calculatedFaPatchFields.C
|
${basicFaPatchFields}/calculated/calculatedFaPatchFields.C
|
||||||
|
${basicFaPatchFields}/calculated/calculatedFaPatchVectorNFields.C
|
||||||
${basicFaPatchFields}/coupled/coupledFaPatchFields.C
|
${basicFaPatchFields}/coupled/coupledFaPatchFields.C
|
||||||
|
${basicFaPatchFields}/coupled/coupledFaPatchVectorNFields.C
|
||||||
${basicFaPatchFields}/zeroGradient/zeroGradientFaPatchFields.C
|
${basicFaPatchFields}/zeroGradient/zeroGradientFaPatchFields.C
|
||||||
|
${basicFaPatchFields}/zeroGradient/zeroGradientFaPatchVectorNFields.C
|
||||||
${basicFaPatchFields}/fixedValue/fixedValueFaPatchFields.C
|
${basicFaPatchFields}/fixedValue/fixedValueFaPatchFields.C
|
||||||
|
${basicFaPatchFields}/fixedValue/fixedValueFaPatchVectorNFields.C
|
||||||
${basicFaPatchFields}/fixedGradient/fixedGradientFaPatchFields.C
|
${basicFaPatchFields}/fixedGradient/fixedGradientFaPatchFields.C
|
||||||
|
${basicFaPatchFields}/fixedGradient/fixedGradientFaPatchVectorNFields.C
|
||||||
${basicFaPatchFields}/mixed/mixedFaPatchFields.C
|
${basicFaPatchFields}/mixed/mixedFaPatchFields.C
|
||||||
${basicFaPatchFields}/transform/transformFaPatchFields.C
|
${basicFaPatchFields}/transform/transformFaPatchFields.C
|
||||||
${basicFaPatchFields}/transform/transformFaPatchScalarField.C
|
${basicFaPatchFields}/transform/transformFaPatchScalarField.C
|
||||||
|
${basicFaPatchFields}/transform/transformFaPatchVectorNFields.C
|
||||||
)
|
)
|
||||||
|
|
||||||
set(constraintFaPatchFields ${faPatchFields}/constraint)
|
set(constraintFaPatchFields ${faPatchFields}/constraint)
|
||||||
list(APPEND SOURCES
|
list(APPEND SOURCES
|
||||||
${constraintFaPatchFields}/empty/emptyFaPatchFields.C
|
${constraintFaPatchFields}/empty/emptyFaPatchFields.C
|
||||||
|
${constraintFaPatchFields}/empty/emptyFaPatchVectorNFields.C
|
||||||
${constraintFaPatchFields}/processor/processorFaPatchFields.C
|
${constraintFaPatchFields}/processor/processorFaPatchFields.C
|
||||||
${constraintFaPatchFields}/processor/processorFaPatchScalarField.C
|
${constraintFaPatchFields}/processor/processorFaPatchScalarField.C
|
||||||
|
${constraintFaPatchFields}/processor/processorFaPatchVectorNFields.C
|
||||||
${constraintFaPatchFields}/wedge/wedgeFaPatchFields.C
|
${constraintFaPatchFields}/wedge/wedgeFaPatchFields.C
|
||||||
${constraintFaPatchFields}/wedge/wedgeFaPatchScalarField.C
|
${constraintFaPatchFields}/wedge/wedgeFaPatchScalarField.C
|
||||||
|
${constraintFaPatchFields}/wedge/wedgeFaPatchVectorNFields.C
|
||||||
${constraintFaPatchFields}/cyclic/cyclicFaPatchFields.C
|
${constraintFaPatchFields}/cyclic/cyclicFaPatchFields.C
|
||||||
|
${constraintFaPatchFields}/cyclic/cyclicFaPatchVectorNFields.C
|
||||||
${constraintFaPatchFields}/symmetry/symmetryFaPatchFields.C
|
${constraintFaPatchFields}/symmetry/symmetryFaPatchFields.C
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -93,6 +103,8 @@ list(APPEND SOURCES
|
||||||
${derivedFaPatchFields}/fixedValueOutflow/fixedValueOutflowFaPatchFields.C
|
${derivedFaPatchFields}/fixedValueOutflow/fixedValueOutflowFaPatchFields.C
|
||||||
${derivedFaPatchFields}/inletOutlet/inletOutletFaPatchFields.C
|
${derivedFaPatchFields}/inletOutlet/inletOutletFaPatchFields.C
|
||||||
${derivedFaPatchFields}/slip/slipFaPatchFields.C
|
${derivedFaPatchFields}/slip/slipFaPatchFields.C
|
||||||
|
${derivedFaPatchFields}/edgeNormalFixedValue/edgeNormalFixedValueFaPatchVectorField.C
|
||||||
|
${derivedFaPatchFields}/timeVaryingUniformFixedValue/timeVaryingUniformFixedValueFaPatchFields.C
|
||||||
)
|
)
|
||||||
|
|
||||||
set(faePatchFields fields/faePatchFields)
|
set(faePatchFields fields/faePatchFields)
|
||||||
|
@ -114,8 +126,21 @@ list(APPEND SOURCES
|
||||||
${constraintFaePatchFields}/wedge/wedgeFaePatchFields.C
|
${constraintFaePatchFields}/wedge/wedgeFaePatchFields.C
|
||||||
${constraintFaePatchFields}/cyclic/cyclicFaePatchFields.C
|
${constraintFaePatchFields}/cyclic/cyclicFaePatchFields.C
|
||||||
${constraintFaePatchFields}/symmetry/symmetryFaePatchFields.C
|
${constraintFaePatchFields}/symmetry/symmetryFaePatchFields.C
|
||||||
|
)
|
||||||
|
|
||||||
|
set(faePatchVectorNFields ${faePatchFields}/faePatchVectorNFields)
|
||||||
|
list(APPEND SOURCES
|
||||||
|
${faePatchVectorNFields}/faePatchVectorNFields.C
|
||||||
|
${faePatchVectorNFields}/calculatedFaePatchVectorNFields.C
|
||||||
|
${faePatchVectorNFields}/emptyFaePatchVectorNFields.C
|
||||||
|
${faePatchVectorNFields}/wedgeFaePatchVectorNFields.C
|
||||||
|
${faePatchVectorNFields}/coupledFaePatchVectorNFields.C
|
||||||
|
${faePatchVectorNFields}/processorFaePatchVectorNFields.C
|
||||||
|
|
||||||
fields/areaFields/areaFields.C
|
fields/areaFields/areaFields.C
|
||||||
|
fields/areaFields/areaVectorNFields.C
|
||||||
fields/edgeFields/edgeFields.C
|
fields/edgeFields/edgeFields.C
|
||||||
|
fields/edgeFields/edgeVectorNFields.C
|
||||||
faMatrices/faMatrices.C
|
faMatrices/faMatrices.C
|
||||||
faMatrices/faScalarMatrix/faScalarMatrix.C
|
faMatrices/faScalarMatrix/faScalarMatrix.C
|
||||||
)
|
)
|
||||||
|
@ -148,6 +173,7 @@ list(APPEND SOURCES
|
||||||
|
|
||||||
set(divSchemes finiteArea/divSchemes)
|
set(divSchemes finiteArea/divSchemes)
|
||||||
list(APPEND SOURCES
|
list(APPEND SOURCES
|
||||||
|
finiteArea/fam/vectorFamDiv.C
|
||||||
${divSchemes}/faDivScheme/faDivSchemes.C
|
${divSchemes}/faDivScheme/faDivSchemes.C
|
||||||
${divSchemes}/gaussFaDivScheme/gaussFaDivSchemes.C
|
${divSchemes}/gaussFaDivScheme/gaussFaDivSchemes.C
|
||||||
)
|
)
|
||||||
|
@ -186,6 +212,16 @@ list(APPEND SOURCES
|
||||||
${convectionSchemes}/gaussFaConvectionScheme/gaussFaConvectionSchemes.C
|
${convectionSchemes}/gaussFaConvectionScheme/gaussFaConvectionSchemes.C
|
||||||
)
|
)
|
||||||
|
|
||||||
|
set(general cfdTools/general)
|
||||||
|
|
||||||
|
set(solutionFaControl ${general}/solutionFaControl)
|
||||||
|
list(APPEND SOURCES
|
||||||
|
${solutionFaControl}/solutionFaControl/solutionFaControl.C
|
||||||
|
${solutionFaControl}/simpleFaControl/simpleFaControl.C
|
||||||
|
${solutionFaControl}/pimpleFaControl/pimpleFaControl.C
|
||||||
|
${solutionFaControl}/pisoFaControl/pisoFaControl.C
|
||||||
|
)
|
||||||
|
|
||||||
add_foam_library(finiteArea SHARED ${SOURCES})
|
add_foam_library(finiteArea SHARED ${SOURCES})
|
||||||
|
|
||||||
target_link_libraries(finiteArea PUBLIC foam)
|
target_link_libraries(finiteArea PUBLIC foam)
|
||||||
|
|
|
@ -142,7 +142,7 @@ list(APPEND SOURCES
|
||||||
|
|
||||||
set(basicFvPatchFields ${fvPatchFields}/basic)
|
set(basicFvPatchFields ${fvPatchFields}/basic)
|
||||||
list(APPEND SOURCES
|
list(APPEND SOURCES
|
||||||
${basicFvPatchFields}/basicSymmetry/basicSymmetryFvPatchFields.C
|
# ${basicFvPatchFields}/basicSymmetry/basicSymmetryFvPatchFields.C
|
||||||
${basicFvPatchFields}/basicSymmetry/basicSymmetryFvPatchScalarField.C
|
${basicFvPatchFields}/basicSymmetry/basicSymmetryFvPatchScalarField.C
|
||||||
${basicFvPatchFields}/calculated/calculatedFvPatchFields.C
|
${basicFvPatchFields}/calculated/calculatedFvPatchFields.C
|
||||||
${basicFvPatchFields}/calculated/calculatedFvPatchVectorNFields.C
|
${basicFvPatchFields}/calculated/calculatedFvPatchVectorNFields.C
|
||||||
|
@ -178,11 +178,13 @@ list(APPEND SOURCES
|
||||||
${constraintFvPatchFields}/wedge/wedgeFvPatchFields.C
|
${constraintFvPatchFields}/wedge/wedgeFvPatchFields.C
|
||||||
${constraintFvPatchFields}/wedge/wedgeFvPatchScalarField.C
|
${constraintFvPatchFields}/wedge/wedgeFvPatchScalarField.C
|
||||||
${constraintFvPatchFields}/wedge/wedgeFvPatchVectorNFields.C
|
${constraintFvPatchFields}/wedge/wedgeFvPatchVectorNFields.C
|
||||||
|
${constraintFvPatchFields}/ggi/ggiFvPatchScalarField.C
|
||||||
${constraintFvPatchFields}/ggi/ggiFvPatchFields.C
|
${constraintFvPatchFields}/ggi/ggiFvPatchFields.C
|
||||||
${constraintFvPatchFields}/ggi/ggiFvPatchVectorNFields.C
|
${constraintFvPatchFields}/ggi/ggiFvPatchVectorNFields.C
|
||||||
${constraintFvPatchFields}/jumpGgi/jumpGgiFvPatchFields.C
|
${constraintFvPatchFields}/jumpGgi/jumpGgiFvPatchFields.C
|
||||||
${constraintFvPatchFields}/cyclicGgi/cyclicGgiFvPatchFields.C
|
${constraintFvPatchFields}/cyclicGgi/cyclicGgiFvPatchFields.C
|
||||||
${constraintFvPatchFields}/overlapGgi/overlapGgiFvPatchFields.C
|
${constraintFvPatchFields}/overlapGgi/overlapGgiFvPatchFields.C
|
||||||
|
${constraintFvPatchFields}/jumpOverlapGgi/jumpOverlapGgiFvPatchFields.C
|
||||||
${constraintFvPatchFields}/mixingPlane/mixingPlaneFvPatchFields.C
|
${constraintFvPatchFields}/mixingPlane/mixingPlaneFvPatchFields.C
|
||||||
${constraintFvPatchFields}/jumpMixingPlane/jumpMixingPlaneFvPatchFields.C
|
${constraintFvPatchFields}/jumpMixingPlane/jumpMixingPlaneFvPatchFields.C
|
||||||
${constraintFvPatchFields}/regionCoupling/regionCouplingFvPatchFields.C
|
${constraintFvPatchFields}/regionCoupling/regionCouplingFvPatchFields.C
|
||||||
|
@ -245,6 +247,9 @@ list(APPEND SOURCES
|
||||||
${derivedFvPatchFields}/uniformDensityHydrostaticPressure/uniformDensityHydrostaticPressureFvPatchScalarField.C
|
${derivedFvPatchFields}/uniformDensityHydrostaticPressure/uniformDensityHydrostaticPressureFvPatchScalarField.C
|
||||||
${derivedFvPatchFields}/pulseFixedValue/pulseFixedValueFvPatchFields.C
|
${derivedFvPatchFields}/pulseFixedValue/pulseFixedValueFvPatchFields.C
|
||||||
${derivedFvPatchFields}/waveTransmissiveInlet/waveTransmissiveInletFvPatchFields.C
|
${derivedFvPatchFields}/waveTransmissiveInlet/waveTransmissiveInletFvPatchFields.C
|
||||||
|
${derivedFvPatchFields}/noSlipWall/noSlipWallFvPatchVectorField.C
|
||||||
|
${derivedFvPatchFields}/noSlipMovingWall/noSlipMovingWallFvPatchVectorField.C
|
||||||
|
${derivedFvPatchFields}/blockSymmPlane/blockSymmPlaneFvPatchVectorField.C
|
||||||
)
|
)
|
||||||
|
|
||||||
set(fvsPatchFields fields/fvsPatchFields)
|
set(fvsPatchFields fields/fvsPatchFields)
|
||||||
|
|
|
@ -57,11 +57,16 @@ list(APPEND SOURCES
|
||||||
|
|
||||||
set(ints primitives/ints)
|
set(ints primitives/ints)
|
||||||
list(APPEND SOURCES
|
list(APPEND SOURCES
|
||||||
${ints}/int/intIO.C
|
${ints}/uint32/uint32.C
|
||||||
|
${ints}/uint32/uint32IO.C
|
||||||
|
${ints}/uint64/uint64.C
|
||||||
|
${ints}/uint64/uint64IO.C
|
||||||
${ints}/uint/uintIO.C
|
${ints}/uint/uintIO.C
|
||||||
${ints}/long/longIO.C
|
${ints}/int32/int32.C
|
||||||
${ints}/longLong/longLongIO.C
|
${ints}/int32/int32IO.C
|
||||||
${ints}/ulong/ulongIO.C
|
${ints}/int64/int64.C
|
||||||
|
${ints}/int64/int64IO.C
|
||||||
|
${ints}/int/intIO.C
|
||||||
${ints}/label/label.C
|
${ints}/label/label.C
|
||||||
${ints}/uLabel/uLabel.C
|
${ints}/uLabel/uLabel.C
|
||||||
primitives/Scalar/doubleScalar/doubleScalar.C
|
primitives/Scalar/doubleScalar/doubleScalar.C
|
||||||
|
@ -88,6 +93,9 @@ list(APPEND SOURCES
|
||||||
primitives/complex/complex.C
|
primitives/complex/complex.C
|
||||||
primitives/quaternion/quaternion.C
|
primitives/quaternion/quaternion.C
|
||||||
primitives/septernion/septernion.C
|
primitives/septernion/septernion.C
|
||||||
|
# functions, data entries
|
||||||
|
primitives/functions/Function1/makeDataEntries.C
|
||||||
|
primitives/functions/Polynomial/polynomialFunction.C
|
||||||
)
|
)
|
||||||
|
|
||||||
set(strings primitives/strings)
|
set(strings primitives/strings)
|
||||||
|
@ -98,8 +106,9 @@ list(APPEND SOURCES
|
||||||
${strings}/word/wordIO.C
|
${strings}/word/wordIO.C
|
||||||
${strings}/fileName/fileName.C
|
${strings}/fileName/fileName.C
|
||||||
${strings}/fileName/fileNameIO.C
|
${strings}/fileName/fileNameIO.C
|
||||||
${strings}/keyType/keyTypeIO.C
|
${strings}/keyType/keyType.C
|
||||||
${strings}/wordRe/wordReIO.C
|
${strings}/wordRe/wordRe.C
|
||||||
|
${strings}/stringOps/stringOps.C
|
||||||
primitives/hashes/Hasher/Hasher.C
|
primitives/hashes/Hasher/Hasher.C
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -122,8 +131,8 @@ list(APPEND SOURCES
|
||||||
primitives/random/Random.C
|
primitives/random/Random.C
|
||||||
containers/HashTables/HashTable/HashTableCore.C
|
containers/HashTables/HashTable/HashTableCore.C
|
||||||
containers/HashTables/StaticHashTable/StaticHashTableCore.C
|
containers/HashTables/StaticHashTable/StaticHashTableCore.C
|
||||||
containers/Lists/SortableList/ParSortableListName.C
|
# containers/Lists/SortableList/ParSortableListName.C
|
||||||
containers/Lists/PackedList/PackedListName.C
|
# containers/Lists/PackedList/PackedListName.C
|
||||||
containers/Lists/ListOps/ListOps.C
|
containers/Lists/ListOps/ListOps.C
|
||||||
containers/LinkedLists/linkTypes/SLListBase/SLListBase.C
|
containers/LinkedLists/linkTypes/SLListBase/SLListBase.C
|
||||||
containers/LinkedLists/linkTypes/DLListBase/DLListBase.C
|
containers/LinkedLists/linkTypes/DLListBase/DLListBase.C
|
||||||
|
@ -143,6 +152,8 @@ list(APPEND SOURCES
|
||||||
${primitiveLists}/tensorList.C
|
${primitiveLists}/tensorList.C
|
||||||
${primitiveLists}/VectorNLists.C
|
${primitiveLists}/VectorNLists.C
|
||||||
${primitiveLists}/wordIOList.C
|
${primitiveLists}/wordIOList.C
|
||||||
|
${primitiveLists}/hashedWordList.C
|
||||||
|
${primitiveLists}/PackedBoolList.C
|
||||||
)
|
)
|
||||||
|
|
||||||
set(Streams db/IOstreams)
|
set(Streams db/IOstreams)
|
||||||
|
@ -190,13 +201,13 @@ list(APPEND SOURCES
|
||||||
set(Pstreams ${Streams}/Pstreams)
|
set(Pstreams ${Streams}/Pstreams)
|
||||||
list(APPEND SOURCES
|
list(APPEND SOURCES
|
||||||
${Pstreams}/Pstream.C
|
${Pstreams}/Pstream.C
|
||||||
|
${Pstreams}/PstreamReduceOps.C
|
||||||
${Pstreams}/PstreamCommsStruct.C
|
${Pstreams}/PstreamCommsStruct.C
|
||||||
${Pstreams}/PstreamGlobals.C
|
${Pstreams}/PstreamGlobals.C
|
||||||
${Pstreams}/IPstream.C
|
${Pstreams}/IPstream.C
|
||||||
${Pstreams}/OPstream.C
|
${Pstreams}/OPstream.C
|
||||||
${Pstreams}/IPread.C
|
${Pstreams}/IPread.C
|
||||||
${Pstreams}/OPwrite.C
|
${Pstreams}/OPwrite.C
|
||||||
${Pstreams}/PstreamsPrint.C
|
|
||||||
)
|
)
|
||||||
|
|
||||||
set(dictionary db/dictionary)
|
set(dictionary db/dictionary)
|
||||||
|
@ -225,8 +236,11 @@ list(APPEND SOURCES
|
||||||
|
|
||||||
set(functionEntries ${dictionary}/functionEntries)
|
set(functionEntries ${dictionary}/functionEntries)
|
||||||
list(APPEND SOURCES
|
list(APPEND SOURCES
|
||||||
|
${functionEntries}/calcEntry/calcEntry.C
|
||||||
|
${functionEntries}/codeStream/codeStream.C
|
||||||
${functionEntries}/functionEntry/functionEntry.C
|
${functionEntries}/functionEntry/functionEntry.C
|
||||||
${functionEntries}/includeEntry/includeEntry.C
|
${functionEntries}/includeEntry/includeEntry.C
|
||||||
|
${functionEntries}/includeEtcEntry/includeEtcEntry.C
|
||||||
${functionEntries}/includeIfPresentEntry/includeIfPresentEntry.C
|
${functionEntries}/includeIfPresentEntry/includeIfPresentEntry.C
|
||||||
${functionEntries}/inputModeEntry/inputModeEntry.C
|
${functionEntries}/inputModeEntry/inputModeEntry.C
|
||||||
${functionEntries}/removeEntry/removeEntry.C
|
${functionEntries}/removeEntry/removeEntry.C
|
||||||
|
@ -256,12 +270,20 @@ list(APPEND SOURCES
|
||||||
db/objectRegistry/objectRegistry.C
|
db/objectRegistry/objectRegistry.C
|
||||||
db/postfixedSubRegistry/postfixedSubRegistry.C
|
db/postfixedSubRegistry/postfixedSubRegistry.C
|
||||||
db/CallbackRegistry/CallbackRegistryName.C
|
db/CallbackRegistry/CallbackRegistryName.C
|
||||||
db/dlLibraryTable/dlLibraryTable.C
|
|
||||||
db/functionObjects/functionObject/functionObject.C
|
db/functionObjects/functionObject/functionObject.C
|
||||||
db/functionObjects/functionObjectList/functionObjectList.C
|
db/functionObjects/functionObjectList/functionObjectList.C
|
||||||
|
db/functionObjects/functionObjectFile/functionObjectFile.C
|
||||||
db/functionObjects/outputFilterOutputControl/outputFilterOutputControl.C
|
db/functionObjects/outputFilterOutputControl/outputFilterOutputControl.C
|
||||||
)
|
)
|
||||||
|
|
||||||
|
set(dll db/dynamicLibrary)
|
||||||
|
list(APPEND SOURCES
|
||||||
|
${dll}/dlLibraryTable/dlLibraryTable.C
|
||||||
|
${dll}/dynamicCode/dynamicCode.C
|
||||||
|
${dll}/dynamicCode/dynamicCodeContext.C
|
||||||
|
${dll}/codedBase/codedBase.C
|
||||||
|
)
|
||||||
|
|
||||||
set(Time db/Time)
|
set(Time db/Time)
|
||||||
list(APPEND SOURCES
|
list(APPEND SOURCES
|
||||||
${Time}/TimePaths.C
|
${Time}/TimePaths.C
|
||||||
|
@ -303,6 +325,12 @@ list(APPEND SOURCES
|
||||||
${LUscalarMatrix}/procLduInterface.C
|
${LUscalarMatrix}/procLduInterface.C
|
||||||
)
|
)
|
||||||
|
|
||||||
|
set(crMatrix matrices/crMatrix)
|
||||||
|
list(APPEND SOURCES
|
||||||
|
${crMatrix}/crAddressing.C
|
||||||
|
${crMatrix}/crMatrix.C
|
||||||
|
)
|
||||||
|
|
||||||
set(lduMatrix matrices/lduMatrix)
|
set(lduMatrix matrices/lduMatrix)
|
||||||
list(APPEND SOURCES
|
list(APPEND SOURCES
|
||||||
${lduMatrix}/lduMatrix/lduMatrix.C
|
${lduMatrix}/lduMatrix/lduMatrix.C
|
||||||
|
@ -368,7 +396,7 @@ list(APPEND SOURCES
|
||||||
${AMG}/GAMGSolverSolve.C
|
${AMG}/GAMGSolverSolve.C
|
||||||
)
|
)
|
||||||
|
|
||||||
set(AMGInterfaces ${AMG}/interfaces)
|
set(AMGInterfaces ${AMG}/interfaces/AMGInterfaces)
|
||||||
list(APPEND SOURCES
|
list(APPEND SOURCES
|
||||||
${AMGInterfaces}/AMGInterface/AMGInterface.C
|
${AMGInterfaces}/AMGInterface/AMGInterface.C
|
||||||
${AMGInterfaces}/AMGInterface/newAMGInterface.C
|
${AMGInterfaces}/AMGInterface/newAMGInterface.C
|
||||||
|
@ -380,7 +408,15 @@ list(APPEND SOURCES
|
||||||
${AMGInterfaces}/mixingPlaneAMGInterface/mixingPlaneAMGInterface.C
|
${AMGInterfaces}/mixingPlaneAMGInterface/mixingPlaneAMGInterface.C
|
||||||
)
|
)
|
||||||
|
|
||||||
set(AMGInterfaceFields ${AMG}/interfaceFields)
|
set(SAMGInterfaces ${AMG}/interfaces/SAMGInterfaces)
|
||||||
|
list(APPEND SOURCES
|
||||||
|
${SAMGInterfaces}/SAMGInterface/SAMGInterface.C
|
||||||
|
${SAMGInterfaces}/SAMGInterface/newSAMGInterface.C
|
||||||
|
${SAMGInterfaces}/processorSAMGInterface/processorSAMGInterface.C
|
||||||
|
${SAMGInterfaces}/ggiSAMGInterface/ggiSAMGInterface.C
|
||||||
|
)
|
||||||
|
|
||||||
|
set(AMGInterfaceFields ${AMG}/interfaceFields/AMGInterfaceFields)
|
||||||
list(APPEND SOURCES
|
list(APPEND SOURCES
|
||||||
${AMGInterfaceFields}/AMGInterfaceField/AMGInterfaceField.C
|
${AMGInterfaceFields}/AMGInterfaceField/AMGInterfaceField.C
|
||||||
${AMGInterfaceFields}/AMGInterfaceField/newAMGInterfaceField.C
|
${AMGInterfaceFields}/AMGInterfaceField/newAMGInterfaceField.C
|
||||||
|
@ -392,6 +428,14 @@ list(APPEND SOURCES
|
||||||
${AMGInterfaceFields}/mixingPlaneAMGInterfaceField/mixingPlaneAMGInterfaceField.C
|
${AMGInterfaceFields}/mixingPlaneAMGInterfaceField/mixingPlaneAMGInterfaceField.C
|
||||||
)
|
)
|
||||||
|
|
||||||
|
set(SAMGInterfaceFields ${AMG}/interfaceFields/SAMGInterfaceFields)
|
||||||
|
list(APPEND SOURCES
|
||||||
|
${SAMGInterfaceFields}/SAMGInterfaceField/SAMGInterfaceField.C
|
||||||
|
${SAMGInterfaceFields}/SAMGInterfaceField/newSAMGInterfaceField.C
|
||||||
|
${SAMGInterfaceFields}/processorSAMGInterfaceField/processorSAMGInterfaceField.C
|
||||||
|
${SAMGInterfaceFields}/ggiSAMGInterfaceField/ggiSAMGInterfaceField.C
|
||||||
|
)
|
||||||
|
|
||||||
set(AMGAgglomerations ${AMG}/AMGAgglomerations)
|
set(AMGAgglomerations ${AMG}/AMGAgglomerations)
|
||||||
|
|
||||||
set(GAMGAgglomeration ${AMGAgglomerations}/GAMGAgglomeration)
|
set(GAMGAgglomeration ${AMGAgglomerations}/GAMGAgglomeration)
|
||||||
|
@ -517,6 +561,7 @@ list(APPEND SOURCES
|
||||||
${globalMeshData}/globalMeshData.C
|
${globalMeshData}/globalMeshData.C
|
||||||
${globalMeshData}/globalPoints.C
|
${globalMeshData}/globalPoints.C
|
||||||
${globalMeshData}/globalIndex.C
|
${globalMeshData}/globalIndex.C
|
||||||
|
${globalMeshData}/globalProcFaceIndex.C
|
||||||
${polyMesh}/syncTools/syncTools.C
|
${polyMesh}/syncTools/syncTools.C
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -748,6 +793,19 @@ list(APPEND SOURCES
|
||||||
${interpolations}/RBFInterpolation/RBFFunctions/Gauss/Gauss.C
|
${interpolations}/RBFInterpolation/RBFFunctions/Gauss/Gauss.C
|
||||||
${interpolations}/RBFInterpolation/RBFFunctions/TPS/TPS.C
|
${interpolations}/RBFInterpolation/RBFFunctions/TPS/TPS.C
|
||||||
${interpolations}/RBFInterpolation/RBFFunctions/IMQB/IMQB.C
|
${interpolations}/RBFInterpolation/RBFFunctions/IMQB/IMQB.C
|
||||||
|
${interpolations}/interpolationTable/tableReaders/tableReaders.C
|
||||||
|
${interpolations}/interpolationTable/tableReaders/openFoam/openFoamTableReaders.C
|
||||||
|
${interpolations}/interpolationTable/tableReaders/csv/csvTableReaders.C
|
||||||
|
)
|
||||||
|
|
||||||
|
set(interpolationWeights ${interpolations}/interpolationWeights)
|
||||||
|
list(APPEND SOURCES
|
||||||
|
${interpolationWeights}/interpolationWeights/interpolationWeights.C
|
||||||
|
${interpolationWeights}/linearInterpolationWeights/linearInterpolationWeights.C
|
||||||
|
${interpolationWeights}/splineInterpolationWeights/splineInterpolationWeights.C
|
||||||
|
)
|
||||||
|
|
||||||
|
list(APPEND SOURCES
|
||||||
algorithms/MeshWave/MeshWaveName.C
|
algorithms/MeshWave/MeshWaveName.C
|
||||||
algorithms/MeshWave/FaceCellWaveName.C
|
algorithms/MeshWave/FaceCellWaveName.C
|
||||||
algorithms/polygon/clipping/SutherlandHodgman.C
|
algorithms/polygon/clipping/SutherlandHodgman.C
|
||||||
|
@ -849,10 +907,19 @@ list(APPEND SOURCES
|
||||||
${BlockAMGInterfaceFields}/GGIBlockAMGInterfaceField/GGIBlockAMGInterfaceFields.C
|
${BlockAMGInterfaceFields}/GGIBlockAMGInterfaceField/GGIBlockAMGInterfaceFields.C
|
||||||
)
|
)
|
||||||
|
|
||||||
|
set(BlockSAMGInterfaceFields ${BlockAMG}/BlockSAMGInterfaceFields)
|
||||||
|
list(APPEND SOURCES
|
||||||
|
${BlockSAMGInterfaceFields}/BlockSAMGInterfaceField/blockSAMGInterfaceFields.C
|
||||||
|
${BlockSAMGInterfaceFields}/BlockSAMGInterfaceField/blockVectorNSAMGInterfaceFields.C
|
||||||
|
${BlockSAMGInterfaceFields}/ProcessorBlockSAMGInterfaceField/ProcessorBlockSAMGInterfaceFields.C
|
||||||
|
${BlockSAMGInterfaceFields}/GGIBlockSAMGInterfaceField/GGIBlockSAMGInterfaceFields.C
|
||||||
|
)
|
||||||
|
|
||||||
set(BlockMatrixCoarsening ${BlockAMG}/BlockMatrixCoarsening)
|
set(BlockMatrixCoarsening ${BlockAMG}/BlockMatrixCoarsening)
|
||||||
list(APPEND SOURCES
|
list(APPEND SOURCES
|
||||||
${BlockMatrixCoarsening}/BlockMatrixCoarsening/blockMatrixCoarsenings.C
|
${BlockMatrixCoarsening}/BlockMatrixCoarsening/blockMatrixCoarsenings.C
|
||||||
${BlockMatrixCoarsening}/BlockMatrixAgglomeration/blockMatrixAgglomerations.C
|
${BlockMatrixCoarsening}/BlockMatrixClustering/blockMatrixClusterings.C
|
||||||
|
${BlockMatrixCoarsening}/BlockMatrixSelection/blockMatrixSelections.C
|
||||||
)
|
)
|
||||||
|
|
||||||
set(BlockLduPrecons matrices/blockLduMatrix/BlockLduPrecons)
|
set(BlockLduPrecons matrices/blockLduMatrix/BlockLduPrecons)
|
||||||
|
@ -869,6 +936,9 @@ list(APPEND SOURCES
|
||||||
${BlockLduPrecons}/BlockCholeskyPrecon/tensorBlockCholeskyPrecon.C
|
${BlockLduPrecons}/BlockCholeskyPrecon/tensorBlockCholeskyPrecon.C
|
||||||
${BlockLduPrecons}/BlockCholeskyPrecon/blockCholeskyPrecons.C
|
${BlockLduPrecons}/BlockCholeskyPrecon/blockCholeskyPrecons.C
|
||||||
${BlockLduPrecons}/BlockAMGPrecon/blockAMGPrecons.C
|
${BlockLduPrecons}/BlockAMGPrecon/blockAMGPrecons.C
|
||||||
|
${BlockLduPrecons}/BlockILUC0Precon/scalarBlockILUC0Precon.C
|
||||||
|
${BlockLduPrecons}/BlockILUC0Precon/tensorBlockILUC0Precon.C
|
||||||
|
${BlockLduPrecons}/BlockILUC0Precon/blockILUC0Precons.C
|
||||||
${BlockLduPrecons}/BlockILUCpPrecon/scalarBlockILUCpPrecon.C
|
${BlockLduPrecons}/BlockILUCpPrecon/scalarBlockILUCpPrecon.C
|
||||||
${BlockLduPrecons}/BlockILUCpPrecon/tensorBlockILUCpPrecon.C
|
${BlockLduPrecons}/BlockILUCpPrecon/tensorBlockILUCpPrecon.C
|
||||||
${BlockLduPrecons}/BlockILUCpPrecon/blockILUCpPrecons.C
|
${BlockLduPrecons}/BlockILUCpPrecon/blockILUCpPrecons.C
|
||||||
|
@ -879,6 +949,7 @@ list(APPEND SOURCES
|
||||||
${BlockLduSmoothers}/BlockLduSmoother/blockLduSmoothers.C
|
${BlockLduSmoothers}/BlockLduSmoother/blockLduSmoothers.C
|
||||||
${BlockLduSmoothers}/BlockGaussSeidelSmoother/blockGaussSeidelSmoothers.C
|
${BlockLduSmoothers}/BlockGaussSeidelSmoother/blockGaussSeidelSmoothers.C
|
||||||
${BlockLduSmoothers}/BlockILUSmoother/blockILUSmoothers.C
|
${BlockLduSmoothers}/BlockILUSmoother/blockILUSmoothers.C
|
||||||
|
${BlockLduSmoothers}/BlockILUC0Smoother/blockILUC0Smoothers.C
|
||||||
${BlockLduSmoothers}/BlockILUCpSmoother/blockILUCpSmoothers.C
|
${BlockLduSmoothers}/BlockILUCpSmoother/blockILUCpSmoothers.C
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -888,6 +959,7 @@ list(APPEND SOURCES
|
||||||
${BlockLduSolvers}/BlockLduSolver/blockLduSolvers.C
|
${BlockLduSolvers}/BlockLduSolver/blockLduSolvers.C
|
||||||
${BlockLduSolvers}/BlockDiagonal/blockDiagonalSolvers.C
|
${BlockLduSolvers}/BlockDiagonal/blockDiagonalSolvers.C
|
||||||
${BlockLduSolvers}/BlockGaussSeidel/blockGaussSeidelSolvers.C
|
${BlockLduSolvers}/BlockGaussSeidel/blockGaussSeidelSolvers.C
|
||||||
|
${BlockLduSolvers}/BlockILU/blockILUSolvers.C
|
||||||
${BlockLduSolvers}/BlockCG/blockCGSolvers.C
|
${BlockLduSolvers}/BlockCG/blockCGSolvers.C
|
||||||
${BlockLduSolvers}/BlockBiCGStab/blockBiCGStabSolvers.C
|
${BlockLduSolvers}/BlockBiCGStab/blockBiCGStabSolvers.C
|
||||||
${BlockLduSolvers}/BlockGMRES/blockGMRESSolvers.C
|
${BlockLduSolvers}/BlockGMRES/blockGMRESSolvers.C
|
||||||
|
@ -897,5 +969,5 @@ list(APPEND SOURCES
|
||||||
|
|
||||||
add_foam_library(foam SHARED ${SOURCES})
|
add_foam_library(foam SHARED ${SOURCES})
|
||||||
|
|
||||||
target_link_libraries(foam OSspecific mpi ZLIB::ZLIB)
|
target_link_libraries(foam PUBLIC OSspecific mpi ZLIB::ZLIB)
|
||||||
add_dependencies(foam getGitVersion)
|
add_dependencies(foam getGitVersion)
|
||||||
|
|
|
@ -1,80 +0,0 @@
|
||||||
/*-------------------------------*- C++ -*-----------------------------------*\
|
|
||||||
========= |
|
|
||||||
\\ / F ield | foam-extend: Open Source CFD
|
|
||||||
\\ / O peration | Version: 3.2
|
|
||||||
\\ / A nd | Web: http://www.foam-extend.org
|
|
||||||
\\/ M anipulation | For copyright notice see file Copyright
|
|
||||||
-------------------------------------------------------------------------------
|
|
||||||
License
|
|
||||||
This file is part of foam-extend.
|
|
||||||
|
|
||||||
foam-extend 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.
|
|
||||||
|
|
||||||
foam-extend 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 foam-extend. If not, see <http://www.gnu.org/licenses/>.
|
|
||||||
|
|
||||||
Description
|
|
||||||
Define the globals used in the OpenFOAM library.
|
|
||||||
It is important that these are constructed in the appropriate order to
|
|
||||||
avoid the use of unconstructed data in the global namespace.
|
|
||||||
|
|
||||||
This file has the extension .Cver to trigger a Makefile rule that converts
|
|
||||||
'VERSION\_STRING' and 'BUILD\_STRING' into the appropriate strings.
|
|
||||||
|
|
||||||
\*---------------------------------------------------------------------------*/
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
#include "foamVersion.H"
|
|
||||||
|
|
||||||
const char* const Foam::FOAMversion = "v4.0-4-a743de9-dirty";
|
|
||||||
const char* const Foam::FOAMbuild = "4.0";
|
|
||||||
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
|
||||||
// Setup an error handler for the global new operator
|
|
||||||
|
|
||||||
#include "new.C"
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
|
||||||
// Global IO streams
|
|
||||||
|
|
||||||
#include "IOstreams.C"
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
#include "JobInfo.H"
|
|
||||||
bool Foam::JobInfo::constructed = false;
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
|
||||||
// Global error definitions (initialised by construction)
|
|
||||||
|
|
||||||
#include "messageStream.C"
|
|
||||||
#include "error.C"
|
|
||||||
#include "IOerror.C"
|
|
||||||
#include "token.C"
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
|
||||||
// Read the debug and info switches
|
|
||||||
|
|
||||||
#include "debug.C"
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
|
||||||
// Read and set cell models
|
|
||||||
|
|
||||||
#include "globalCellModeller.C"
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
|
||||||
// Create the jobInfo file in the $FOAM_JOB_DIR/runningJobs directory
|
|
||||||
|
|
||||||
#include "JobInfo.C"
|
|
||||||
|
|
||||||
// ************************************************************************* //
|
|
|
@ -44,6 +44,11 @@ const char* const Foam::FOAMbuild = "@FOAM_VERSION@";
|
||||||
|
|
||||||
#include "new.C"
|
#include "new.C"
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
// Create the nullObject singleton
|
||||||
|
|
||||||
|
#include "nullObject.C"
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
// Global IO streams
|
// Global IO streams
|
||||||
|
|
||||||
|
@ -52,7 +57,7 @@ const char* const Foam::FOAMbuild = "@FOAM_VERSION@";
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
#include "JobInfo.H"
|
#include "JobInfo.H"
|
||||||
bool Foam::JobInfo::constructed = false;
|
bool Foam::JobInfo::constructed(false);
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
// Global error definitions (initialised by construction)
|
// Global error definitions (initialised by construction)
|
||||||
|
|
|
@ -31,3 +31,4 @@
|
||||||
# --------------------------------------------------------------------------
|
# --------------------------------------------------------------------------
|
||||||
|
|
||||||
add_subdirectory(MGridGenGamgAgglomeration)
|
add_subdirectory(MGridGenGamgAgglomeration)
|
||||||
|
add_subdirectory(pairPatchAgglomeration)
|
||||||
|
|
|
@ -37,4 +37,4 @@ list(APPEND SOURCES
|
||||||
|
|
||||||
add_foam_library(MGridGenGAMGAgglomeration SHARED ${SOURCES})
|
add_foam_library(MGridGenGAMGAgglomeration SHARED ${SOURCES})
|
||||||
|
|
||||||
target_link_libraries(MGridGenGAMGAgglomeration finiteVolume parmgridgen)
|
target_link_libraries(MGridGenGAMGAgglomeration PUBLIC finiteVolume parmgridgen)
|
||||||
|
|
|
@ -0,0 +1,39 @@
|
||||||
|
# --------------------------------------------------------------------------
|
||||||
|
# ======== |
|
||||||
|
# \ / F ield | foam-extend: Open Source CFD
|
||||||
|
# \ / O peration | Version: 4.1
|
||||||
|
# \ / A nd | Web: http://www.foam-extend.org
|
||||||
|
# \/ M anipulation | For copyright notice see file Copyright
|
||||||
|
# --------------------------------------------------------------------------
|
||||||
|
# License
|
||||||
|
# This file is part of foam-extend.
|
||||||
|
#
|
||||||
|
# foam-extend 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.
|
||||||
|
#
|
||||||
|
# foam-extend 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 foam-extend. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
#
|
||||||
|
# Description
|
||||||
|
# CMakeLists.txt file for libraries and applications
|
||||||
|
#
|
||||||
|
# Author
|
||||||
|
# Henrik Rusche, Wikki GmbH, 2017. All rights reserved
|
||||||
|
#
|
||||||
|
#
|
||||||
|
# --------------------------------------------------------------------------
|
||||||
|
|
||||||
|
list(APPEND SOURCES
|
||||||
|
pairPatchAgglomeration.C
|
||||||
|
)
|
||||||
|
|
||||||
|
add_foam_library(pairPatchAgglomeration SHARED ${SOURCES})
|
||||||
|
|
||||||
|
target_link_libraries(pairPatchAgglomeration PUBLIC foam)
|
|
@ -30,7 +30,5 @@
|
||||||
#
|
#
|
||||||
# --------------------------------------------------------------------------
|
# --------------------------------------------------------------------------
|
||||||
|
|
||||||
add_subdirectory(immersedBoundaryForce)
|
|
||||||
add_subdirectory(immersedBoundary)
|
add_subdirectory(immersedBoundary)
|
||||||
add_subdirectory(immersedBoundaryTurbulence)
|
|
||||||
add_subdirectory(immersedBoundaryDynamicMesh)
|
add_subdirectory(immersedBoundaryDynamicMesh)
|
|
@ -31,17 +31,14 @@
|
||||||
# --------------------------------------------------------------------------
|
# --------------------------------------------------------------------------
|
||||||
|
|
||||||
list(APPEND SOURCES
|
list(APPEND SOURCES
|
||||||
|
immersedPoly/immersedPoly.C
|
||||||
|
immersedPoly/distanceFunctions/triSurfaceDistance/triSurfaceDistance.C
|
||||||
immersedBoundaryPolyPatch/immersedBoundaryPolyPatch.C
|
immersedBoundaryPolyPatch/immersedBoundaryPolyPatch.C
|
||||||
immersedBoundaryPointPatch/immersedBoundaryPointPatch.C
|
immersedBoundaryPointPatch/immersedBoundaryPointPatch.C
|
||||||
immersedBoundaryFvPatch/immersedBoundaryFvPatch.C
|
immersedBoundaryFvPatch/immersedBoundaryFvPatch.C
|
||||||
immersedBoundaryFvPatch/immersedBoundaryFvPatchLeastSquaresFit.C
|
|
||||||
immersedBoundaryFvPatch/immersedBoundaryFvPatchSamplingWeights.C
|
|
||||||
immersedBoundaryFvPatch/immersedBoundaryFvPatchTriAddressing.C
|
|
||||||
immersedBoundaryFvPatchField/immersedBoundaryFvPatchFields.C
|
immersedBoundaryFvPatchField/immersedBoundaryFvPatchFields.C
|
||||||
immersedBoundaryFvsPatchField/immersedBoundaryFvsPatchFields.C
|
mixedIbFvPatchField/mixedIbFvPatchFields.C
|
||||||
immersedBoundaryAdjustPhi/immersedBoundaryAdjustPhi.C
|
movingImmersedBoundaryVelocity/movingImmersedBoundaryVelocityFvPatchVectorField.C
|
||||||
refineImmersedBoundaryMesh/refineImmersedBoundaryMesh.C
|
|
||||||
ibSwirlFlowRateInletVelocity/ibSwirlFlowRateInletVelocityFvPatchVectorField.C
|
|
||||||
)
|
)
|
||||||
|
|
||||||
add_foam_library(immersedBoundary SHARED ${SOURCES})
|
add_foam_library(immersedBoundary SHARED ${SOURCES})
|
||||||
|
|
|
@ -32,9 +32,12 @@
|
||||||
|
|
||||||
list(APPEND SOURCES
|
list(APPEND SOURCES
|
||||||
movingImmersedBoundary/movingImmersedBoundary.C
|
movingImmersedBoundary/movingImmersedBoundary.C
|
||||||
|
refineImmersedBoundaryMesh/refineImmersedBoundaryMesh.C
|
||||||
immersedBoundarySolidBodyMotionFvMesh/immersedBoundarySolidBodyMotionFvMesh.C
|
immersedBoundarySolidBodyMotionFvMesh/immersedBoundarySolidBodyMotionFvMesh.C
|
||||||
|
immersedBoundaryRefinement/immersedBoundaryRefinement.C
|
||||||
|
immersedBoundaryDynamicRefineSolidBodyMotionFvMesh/immersedBoundaryDynamicRefineSolidBodyMotionFvMesh.C
|
||||||
)
|
)
|
||||||
|
|
||||||
add_foam_library(immersedBoundaryDynamicFvMesh SHARED ${SOURCES})
|
add_foam_library(immersedBoundaryDynamicMesh SHARED ${SOURCES})
|
||||||
|
|
||||||
target_link_libraries(immersedBoundaryDynamicFvMesh PUBLIC immersedBoundary dynamicFvMesh solidBodyMotion)
|
target_link_libraries(immersedBoundaryDynamicMesh PUBLIC immersedBoundary topoChangerFvMesh solidBodyMotion)
|
||||||
|
|
|
@ -1,42 +0,0 @@
|
||||||
# --------------------------------------------------------------------------
|
|
||||||
# ======== |
|
|
||||||
# \ / F ield | foam-extend: Open Source CFD
|
|
||||||
# \ / O peration | Version: 4.1
|
|
||||||
# \ / A nd | Web: http://www.foam-extend.org
|
|
||||||
# \/ M anipulation | For copyright notice see file Copyright
|
|
||||||
# --------------------------------------------------------------------------
|
|
||||||
# License
|
|
||||||
# This file is part of foam-extend.
|
|
||||||
#
|
|
||||||
# foam-extend 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.
|
|
||||||
#
|
|
||||||
# foam-extend 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 foam-extend. If not, see <http://www.gnu.org/licenses/>.
|
|
||||||
#
|
|
||||||
# Description
|
|
||||||
# CMakeLists.txt file for libraries and applications
|
|
||||||
#
|
|
||||||
# Author
|
|
||||||
# Henrik Rusche, Wikki GmbH, 2017. All rights reserved
|
|
||||||
#
|
|
||||||
#
|
|
||||||
# --------------------------------------------------------------------------
|
|
||||||
|
|
||||||
list(APPEND SOURCES
|
|
||||||
wallFunctions/immersedBoundaryWallFunctions/immersedBoundaryWallFunctionFvPatchFields.C
|
|
||||||
wallFunctions/immersedBoundaryEpsilonWallFunctions/immersedBoundaryEpsilonWallFunctionFvPatchScalarField.C
|
|
||||||
wallFunctions/immersedBoundaryOmegaWallFunctions/immersedBoundaryOmegaWallFunctionFvPatchScalarField.C
|
|
||||||
wallFunctions/immersedBoundaryVelocityWallFunctions/immersedBoundaryVelocityWallFunctionFvPatchVectorField.C
|
|
||||||
)
|
|
||||||
|
|
||||||
add_foam_library(immersedBoundaryTurbulence SHARED ${SOURCES})
|
|
||||||
|
|
||||||
target_link_libraries(immersedBoundaryTurbulence immersedBoundary incompressibleRASModels incompressibleLESModels)
|
|
|
@ -1,6 +0,0 @@
|
||||||
wallFunctions/immersedBoundaryWallFunctions/immersedBoundaryWallFunctionFvPatchFields.C
|
|
||||||
wallFunctions/immersedBoundaryEpsilonWallFunctions/immersedBoundaryEpsilonWallFunctionFvPatchScalarField.C
|
|
||||||
wallFunctions/immersedBoundaryOmegaWallFunctions/immersedBoundaryOmegaWallFunctionFvPatchScalarField.C
|
|
||||||
wallFunctions/immersedBoundaryVelocityWallFunctions/immersedBoundaryVelocityWallFunctionFvPatchVectorField.C
|
|
||||||
|
|
||||||
LIB = $(FOAM_LIBBIN)/libimmersedBoundaryTurbulence
|
|
|
@ -1,24 +0,0 @@
|
||||||
EXE_INC = \
|
|
||||||
-IlnInclude \
|
|
||||||
-I../immersedBoundary/lnInclude \
|
|
||||||
-I$(LIB_SRC)/finiteVolume/lnInclude \
|
|
||||||
-I$(LIB_SRC)/turbulenceModels \
|
|
||||||
-I$(LIB_SRC)/turbulenceModels/incompressible/RAS/RASModel \
|
|
||||||
-I$(LIB_SRC)/transportModels \
|
|
||||||
-I$(LIB_SRC)/transportModels/incompressible/singlePhaseTransportModel \
|
|
||||||
-I$(LIB_SRC)/meshTools/lnInclude \
|
|
||||||
-I$(LIB_SRC)/surfMesh/lnInclude \
|
|
||||||
-I$(LIB_SRC)/sampling/lnInclude \
|
|
||||||
-I$(LIB_SRC)/dynamicMesh/dynamicMesh/lnInclude
|
|
||||||
|
|
||||||
LIB_LIBS = \
|
|
||||||
-limmersedBoundary \
|
|
||||||
-lfiniteVolume \
|
|
||||||
-lincompressibleTurbulenceModel \
|
|
||||||
-lincompressibleRASModels \
|
|
||||||
-lincompressibleLESModels \
|
|
||||||
-lincompressibleTransportModels \
|
|
||||||
-lmeshTools \
|
|
||||||
-lsurfMesh \
|
|
||||||
-lsampling \
|
|
||||||
-ldynamicMesh
|
|
|
@ -1,393 +0,0 @@
|
||||||
/*---------------------------------------------------------------------------*\
|
|
||||||
========= |
|
|
||||||
\\ / F ield | foam-extend: Open Source CFD
|
|
||||||
\\ / O peration | Version: 4.0
|
|
||||||
\\ / A nd | Web: http://www.foam-extend.org
|
|
||||||
\\/ M anipulation | For copyright notice see file Copyright
|
|
||||||
-------------------------------------------------------------------------------
|
|
||||||
License
|
|
||||||
This file is part of foam-extend.
|
|
||||||
|
|
||||||
foam-extend 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.
|
|
||||||
|
|
||||||
foam-extend 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 foam-extend. If not, see <http://www.gnu.org/licenses/>.
|
|
||||||
|
|
||||||
\*---------------------------------------------------------------------------*/
|
|
||||||
|
|
||||||
#include "immersedBoundaryEpsilonWallFunctionFvPatchScalarField.H"
|
|
||||||
#include "immersedBoundaryVelocityWallFunctionFvPatchVectorField.H"
|
|
||||||
#include "RASModel.H"
|
|
||||||
#include "fvPatchFieldMapper.H"
|
|
||||||
#include "volFields.H"
|
|
||||||
#include "addToRunTimeSelectionTable.H"
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
namespace Foam
|
|
||||||
{
|
|
||||||
namespace incompressible
|
|
||||||
{
|
|
||||||
namespace RASModels
|
|
||||||
{
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
immersedBoundaryEpsilonWallFunctionFvPatchScalarField::
|
|
||||||
immersedBoundaryEpsilonWallFunctionFvPatchScalarField
|
|
||||||
(
|
|
||||||
const fvPatch& p,
|
|
||||||
const DimensionedField<scalar, volMesh>& iF
|
|
||||||
)
|
|
||||||
:
|
|
||||||
immersedBoundaryWallFunctionFvPatchScalarField(p, iF),
|
|
||||||
UName_("U"),
|
|
||||||
kName_("k"),
|
|
||||||
GName_("RASModel::G"),
|
|
||||||
nuName_("nu"),
|
|
||||||
nutName_("nut"),
|
|
||||||
Cmu_(0.09),
|
|
||||||
kappa_(0.41),
|
|
||||||
E_(9.8)
|
|
||||||
{}
|
|
||||||
|
|
||||||
|
|
||||||
immersedBoundaryEpsilonWallFunctionFvPatchScalarField::
|
|
||||||
immersedBoundaryEpsilonWallFunctionFvPatchScalarField
|
|
||||||
(
|
|
||||||
const fvPatch& p,
|
|
||||||
const DimensionedField<scalar, volMesh>& iF,
|
|
||||||
const dictionary& dict
|
|
||||||
)
|
|
||||||
:
|
|
||||||
immersedBoundaryWallFunctionFvPatchScalarField(p, iF, dict),
|
|
||||||
UName_(dict.lookupOrDefault<word>("U", "U")),
|
|
||||||
kName_(dict.lookupOrDefault<word>("k", "k")),
|
|
||||||
GName_(dict.lookupOrDefault<word>("G", "RASModel::G")),
|
|
||||||
nuName_(dict.lookupOrDefault<word>("nu", "nu")),
|
|
||||||
nutName_(dict.lookupOrDefault<word>("nut", "nut")),
|
|
||||||
Cmu_(dict.lookupOrDefault<scalar>("Cmu", 0.09)),
|
|
||||||
kappa_(dict.lookupOrDefault<scalar>("kappa", 0.41)),
|
|
||||||
E_(dict.lookupOrDefault<scalar>("E", 9.8))
|
|
||||||
{}
|
|
||||||
|
|
||||||
|
|
||||||
immersedBoundaryEpsilonWallFunctionFvPatchScalarField::
|
|
||||||
immersedBoundaryEpsilonWallFunctionFvPatchScalarField
|
|
||||||
(
|
|
||||||
const immersedBoundaryEpsilonWallFunctionFvPatchScalarField& ptf,
|
|
||||||
const fvPatch& p,
|
|
||||||
const DimensionedField<scalar, volMesh>& iF,
|
|
||||||
const fvPatchFieldMapper& mapper
|
|
||||||
)
|
|
||||||
:
|
|
||||||
immersedBoundaryWallFunctionFvPatchScalarField(ptf, p, iF, mapper),
|
|
||||||
UName_(ptf.UName_),
|
|
||||||
kName_(ptf.kName_),
|
|
||||||
GName_(ptf.GName_),
|
|
||||||
nuName_(ptf.nuName_),
|
|
||||||
nutName_(ptf.nutName_),
|
|
||||||
Cmu_(ptf.Cmu_),
|
|
||||||
kappa_(ptf.kappa_),
|
|
||||||
E_(ptf.E_)
|
|
||||||
{}
|
|
||||||
|
|
||||||
|
|
||||||
immersedBoundaryEpsilonWallFunctionFvPatchScalarField::
|
|
||||||
immersedBoundaryEpsilonWallFunctionFvPatchScalarField
|
|
||||||
(
|
|
||||||
const immersedBoundaryEpsilonWallFunctionFvPatchScalarField& ewfpsf
|
|
||||||
)
|
|
||||||
:
|
|
||||||
immersedBoundaryWallFunctionFvPatchScalarField(ewfpsf),
|
|
||||||
UName_(ewfpsf.UName_),
|
|
||||||
kName_(ewfpsf.kName_),
|
|
||||||
GName_(ewfpsf.GName_),
|
|
||||||
nuName_(ewfpsf.nuName_),
|
|
||||||
nutName_(ewfpsf.nutName_),
|
|
||||||
Cmu_(ewfpsf.Cmu_),
|
|
||||||
kappa_(ewfpsf.kappa_),
|
|
||||||
E_(ewfpsf.E_)
|
|
||||||
{}
|
|
||||||
|
|
||||||
|
|
||||||
immersedBoundaryEpsilonWallFunctionFvPatchScalarField::
|
|
||||||
immersedBoundaryEpsilonWallFunctionFvPatchScalarField
|
|
||||||
(
|
|
||||||
const immersedBoundaryEpsilonWallFunctionFvPatchScalarField& ewfpsf,
|
|
||||||
const DimensionedField<scalar, volMesh>& iF
|
|
||||||
)
|
|
||||||
:
|
|
||||||
immersedBoundaryWallFunctionFvPatchScalarField(ewfpsf, iF),
|
|
||||||
UName_(ewfpsf.UName_),
|
|
||||||
kName_(ewfpsf.kName_),
|
|
||||||
GName_(ewfpsf.GName_),
|
|
||||||
nuName_(ewfpsf.nuName_),
|
|
||||||
nutName_(ewfpsf.nutName_),
|
|
||||||
Cmu_(ewfpsf.Cmu_),
|
|
||||||
kappa_(ewfpsf.kappa_),
|
|
||||||
E_(ewfpsf.E_)
|
|
||||||
{}
|
|
||||||
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
void immersedBoundaryEpsilonWallFunctionFvPatchScalarField::updateCoeffs()
|
|
||||||
{
|
|
||||||
if (updated())
|
|
||||||
{
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
// If G field is not present, execute zero gradient evaluation
|
|
||||||
// HJ, 20/Mar/2011
|
|
||||||
if (!db().foundObject<volScalarField>(GName_))
|
|
||||||
{
|
|
||||||
InfoIn
|
|
||||||
(
|
|
||||||
"void immersedBoundaryEpsilonWallFunctionFvPatchScalarField::"
|
|
||||||
"updateCoeffs()"
|
|
||||||
) << "Cannot access " << GName_ << " field. for patch "
|
|
||||||
<< patch().name() << ". Evaluating as regular immersed boundary"
|
|
||||||
<< endl;
|
|
||||||
|
|
||||||
immersedBoundaryWallFunctionFvPatchScalarField::evaluate();
|
|
||||||
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
const vectorField& n = ibPatch().ibNormals();
|
|
||||||
|
|
||||||
const RASModel& rasModel = db().lookupObject<RASModel>("RASProperties");
|
|
||||||
const scalar yPlusLam = rasModel.yPlusLam(kappa_, E_);
|
|
||||||
|
|
||||||
const scalar Cmu25 = pow(Cmu_, 0.25);
|
|
||||||
const scalar Cmu50 = sqrt(Cmu_);
|
|
||||||
const scalar Cmu75 = pow(Cmu_, 0.75);
|
|
||||||
|
|
||||||
volScalarField& G = const_cast<volScalarField&>
|
|
||||||
(db().lookupObject<volScalarField>(GName_));
|
|
||||||
|
|
||||||
// Grab values of other fields required for wall functions
|
|
||||||
|
|
||||||
// Velocity
|
|
||||||
const fvPatchVectorField& Uwg =
|
|
||||||
patch().lookupPatchField<volVectorField, vector>(UName_);
|
|
||||||
const immersedBoundaryVelocityWallFunctionFvPatchVectorField& Uw =
|
|
||||||
refCast<const immersedBoundaryVelocityWallFunctionFvPatchVectorField>
|
|
||||||
(
|
|
||||||
Uwg
|
|
||||||
);
|
|
||||||
|
|
||||||
// Calculate tangential component, taking into account wall velocity
|
|
||||||
const vectorField UtanOld =
|
|
||||||
(I - sqr(n)) & (Uw.ibSamplingPointValue() - Uw.ibValue());
|
|
||||||
const scalarField magUtanOld = mag(UtanOld);
|
|
||||||
|
|
||||||
// Tangential velocity component
|
|
||||||
scalarField& UTangentialNew = Uw.wallTangentialValue();
|
|
||||||
|
|
||||||
// Wall shear stress
|
|
||||||
vectorField& tauWall = Uw.tauWall();
|
|
||||||
|
|
||||||
// Turbulence kinetic energy
|
|
||||||
const fvPatchScalarField& kg =
|
|
||||||
patch().lookupPatchField<volScalarField, scalar>(kName_);
|
|
||||||
const immersedBoundaryWallFunctionFvPatchScalarField& kw =
|
|
||||||
refCast<const immersedBoundaryWallFunctionFvPatchScalarField>(kg);
|
|
||||||
|
|
||||||
// Current and new values of k at sampling point
|
|
||||||
scalarField k = kw.ibSamplingPointValue();
|
|
||||||
scalarField& kNew = kw.wallValue();
|
|
||||||
|
|
||||||
// Laminar viscosity
|
|
||||||
const fvPatchScalarField& nuwg =
|
|
||||||
patch().lookupPatchField<volScalarField, scalar>(nuName_);
|
|
||||||
const immersedBoundaryFvPatchScalarField& nuw =
|
|
||||||
refCast<const immersedBoundaryFvPatchScalarField>(nuwg);
|
|
||||||
scalarField nu = nuw.ibCellValue();
|
|
||||||
|
|
||||||
// Turbulent viscosity
|
|
||||||
const fvPatchScalarField& nutwg =
|
|
||||||
patch().lookupPatchField<volScalarField, scalar>(nutName_);
|
|
||||||
const immersedBoundaryWallFunctionFvPatchScalarField& nutw =
|
|
||||||
refCast<const immersedBoundaryWallFunctionFvPatchScalarField>(nutwg);
|
|
||||||
|
|
||||||
// New values of nut
|
|
||||||
scalarField nutOld = nutw.ibCellValue();
|
|
||||||
scalarField& nutNew = nutw.wallValue();
|
|
||||||
|
|
||||||
const scalarField magGradUw = mag(Uw.ibGrad());
|
|
||||||
|
|
||||||
// Get the IB addressing and distance
|
|
||||||
const labelList& ibc = ibPatch().ibCells();
|
|
||||||
|
|
||||||
// Distance to sampling point
|
|
||||||
const scalarField& ySample = ibPatch().ibSamplingPointDelta();
|
|
||||||
|
|
||||||
// Distance from wall to IB point
|
|
||||||
const scalarField& y = ibPatch().ibDelta();
|
|
||||||
|
|
||||||
// Epsilon: store IB cell values for direct insertion
|
|
||||||
scalarField epsilonSample = this->ibSamplingPointValue();
|
|
||||||
|
|
||||||
scalarField& epsilonNew = this->wallValue();
|
|
||||||
|
|
||||||
// Mark values to be fixed
|
|
||||||
boolList wf(ibc.size(), false);
|
|
||||||
|
|
||||||
// Calculate yPlus for sample points
|
|
||||||
scalarField ypd = Cmu25*ySample*sqrt(k)/nu;
|
|
||||||
|
|
||||||
// Calculate wall function conditions
|
|
||||||
forAll (ibc, ibCellI)
|
|
||||||
{
|
|
||||||
const scalar nuLam = nu[ibCellI];
|
|
||||||
|
|
||||||
// Calculate yPlus from k and laminar viscosity for the IB point
|
|
||||||
const scalar yPlusSample = ypd[ibCellI];
|
|
||||||
|
|
||||||
scalar uTau;
|
|
||||||
|
|
||||||
if (yPlusSample > yPlusLam)
|
|
||||||
{
|
|
||||||
// Calculate uTau from log-law, knowing sampled k and U
|
|
||||||
uTau = magUtanOld[ibCellI]*kappa_/log(E_*yPlusSample);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
// Sampling point is in laminar sublayer
|
|
||||||
// Bug fix: HJ, 11/Aug/2014
|
|
||||||
uTau = yPlusSample;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
// Set wall shear stress
|
|
||||||
tauWall[ibCellI] = sqr(uTau)*UtanOld[ibCellI]/(magUtanOld[ibCellI] + SMALL);
|
|
||||||
|
|
||||||
// Calculate yPlus for IB point
|
|
||||||
// scalar yPlusIB = uTau*y[ibCellI]/nuLam;
|
|
||||||
scalar yPlusIB = yPlusSample*y[ibCellI]/ySample[ibCellI];
|
|
||||||
|
|
||||||
// Calculate wall function data in the immersed boundary point
|
|
||||||
if (yPlusIB > yPlusLam)
|
|
||||||
{
|
|
||||||
// Logarithmic region
|
|
||||||
wf[ibCellI] = true;
|
|
||||||
|
|
||||||
scalar nutw = nuLam*(yPlusIB*kappa_/log(E_*yPlusIB) - 1);
|
|
||||||
|
|
||||||
// Fix generation even though it if is not used
|
|
||||||
G[ibc[ibCellI]] =
|
|
||||||
sqr((nutw + nuLam)*magGradUw[ibCellI])/
|
|
||||||
(Cmu25*sqrt(k[ibCellI])*kappa_*y[ibCellI]);
|
|
||||||
|
|
||||||
// Log-Law for tangential velocity
|
|
||||||
UTangentialNew[ibCellI] =
|
|
||||||
min
|
|
||||||
(
|
|
||||||
magUtanOld[ibCellI],
|
|
||||||
uTau/kappa_*log(E_*yPlusIB)
|
|
||||||
);
|
|
||||||
|
|
||||||
// Calculate turbulent viscosity
|
|
||||||
nutNew[ibCellI] = nutw;
|
|
||||||
|
|
||||||
// Calculate k in the IB cell from G = epsilon
|
|
||||||
kNew[ibCellI] = (nutw + nuLam)*magGradUw[ibCellI]/Cmu50;
|
|
||||||
|
|
||||||
// Calculate epsilon from yPlus and set it
|
|
||||||
epsilonNew[ibCellI] =
|
|
||||||
Cmu75*pow(kNew[ibCellI], 1.5)/(kappa_*y[ibCellI]);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
// Laminar sub-layer
|
|
||||||
wf[ibCellI] = false;
|
|
||||||
|
|
||||||
// G is zero
|
|
||||||
G[ibc[ibCellI]] = 0;
|
|
||||||
|
|
||||||
// Laminar sub-layer for tangential velocity: uPlus = yPlus
|
|
||||||
UTangentialNew[ibCellI] = min(magUtanOld[ibCellI], uTau*yPlusIB);
|
|
||||||
|
|
||||||
// Turbulent viscosity is zero
|
|
||||||
nutNew[ibCellI] = SMALL;
|
|
||||||
|
|
||||||
// k is zero gradient: use the sampled value
|
|
||||||
kNew[ibCellI] = k[ibCellI];
|
|
||||||
|
|
||||||
// Calculate epsilon from yPlus and set it.
|
|
||||||
// Note: calculating equilibrium epsilon in the sub-layer creates
|
|
||||||
// an unrealistic oscillation: use sampled value
|
|
||||||
// HJ, 27/Jul/2012
|
|
||||||
epsilonNew[ibCellI] = epsilonSample[ibCellI];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Info<< "UTangentialNew " << min(UTangentialNew) << " " << max(UTangentialNew) << endl;
|
|
||||||
// Info<< "nutNew " << min(nutNew) << " " << max(nutNew) << endl;
|
|
||||||
// Info<< "kNew " << min(kNew) << " " << max(kNew) << endl;
|
|
||||||
// Info<< "epsilonNew " << min(epsilonNew) << " " << max(epsilonNew) << endl;
|
|
||||||
|
|
||||||
// Set the fields to calculated wall function values
|
|
||||||
Uw.wallMask() = true;
|
|
||||||
kw.wallMask() = wf;
|
|
||||||
nutw.wallMask() = true;
|
|
||||||
this->wallMask() = true;
|
|
||||||
|
|
||||||
// Insert epsilon values into the internal field
|
|
||||||
immersedBoundaryWallFunctionFvPatchScalarField::updateCoeffs();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
void immersedBoundaryEpsilonWallFunctionFvPatchScalarField::evaluate
|
|
||||||
(
|
|
||||||
const Pstream::commsTypes commsType
|
|
||||||
)
|
|
||||||
{
|
|
||||||
// Insert epsilon values into the internal field
|
|
||||||
this->setIbCellValues(this->wallValue());
|
|
||||||
|
|
||||||
fvPatchScalarField::evaluate(commsType);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
void immersedBoundaryEpsilonWallFunctionFvPatchScalarField::
|
|
||||||
write(Ostream& os) const
|
|
||||||
{
|
|
||||||
immersedBoundaryWallFunctionFvPatchScalarField::write(os);
|
|
||||||
writeEntryIfDifferent<word>(os, "U", "U", UName_);
|
|
||||||
writeEntryIfDifferent<word>(os, "k", "k", kName_);
|
|
||||||
writeEntryIfDifferent<word>(os, "G", "RASModel::G", GName_);
|
|
||||||
writeEntryIfDifferent<word>(os, "nu", "nu", nuName_);
|
|
||||||
writeEntryIfDifferent<word>(os, "nut", "nut", nutName_);
|
|
||||||
os.writeKeyword("Cmu") << Cmu_ << token::END_STATEMENT << nl;
|
|
||||||
os.writeKeyword("kappa") << kappa_ << token::END_STATEMENT << nl;
|
|
||||||
os.writeKeyword("E") << E_ << token::END_STATEMENT << nl;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
makePatchTypeField
|
|
||||||
(
|
|
||||||
fvPatchScalarField,
|
|
||||||
immersedBoundaryEpsilonWallFunctionFvPatchScalarField
|
|
||||||
);
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
} // End namespace RASModels
|
|
||||||
} // End namespace incompressible
|
|
||||||
} // End namespace Foam
|
|
||||||
|
|
||||||
// ************************************************************************* //
|
|
|
@ -1,201 +0,0 @@
|
||||||
/*---------------------------------------------------------------------------*\
|
|
||||||
========= |
|
|
||||||
\\ / F ield | foam-extend: Open Source CFD
|
|
||||||
\\ / O peration | Version: 4.0
|
|
||||||
\\ / A nd | Web: http://www.foam-extend.org
|
|
||||||
\\/ M anipulation | For copyright notice see file Copyright
|
|
||||||
-------------------------------------------------------------------------------
|
|
||||||
License
|
|
||||||
This file is part of foam-extend.
|
|
||||||
|
|
||||||
foam-extend 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.
|
|
||||||
|
|
||||||
foam-extend 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 foam-extend. If not, see <http://www.gnu.org/licenses/>.
|
|
||||||
|
|
||||||
Class
|
|
||||||
Foam::incompressible::RASModels::
|
|
||||||
immersedBoundaryEpsilonWallFunctionFvPatchScalarField
|
|
||||||
|
|
||||||
Description
|
|
||||||
Boundary condition for epsilon when using wall functions
|
|
||||||
- calculates y+, G, tangential velocity, nut and k
|
|
||||||
- each of calculated values is handled separately by the appropriate
|
|
||||||
boundary condition
|
|
||||||
- epsilon values added directly into the field to act as a constraint
|
|
||||||
|
|
||||||
SourceFiles
|
|
||||||
immersedBoundaryEpsilonWallFunctionFvPatchScalarField.C
|
|
||||||
|
|
||||||
\*---------------------------------------------------------------------------*/
|
|
||||||
|
|
||||||
#ifndef immersedBoundaryEpsilonWallFunctionFvPatchScalarField_H
|
|
||||||
#define immersedBoundaryEpsilonWallFunctionFvPatchScalarField_H
|
|
||||||
|
|
||||||
#include "immersedBoundaryWallFunctionFvPatchFields.H"
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
namespace Foam
|
|
||||||
{
|
|
||||||
namespace incompressible
|
|
||||||
{
|
|
||||||
namespace RASModels
|
|
||||||
{
|
|
||||||
|
|
||||||
/*---------------------------------------------------------------------------*\
|
|
||||||
Class immersedBoundaryEpsilonWallFunctionFvPatchScalarField Declaration
|
|
||||||
\*---------------------------------------------------------------------------*/
|
|
||||||
|
|
||||||
class immersedBoundaryEpsilonWallFunctionFvPatchScalarField
|
|
||||||
:
|
|
||||||
public immersedBoundaryWallFunctionFvPatchScalarField
|
|
||||||
{
|
|
||||||
// Private data
|
|
||||||
|
|
||||||
//- Name of velocity field
|
|
||||||
word UName_;
|
|
||||||
|
|
||||||
//- Name of turbulence kinetic energy field
|
|
||||||
word kName_;
|
|
||||||
|
|
||||||
//- Name of turbulence generation field
|
|
||||||
word GName_;
|
|
||||||
|
|
||||||
//- Name of laminar viscosity field
|
|
||||||
word nuName_;
|
|
||||||
|
|
||||||
//- Name of turbulent viscosity field
|
|
||||||
word nutName_;
|
|
||||||
|
|
||||||
//- Cmu coefficient
|
|
||||||
scalar Cmu_;
|
|
||||||
|
|
||||||
//- Von Karman constant
|
|
||||||
scalar kappa_;
|
|
||||||
|
|
||||||
//- E coefficient
|
|
||||||
scalar E_;
|
|
||||||
|
|
||||||
|
|
||||||
public:
|
|
||||||
|
|
||||||
//- Runtime type information
|
|
||||||
TypeName("immersedBoundaryEpsilonWallFunction");
|
|
||||||
|
|
||||||
|
|
||||||
// Constructors
|
|
||||||
|
|
||||||
//- Construct from patch and internal field
|
|
||||||
immersedBoundaryEpsilonWallFunctionFvPatchScalarField
|
|
||||||
(
|
|
||||||
const fvPatch&,
|
|
||||||
const DimensionedField<scalar, volMesh>&
|
|
||||||
);
|
|
||||||
|
|
||||||
//- Construct from patch, internal field and dictionary
|
|
||||||
immersedBoundaryEpsilonWallFunctionFvPatchScalarField
|
|
||||||
(
|
|
||||||
const fvPatch&,
|
|
||||||
const DimensionedField<scalar, volMesh>&,
|
|
||||||
const dictionary&
|
|
||||||
);
|
|
||||||
|
|
||||||
//- Construct by mapping given
|
|
||||||
// immersedBoundaryEpsilonWallFunctionFvPatchScalarField
|
|
||||||
// onto a new patch
|
|
||||||
immersedBoundaryEpsilonWallFunctionFvPatchScalarField
|
|
||||||
(
|
|
||||||
const immersedBoundaryEpsilonWallFunctionFvPatchScalarField&,
|
|
||||||
const fvPatch&,
|
|
||||||
const DimensionedField<scalar, volMesh>&,
|
|
||||||
const fvPatchFieldMapper&
|
|
||||||
);
|
|
||||||
|
|
||||||
//- Construct as copy
|
|
||||||
immersedBoundaryEpsilonWallFunctionFvPatchScalarField
|
|
||||||
(
|
|
||||||
const immersedBoundaryEpsilonWallFunctionFvPatchScalarField&
|
|
||||||
);
|
|
||||||
|
|
||||||
//- Construct and return a clone
|
|
||||||
virtual tmp<fvPatchScalarField> clone() const
|
|
||||||
{
|
|
||||||
return tmp<fvPatchScalarField>
|
|
||||||
(
|
|
||||||
new immersedBoundaryEpsilonWallFunctionFvPatchScalarField
|
|
||||||
(
|
|
||||||
*this
|
|
||||||
)
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
//- Construct as copy setting internal field reference
|
|
||||||
immersedBoundaryEpsilonWallFunctionFvPatchScalarField
|
|
||||||
(
|
|
||||||
const immersedBoundaryEpsilonWallFunctionFvPatchScalarField&,
|
|
||||||
const DimensionedField<scalar, volMesh>&
|
|
||||||
);
|
|
||||||
|
|
||||||
//- Construct and return a clone setting internal field reference
|
|
||||||
virtual tmp<fvPatchScalarField> clone
|
|
||||||
(
|
|
||||||
const DimensionedField<scalar, volMesh>& iF
|
|
||||||
) const
|
|
||||||
{
|
|
||||||
return tmp<fvPatchScalarField>
|
|
||||||
(
|
|
||||||
new immersedBoundaryEpsilonWallFunctionFvPatchScalarField
|
|
||||||
(
|
|
||||||
*this,
|
|
||||||
iF
|
|
||||||
)
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
//- Destructor
|
|
||||||
virtual ~immersedBoundaryEpsilonWallFunctionFvPatchScalarField()
|
|
||||||
{}
|
|
||||||
|
|
||||||
|
|
||||||
// Member functions
|
|
||||||
|
|
||||||
// Evaluation functions
|
|
||||||
|
|
||||||
//- Update the coefficients associated with the patch field
|
|
||||||
virtual void updateCoeffs();
|
|
||||||
|
|
||||||
//- Evaluate the patchField
|
|
||||||
virtual void evaluate
|
|
||||||
(
|
|
||||||
const Pstream::commsTypes = Pstream::blocking
|
|
||||||
);
|
|
||||||
|
|
||||||
|
|
||||||
// I-O
|
|
||||||
|
|
||||||
//- Write
|
|
||||||
void write(Ostream&) const;
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
} // End namespace RASModels
|
|
||||||
} // End namespace incompressible
|
|
||||||
} // End namespace Foam
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
// ************************************************************************* //
|
|
|
@ -1,401 +0,0 @@
|
||||||
/*---------------------------------------------------------------------------*\
|
|
||||||
========= |
|
|
||||||
\\ / F ield | foam-extend: Open Source CFD
|
|
||||||
\\ / O peration | Version: 4.0
|
|
||||||
\\ / A nd | Web: http://www.foam-extend.org
|
|
||||||
\\/ M anipulation | For copyright notice see file Copyright
|
|
||||||
-------------------------------------------------------------------------------
|
|
||||||
License
|
|
||||||
This file is part of foam-extend.
|
|
||||||
|
|
||||||
foam-extend 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.
|
|
||||||
|
|
||||||
foam-extend 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 foam-extend. If not, see <http://www.gnu.org/licenses/>.
|
|
||||||
|
|
||||||
\*---------------------------------------------------------------------------*/
|
|
||||||
|
|
||||||
#include "immersedBoundaryOmegaWallFunctionFvPatchScalarField.H"
|
|
||||||
#include "immersedBoundaryVelocityWallFunctionFvPatchVectorField.H"
|
|
||||||
#include "RASModel.H"
|
|
||||||
#include "fvPatchFieldMapper.H"
|
|
||||||
#include "volFields.H"
|
|
||||||
#include "addToRunTimeSelectionTable.H"
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
namespace Foam
|
|
||||||
{
|
|
||||||
namespace incompressible
|
|
||||||
{
|
|
||||||
namespace RASModels
|
|
||||||
{
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
immersedBoundaryOmegaWallFunctionFvPatchScalarField::
|
|
||||||
immersedBoundaryOmegaWallFunctionFvPatchScalarField
|
|
||||||
(
|
|
||||||
const fvPatch& p,
|
|
||||||
const DimensionedField<scalar, volMesh>& iF
|
|
||||||
)
|
|
||||||
:
|
|
||||||
immersedBoundaryWallFunctionFvPatchScalarField(p, iF),
|
|
||||||
UName_("U"),
|
|
||||||
kName_("k"),
|
|
||||||
GName_("RASModel::G"),
|
|
||||||
nuName_("nu"),
|
|
||||||
nutName_("nut"),
|
|
||||||
Cmu_(0.09),
|
|
||||||
kappa_(0.41),
|
|
||||||
E_(9.8),
|
|
||||||
beta1_(0.075)
|
|
||||||
{}
|
|
||||||
|
|
||||||
|
|
||||||
immersedBoundaryOmegaWallFunctionFvPatchScalarField::
|
|
||||||
immersedBoundaryOmegaWallFunctionFvPatchScalarField
|
|
||||||
(
|
|
||||||
const fvPatch& p,
|
|
||||||
const DimensionedField<scalar, volMesh>& iF,
|
|
||||||
const dictionary& dict
|
|
||||||
)
|
|
||||||
:
|
|
||||||
immersedBoundaryWallFunctionFvPatchScalarField(p, iF, dict),
|
|
||||||
UName_(dict.lookupOrDefault<word>("U", "U")),
|
|
||||||
kName_(dict.lookupOrDefault<word>("k", "k")),
|
|
||||||
GName_(dict.lookupOrDefault<word>("G", "RASModel::G")),
|
|
||||||
nuName_(dict.lookupOrDefault<word>("nu", "nu")),
|
|
||||||
nutName_(dict.lookupOrDefault<word>("nut", "nut")),
|
|
||||||
Cmu_(dict.lookupOrDefault<scalar>("Cmu", 0.09)),
|
|
||||||
kappa_(dict.lookupOrDefault<scalar>("kappa", 0.41)),
|
|
||||||
E_(dict.lookupOrDefault<scalar>("E", 9.8)),
|
|
||||||
beta1_(dict.lookupOrDefault<scalar>("beta1", 0.075))
|
|
||||||
{}
|
|
||||||
|
|
||||||
|
|
||||||
immersedBoundaryOmegaWallFunctionFvPatchScalarField::
|
|
||||||
immersedBoundaryOmegaWallFunctionFvPatchScalarField
|
|
||||||
(
|
|
||||||
const immersedBoundaryOmegaWallFunctionFvPatchScalarField& ptf,
|
|
||||||
const fvPatch& p,
|
|
||||||
const DimensionedField<scalar, volMesh>& iF,
|
|
||||||
const fvPatchFieldMapper& mapper
|
|
||||||
)
|
|
||||||
:
|
|
||||||
immersedBoundaryWallFunctionFvPatchScalarField(ptf, p, iF, mapper),
|
|
||||||
UName_(ptf.UName_),
|
|
||||||
kName_(ptf.kName_),
|
|
||||||
GName_(ptf.GName_),
|
|
||||||
nuName_(ptf.nuName_),
|
|
||||||
nutName_(ptf.nutName_),
|
|
||||||
Cmu_(ptf.Cmu_),
|
|
||||||
kappa_(ptf.kappa_),
|
|
||||||
E_(ptf.E_),
|
|
||||||
beta1_(ptf.beta1_)
|
|
||||||
{}
|
|
||||||
|
|
||||||
|
|
||||||
immersedBoundaryOmegaWallFunctionFvPatchScalarField::
|
|
||||||
immersedBoundaryOmegaWallFunctionFvPatchScalarField
|
|
||||||
(
|
|
||||||
const immersedBoundaryOmegaWallFunctionFvPatchScalarField& owfpsf
|
|
||||||
)
|
|
||||||
:
|
|
||||||
immersedBoundaryWallFunctionFvPatchScalarField(owfpsf),
|
|
||||||
UName_(owfpsf.UName_),
|
|
||||||
kName_(owfpsf.kName_),
|
|
||||||
GName_(owfpsf.GName_),
|
|
||||||
nuName_(owfpsf.nuName_),
|
|
||||||
nutName_(owfpsf.nutName_),
|
|
||||||
Cmu_(owfpsf.Cmu_),
|
|
||||||
kappa_(owfpsf.kappa_),
|
|
||||||
E_(owfpsf.E_),
|
|
||||||
beta1_(owfpsf.beta1_)
|
|
||||||
{}
|
|
||||||
|
|
||||||
|
|
||||||
immersedBoundaryOmegaWallFunctionFvPatchScalarField::
|
|
||||||
immersedBoundaryOmegaWallFunctionFvPatchScalarField
|
|
||||||
(
|
|
||||||
const immersedBoundaryOmegaWallFunctionFvPatchScalarField& owfpsf,
|
|
||||||
const DimensionedField<scalar, volMesh>& iF
|
|
||||||
)
|
|
||||||
:
|
|
||||||
immersedBoundaryWallFunctionFvPatchScalarField(owfpsf, iF),
|
|
||||||
UName_(owfpsf.UName_),
|
|
||||||
kName_(owfpsf.kName_),
|
|
||||||
GName_(owfpsf.GName_),
|
|
||||||
nuName_(owfpsf.nuName_),
|
|
||||||
nutName_(owfpsf.nutName_),
|
|
||||||
Cmu_(owfpsf.Cmu_),
|
|
||||||
kappa_(owfpsf.kappa_),
|
|
||||||
E_(owfpsf.E_),
|
|
||||||
beta1_(owfpsf.beta1_)
|
|
||||||
{}
|
|
||||||
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
void immersedBoundaryOmegaWallFunctionFvPatchScalarField::updateCoeffs()
|
|
||||||
{
|
|
||||||
if (updated())
|
|
||||||
{
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
// If G field is not present, execute zero gradient evaluation
|
|
||||||
// HJ, 20/Mar/2011
|
|
||||||
if (!db().foundObject<volScalarField>(GName_))
|
|
||||||
{
|
|
||||||
InfoIn
|
|
||||||
(
|
|
||||||
"void immersedBoundaryOmegaWallFunctionFvPatchScalarField::"
|
|
||||||
"updateCoeffs()"
|
|
||||||
) << "Cannot access " << GName_ << " field. for patch "
|
|
||||||
<< patch().name() << ". Evaluating as regular immersed boundary"
|
|
||||||
<< endl;
|
|
||||||
|
|
||||||
immersedBoundaryWallFunctionFvPatchScalarField::evaluate();
|
|
||||||
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
const vectorField& n = ibPatch().ibNormals();
|
|
||||||
|
|
||||||
const RASModel& rasModel = db().lookupObject<RASModel>("RASProperties");
|
|
||||||
const scalar yPlusLam = rasModel.yPlusLam(kappa_, E_);
|
|
||||||
|
|
||||||
const scalar Cmu25 = pow(Cmu_, 0.25);
|
|
||||||
const scalar Cmu50 = sqrt(Cmu_);
|
|
||||||
|
|
||||||
volScalarField& G = const_cast<volScalarField&>
|
|
||||||
(db().lookupObject<volScalarField>(GName_));
|
|
||||||
|
|
||||||
// Grab values of other fields required for wall functions
|
|
||||||
|
|
||||||
// Velocity
|
|
||||||
const fvPatchVectorField& Uwg =
|
|
||||||
patch().lookupPatchField<volVectorField, vector>(UName_);
|
|
||||||
const immersedBoundaryVelocityWallFunctionFvPatchVectorField& Uw =
|
|
||||||
refCast<const immersedBoundaryVelocityWallFunctionFvPatchVectorField>
|
|
||||||
(
|
|
||||||
Uwg
|
|
||||||
);
|
|
||||||
|
|
||||||
// Calculate tangential component, taking into account wall velocity
|
|
||||||
const vectorField UtanOld =
|
|
||||||
(I - sqr(n)) & (Uw.ibSamplingPointValue() - Uw.ibValue());
|
|
||||||
const scalarField magUtanOld = mag(UtanOld);
|
|
||||||
|
|
||||||
// Tangential velocity component
|
|
||||||
scalarField& UTangentialNew = Uw.wallTangentialValue();
|
|
||||||
|
|
||||||
// Wall shear stress
|
|
||||||
vectorField& tauWall = Uw.tauWall();
|
|
||||||
|
|
||||||
// Turbulence kinetic energy
|
|
||||||
const fvPatchScalarField& kg =
|
|
||||||
patch().lookupPatchField<volScalarField, scalar>(kName_);
|
|
||||||
const immersedBoundaryWallFunctionFvPatchScalarField& kw =
|
|
||||||
refCast<const immersedBoundaryWallFunctionFvPatchScalarField>(kg);
|
|
||||||
|
|
||||||
// Current and new values of k at sampling point
|
|
||||||
scalarField k = kw.ibSamplingPointValue();
|
|
||||||
scalarField& kNew = kw.wallValue();
|
|
||||||
|
|
||||||
// Laminar viscosity
|
|
||||||
const fvPatchScalarField& nuwg =
|
|
||||||
patch().lookupPatchField<volScalarField, scalar>(nuName_);
|
|
||||||
const immersedBoundaryFvPatchScalarField& nuw =
|
|
||||||
refCast<const immersedBoundaryFvPatchScalarField>(nuwg);
|
|
||||||
scalarField nu = nuw.ibCellValue();
|
|
||||||
|
|
||||||
// Turbulent viscosity
|
|
||||||
const fvPatchScalarField& nutwg =
|
|
||||||
patch().lookupPatchField<volScalarField, scalar>(nutName_);
|
|
||||||
const immersedBoundaryWallFunctionFvPatchScalarField& nutw =
|
|
||||||
refCast<const immersedBoundaryWallFunctionFvPatchScalarField>(nutwg);
|
|
||||||
|
|
||||||
// New values of nut
|
|
||||||
scalarField nutOld = nutw.ibCellValue();
|
|
||||||
scalarField& nutNew = nutw.wallValue();
|
|
||||||
|
|
||||||
const scalarField magGradUw = mag(Uw.ibGrad());
|
|
||||||
|
|
||||||
// Get the IB addressing and distance
|
|
||||||
const labelList& ibc = ibPatch().ibCells();
|
|
||||||
|
|
||||||
// Distance to sampling point
|
|
||||||
const scalarField& ySample = ibPatch().ibSamplingPointDelta();
|
|
||||||
|
|
||||||
// Distance from wall to IB point
|
|
||||||
const scalarField& y = ibPatch().ibDelta();
|
|
||||||
|
|
||||||
// Omega: store IB cell values for direct insertion
|
|
||||||
scalarField omegaSample = this->ibSamplingPointValue();
|
|
||||||
|
|
||||||
scalarField& omegaNew = this->wallValue();
|
|
||||||
|
|
||||||
// Mark values to be fixed
|
|
||||||
boolList wf(ibc.size(), false);
|
|
||||||
|
|
||||||
// Calculate yPlus for sample points
|
|
||||||
scalarField ypd = Cmu25*ySample*sqrt(k)/nu;
|
|
||||||
|
|
||||||
// Calculate wall function conditions
|
|
||||||
forAll (ibc, ibCellI)
|
|
||||||
{
|
|
||||||
|
|
||||||
// Calculate yPlus from k and laminar viscosity for the IB point
|
|
||||||
const scalar yPlusSample = ypd[ibCellI];
|
|
||||||
|
|
||||||
scalar tauW, uTau; // wall-shear and friction velocity from LOW
|
|
||||||
|
|
||||||
if (yPlusSample > yPlusLam)
|
|
||||||
{
|
|
||||||
// Calculate tauW from log-law using k and U at sampling point
|
|
||||||
|
|
||||||
tauW = magUtanOld[ibCellI]*Cmu25*sqrt(k[ibCellI])*kappa_
|
|
||||||
/log(E_*yPlusSample);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
// Sampling point is in laminar sublayer
|
|
||||||
tauW = magUtanOld[ibCellI]*Cmu25*sqrt(k[ibCellI])/yPlusSample;
|
|
||||||
}
|
|
||||||
|
|
||||||
// friction velocity computed from k and U at sampling point
|
|
||||||
uTau = sqrt(tauW);
|
|
||||||
|
|
||||||
tauWall[ibCellI] = tauW*UtanOld[ibCellI]/(magUtanOld[ibCellI] + SMALL);
|
|
||||||
|
|
||||||
// Calculate yPlus for IB point
|
|
||||||
|
|
||||||
scalar yPlusIB = yPlusSample*y[ibCellI]/ySample[ibCellI];
|
|
||||||
|
|
||||||
// Calculate wall function data in the immersed boundary point
|
|
||||||
if (yPlusIB > yPlusLam)
|
|
||||||
{
|
|
||||||
const scalar nuLam = nu[ibCellI];
|
|
||||||
// Logarithmic region
|
|
||||||
wf[ibCellI] = true;
|
|
||||||
|
|
||||||
// turbulent viscosity at IB cell and at wall
|
|
||||||
scalar nutw = nuLam*(yPlusIB*kappa_/log(E_*yPlusIB) - 1);
|
|
||||||
|
|
||||||
// Fix generation even though it if is not used
|
|
||||||
G[ibc[ibCellI]] =
|
|
||||||
sqr((nutw + nuLam)*magGradUw[ibCellI])/
|
|
||||||
(Cmu25*sqrt(k[ibCellI])*kappa_*y[ibCellI]);
|
|
||||||
|
|
||||||
// Compute k at the IB cell
|
|
||||||
kNew[ibCellI] = tauW/Cmu50; // equilibrium boundary layer
|
|
||||||
// kNew[ibCellI] = k[ibCellI]; // zero-Gradient (less stable)
|
|
||||||
|
|
||||||
// Compute omega at the IB cell
|
|
||||||
omegaNew[ibCellI] = sqrt(kNew[ibCellI])/(Cmu25*kappa_*y[ibCellI]);
|
|
||||||
|
|
||||||
// Log-Law for tangential velocity - uTau = Cmu25*sqrt(kNew)
|
|
||||||
UTangentialNew[ibCellI] = uTau/kappa_*log(E_*yPlusIB);
|
|
||||||
|
|
||||||
// Calculate turbulent viscosity
|
|
||||||
nutNew[ibCellI] = nutw;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
// Laminar sub-layer
|
|
||||||
wf[ibCellI] = false;
|
|
||||||
|
|
||||||
// G is zero - immaterial!
|
|
||||||
// G[ibc[ibCellI]] = 0;
|
|
||||||
|
|
||||||
// quadratic fit
|
|
||||||
kNew[ibCellI] = k[ibCellI]*sqr(yPlusIB/yPlusLam);
|
|
||||||
|
|
||||||
// Compute omega at the IB cell
|
|
||||||
omegaNew[ibCellI] = 6.0*nu[ibCellI]/(beta1_*sqr(y[ibCellI]));
|
|
||||||
|
|
||||||
// Bugfix - set zeroGradient bc for large omega values at ib boundary
|
|
||||||
// to avoid k unboundedness (IG 30/OCT/2015), not
|
|
||||||
// sure if this is a good criteria
|
|
||||||
if(omegaNew[ibCellI] > 10.0)
|
|
||||||
{
|
|
||||||
wf[ibCellI] = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Laminar sub-layer for tangential velocity: uPlus = yPlus
|
|
||||||
UTangentialNew[ibCellI] = uTau*yPlusIB;
|
|
||||||
|
|
||||||
// Turbulent viscosity is zero
|
|
||||||
nutNew[ibCellI] = SMALL;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Info<< "UTangentialNew " << min(UTangentialNew) << " " << max(UTangentialNew) << endl;
|
|
||||||
// Info<< "nutNew " << min(nutNew) << " " << max(nutNew) << endl;
|
|
||||||
// Info<< "kNew " << min(kNew) << " " << max(kNew) << endl;
|
|
||||||
// Info<< "epsilonNew " << min(epsilonNew) << " " << max(epsilonNew) << endl;
|
|
||||||
|
|
||||||
// Set the fields to calculated wall function values
|
|
||||||
Uw.wallMask() = true;
|
|
||||||
kw.wallMask() = wf;
|
|
||||||
nutw.wallMask() = true;
|
|
||||||
this->wallMask() = true;
|
|
||||||
|
|
||||||
// Insert epsilon values into the internal field
|
|
||||||
immersedBoundaryWallFunctionFvPatchScalarField::updateCoeffs();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
void immersedBoundaryOmegaWallFunctionFvPatchScalarField::evaluate
|
|
||||||
(
|
|
||||||
const Pstream::commsTypes commsType
|
|
||||||
)
|
|
||||||
{
|
|
||||||
// Insert epsilon values into the internal field
|
|
||||||
this->setIbCellValues(this->wallValue());
|
|
||||||
|
|
||||||
fvPatchScalarField::evaluate(commsType);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
void immersedBoundaryOmegaWallFunctionFvPatchScalarField::
|
|
||||||
write(Ostream& os) const
|
|
||||||
{
|
|
||||||
immersedBoundaryWallFunctionFvPatchScalarField::write(os);
|
|
||||||
writeEntryIfDifferent<word>(os, "U", "U", UName_);
|
|
||||||
writeEntryIfDifferent<word>(os, "k", "k", kName_);
|
|
||||||
writeEntryIfDifferent<word>(os, "G", "RASModel::G", GName_);
|
|
||||||
writeEntryIfDifferent<word>(os, "nu", "nu", nuName_);
|
|
||||||
writeEntryIfDifferent<word>(os, "nut", "nut", nutName_);
|
|
||||||
os.writeKeyword("Cmu") << Cmu_ << token::END_STATEMENT << nl;
|
|
||||||
os.writeKeyword("kappa") << kappa_ << token::END_STATEMENT << nl;
|
|
||||||
os.writeKeyword("E") << E_ << token::END_STATEMENT << nl;
|
|
||||||
os.writeKeyword("beta1") << beta1_ << token::END_STATEMENT << nl;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
makePatchTypeField
|
|
||||||
(
|
|
||||||
fvPatchScalarField,
|
|
||||||
immersedBoundaryOmegaWallFunctionFvPatchScalarField
|
|
||||||
);
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
} // End namespace RASModels
|
|
||||||
} // End namespace incompressible
|
|
||||||
} // End namespace Foam
|
|
||||||
|
|
||||||
// ************************************************************************* //
|
|
|
@ -1,216 +0,0 @@
|
||||||
/*---------------------------------------------------------------------------*\
|
|
||||||
========= |
|
|
||||||
\\ / F ield | foam-extend: Open Source CFD
|
|
||||||
\\ / O peration | Version: 4.0
|
|
||||||
\\ / A nd | Web: http://www.foam-extend.org
|
|
||||||
\\/ M anipulation | For copyright notice see file Copyright
|
|
||||||
-------------------------------------------------------------------------------
|
|
||||||
License
|
|
||||||
This file is part of foam-extend.
|
|
||||||
|
|
||||||
foam-extend 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.
|
|
||||||
|
|
||||||
foam-extend 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 foam-extend. If not, see <http://www.gnu.org/licenses/>.
|
|
||||||
|
|
||||||
Class
|
|
||||||
Foam::incompressible::RASModels::
|
|
||||||
immersedBoundaryOmegaWallFunctionFvPatchScalarField
|
|
||||||
|
|
||||||
Description
|
|
||||||
Provides a wall function boundary condition/constraint on omega
|
|
||||||
|
|
||||||
Computed value is:
|
|
||||||
|
|
||||||
omega = sqrt(omega_vis^2 + omega_log^2)
|
|
||||||
|
|
||||||
where
|
|
||||||
omega_vis = omega in viscous region
|
|
||||||
omega_log = omega in logarithmic region
|
|
||||||
|
|
||||||
Model described by Eq.(15) of:
|
|
||||||
@verbatim
|
|
||||||
Menter, F., Esch, T.
|
|
||||||
"Elements of Industrial Heat Transfer Prediction"
|
|
||||||
16th Brazilian Congress of Mechanical Engineering (COBEM),
|
|
||||||
Nov. 2001
|
|
||||||
@endverbatim
|
|
||||||
|
|
||||||
SourceFiles
|
|
||||||
immersedBoundaryOmegaWallFunctionFvPatchScalarField.C
|
|
||||||
|
|
||||||
\*---------------------------------------------------------------------------*/
|
|
||||||
|
|
||||||
#ifndef immersedBoundaryOmegaWallFunctionFvPatchScalarField_H
|
|
||||||
#define immersedBoundaryOmegaWallFunctionFvPatchScalarField_H
|
|
||||||
|
|
||||||
#include "immersedBoundaryWallFunctionFvPatchFields.H"
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
namespace Foam
|
|
||||||
{
|
|
||||||
namespace incompressible
|
|
||||||
{
|
|
||||||
namespace RASModels
|
|
||||||
{
|
|
||||||
|
|
||||||
/*---------------------------------------------------------------------------*\
|
|
||||||
Class immersedBoundaryOmegaWallFunctionFvPatchScalarField Declaration
|
|
||||||
\*---------------------------------------------------------------------------*/
|
|
||||||
|
|
||||||
class immersedBoundaryOmegaWallFunctionFvPatchScalarField
|
|
||||||
:
|
|
||||||
public immersedBoundaryWallFunctionFvPatchScalarField
|
|
||||||
{
|
|
||||||
// Private data
|
|
||||||
|
|
||||||
//- Name of velocity field
|
|
||||||
word UName_;
|
|
||||||
|
|
||||||
//- Name of turbulence kinetic energy field
|
|
||||||
word kName_;
|
|
||||||
|
|
||||||
//- Name of turbulence generation field
|
|
||||||
word GName_;
|
|
||||||
|
|
||||||
//- Name of laminar viscosity field
|
|
||||||
word nuName_;
|
|
||||||
|
|
||||||
//- Name of turbulent viscosity field
|
|
||||||
word nutName_;
|
|
||||||
|
|
||||||
//- Cmu coefficient
|
|
||||||
scalar Cmu_;
|
|
||||||
|
|
||||||
//- Von Karman constant
|
|
||||||
scalar kappa_;
|
|
||||||
|
|
||||||
//- E coefficient
|
|
||||||
scalar E_;
|
|
||||||
|
|
||||||
//- beta1 coefficient
|
|
||||||
scalar beta1_;
|
|
||||||
|
|
||||||
|
|
||||||
public:
|
|
||||||
|
|
||||||
//- Runtime type information
|
|
||||||
TypeName("immersedBoundaryOmegaWallFunction");
|
|
||||||
|
|
||||||
|
|
||||||
// Constructors
|
|
||||||
|
|
||||||
//- Construct from patch and internal field
|
|
||||||
immersedBoundaryOmegaWallFunctionFvPatchScalarField
|
|
||||||
(
|
|
||||||
const fvPatch&,
|
|
||||||
const DimensionedField<scalar, volMesh>&
|
|
||||||
);
|
|
||||||
|
|
||||||
//- Construct from patch, internal field and dictionary
|
|
||||||
immersedBoundaryOmegaWallFunctionFvPatchScalarField
|
|
||||||
(
|
|
||||||
const fvPatch&,
|
|
||||||
const DimensionedField<scalar, volMesh>&,
|
|
||||||
const dictionary&
|
|
||||||
);
|
|
||||||
|
|
||||||
//- Construct by mapping given
|
|
||||||
// immersedBoundaryOmegaWallFunctionFvPatchScalarField
|
|
||||||
// onto a new patch
|
|
||||||
immersedBoundaryOmegaWallFunctionFvPatchScalarField
|
|
||||||
(
|
|
||||||
const immersedBoundaryOmegaWallFunctionFvPatchScalarField&,
|
|
||||||
const fvPatch&,
|
|
||||||
const DimensionedField<scalar, volMesh>&,
|
|
||||||
const fvPatchFieldMapper&
|
|
||||||
);
|
|
||||||
|
|
||||||
//- Construct as copy
|
|
||||||
immersedBoundaryOmegaWallFunctionFvPatchScalarField
|
|
||||||
(
|
|
||||||
const immersedBoundaryOmegaWallFunctionFvPatchScalarField&
|
|
||||||
);
|
|
||||||
|
|
||||||
//- Construct and return a clone
|
|
||||||
virtual tmp<fvPatchScalarField> clone() const
|
|
||||||
{
|
|
||||||
return tmp<fvPatchScalarField>
|
|
||||||
(
|
|
||||||
new immersedBoundaryOmegaWallFunctionFvPatchScalarField
|
|
||||||
(
|
|
||||||
*this
|
|
||||||
)
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
//- Construct as copy setting internal field reference
|
|
||||||
immersedBoundaryOmegaWallFunctionFvPatchScalarField
|
|
||||||
(
|
|
||||||
const immersedBoundaryOmegaWallFunctionFvPatchScalarField&,
|
|
||||||
const DimensionedField<scalar, volMesh>&
|
|
||||||
);
|
|
||||||
|
|
||||||
//- Construct and return a clone setting internal field reference
|
|
||||||
virtual tmp<fvPatchScalarField> clone
|
|
||||||
(
|
|
||||||
const DimensionedField<scalar, volMesh>& iF
|
|
||||||
) const
|
|
||||||
{
|
|
||||||
return tmp<fvPatchScalarField>
|
|
||||||
(
|
|
||||||
new immersedBoundaryOmegaWallFunctionFvPatchScalarField
|
|
||||||
(
|
|
||||||
*this,
|
|
||||||
iF
|
|
||||||
)
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
//- Destructor
|
|
||||||
virtual ~immersedBoundaryOmegaWallFunctionFvPatchScalarField()
|
|
||||||
{}
|
|
||||||
|
|
||||||
|
|
||||||
// Member functions
|
|
||||||
|
|
||||||
// Evaluation functions
|
|
||||||
|
|
||||||
//- Update the coefficients associated with the patch field
|
|
||||||
virtual void updateCoeffs();
|
|
||||||
|
|
||||||
//- Evaluate the patchField
|
|
||||||
virtual void evaluate
|
|
||||||
(
|
|
||||||
const Pstream::commsTypes = Pstream::blocking
|
|
||||||
);
|
|
||||||
|
|
||||||
|
|
||||||
// I-O
|
|
||||||
|
|
||||||
//- Write
|
|
||||||
void write(Ostream&) const;
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
} // End namespace RASModels
|
|
||||||
} // End namespace incompressible
|
|
||||||
} // End namespace Foam
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
// ************************************************************************* //
|
|
|
@ -1,294 +0,0 @@
|
||||||
/*---------------------------------------------------------------------------*\
|
|
||||||
========= |
|
|
||||||
\\ / F ield | foam-extend: Open Source CFD
|
|
||||||
\\ / O peration | Version: 4.0
|
|
||||||
\\ / A nd | Web: http://www.foam-extend.org
|
|
||||||
\\/ M anipulation | For copyright notice see file Copyright
|
|
||||||
-------------------------------------------------------------------------------
|
|
||||||
License
|
|
||||||
This file is part of foam-extend.
|
|
||||||
|
|
||||||
foam-extend 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.
|
|
||||||
|
|
||||||
foam-extend 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 foam-extend. If not, see <http://www.gnu.org/licenses/>.
|
|
||||||
|
|
||||||
\*---------------------------------------------------------------------------*/
|
|
||||||
|
|
||||||
#include "immersedBoundaryVelocityWallFunctionFvPatchVectorField.H"
|
|
||||||
#include "immersedBoundaryWallFunctionFvPatchFields.H"
|
|
||||||
#include "RASModel.H"
|
|
||||||
#include "fvPatchFieldMapper.H"
|
|
||||||
#include "volFields.H"
|
|
||||||
#include "addToRunTimeSelectionTable.H"
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
namespace Foam
|
|
||||||
{
|
|
||||||
namespace incompressible
|
|
||||||
{
|
|
||||||
namespace RASModels
|
|
||||||
{
|
|
||||||
|
|
||||||
void immersedBoundaryVelocityWallFunctionFvPatchVectorField::setIbCellValues
|
|
||||||
(
|
|
||||||
const vectorField& ibcValues
|
|
||||||
) const
|
|
||||||
{
|
|
||||||
const labelList& ibc = ibPatch().ibCells();
|
|
||||||
|
|
||||||
if (ibcValues.size() != ibc.size())
|
|
||||||
{
|
|
||||||
FatalErrorIn
|
|
||||||
(
|
|
||||||
"void immersedBoundaryVelocityWallFunctionFvPatchVectorField::"
|
|
||||||
"setIbCellValues\n"
|
|
||||||
"(\n"
|
|
||||||
" const vectorField& ibcValues\n"
|
|
||||||
") const"
|
|
||||||
) << "Size of ibcValues field not equal to the number of IB cells."
|
|
||||||
<< nl << "ibcValues: " << ibcValues.size()
|
|
||||||
<< " ibc: " << ibc.size()
|
|
||||||
<< abort(FatalError);
|
|
||||||
}
|
|
||||||
|
|
||||||
// Get non-const access to internal field
|
|
||||||
vectorField& psiI = const_cast<vectorField&>(this->internalField());
|
|
||||||
|
|
||||||
immersedBoundaryFvPatchVectorField::setIbCellValues(ibcValues);
|
|
||||||
|
|
||||||
if (wallTangentialValue_.empty() || wallMask_.empty())
|
|
||||||
{
|
|
||||||
immersedBoundaryFvPatchVectorField::setIbCellValues(ibcValues);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
const vectorField& n = ibPatch().ibNormals();
|
|
||||||
|
|
||||||
// Calculate tangential component taking into account wall velocity
|
|
||||||
scalarField UtanOld = mag((I - sqr(n)) & this->ibCellValue());
|
|
||||||
|
|
||||||
vectorField Uwall = this->ibValue();
|
|
||||||
|
|
||||||
forAll (ibcValues, cellI)
|
|
||||||
{
|
|
||||||
// If mask is set, correct the velocity for the
|
|
||||||
// tangential wall value, otherwise use the fitted value
|
|
||||||
if (wallMask_[cellI])
|
|
||||||
{
|
|
||||||
// Decompose fitted velocity into the normal and
|
|
||||||
// tangential components
|
|
||||||
const vector& curN = n[cellI];
|
|
||||||
const vector curU = psiI[ibc[cellI]];
|
|
||||||
|
|
||||||
scalar ibcNormal = curN & ibcValues[cellI];
|
|
||||||
|
|
||||||
// Get tangential velocity and direction
|
|
||||||
vector ibcTangential = (I - sqr(curN)) & curU;
|
|
||||||
ibcTangential /= mag(ibcTangential) + SMALL;
|
|
||||||
|
|
||||||
// Reconstruct the velocity, imposing the magnitude of
|
|
||||||
// tangential value and add wall velocity
|
|
||||||
psiI[ibc[cellI]] = curN*ibcNormal
|
|
||||||
+ ibcTangential*wallTangentialValue_[cellI]
|
|
||||||
+ Uwall[cellI];
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
psiI[ibc[cellI]] = ibcValues[cellI];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
immersedBoundaryVelocityWallFunctionFvPatchVectorField::
|
|
||||||
immersedBoundaryVelocityWallFunctionFvPatchVectorField
|
|
||||||
(
|
|
||||||
const fvPatch& p,
|
|
||||||
const DimensionedField<vector, volMesh>& iF
|
|
||||||
)
|
|
||||||
:
|
|
||||||
immersedBoundaryFvPatchVectorField(p, iF),
|
|
||||||
wallTangentialValue_(),
|
|
||||||
tauWall_(),
|
|
||||||
wallMask_()
|
|
||||||
{}
|
|
||||||
|
|
||||||
|
|
||||||
immersedBoundaryVelocityWallFunctionFvPatchVectorField::
|
|
||||||
immersedBoundaryVelocityWallFunctionFvPatchVectorField
|
|
||||||
(
|
|
||||||
const fvPatch& p,
|
|
||||||
const DimensionedField<vector, volMesh>& iF,
|
|
||||||
const dictionary& dict
|
|
||||||
)
|
|
||||||
:
|
|
||||||
immersedBoundaryFvPatchVectorField(p, iF, dict),
|
|
||||||
wallTangentialValue_(),
|
|
||||||
tauWall_(),
|
|
||||||
wallMask_()
|
|
||||||
{}
|
|
||||||
|
|
||||||
|
|
||||||
immersedBoundaryVelocityWallFunctionFvPatchVectorField::
|
|
||||||
immersedBoundaryVelocityWallFunctionFvPatchVectorField
|
|
||||||
(
|
|
||||||
const immersedBoundaryVelocityWallFunctionFvPatchVectorField& ptf,
|
|
||||||
const fvPatch& p,
|
|
||||||
const DimensionedField<vector, volMesh>& iF,
|
|
||||||
const fvPatchFieldMapper& mapper
|
|
||||||
)
|
|
||||||
:
|
|
||||||
immersedBoundaryFvPatchVectorField(ptf, p, iF, mapper),
|
|
||||||
wallTangentialValue_(),
|
|
||||||
tauWall_(),
|
|
||||||
wallMask_()
|
|
||||||
{}
|
|
||||||
|
|
||||||
|
|
||||||
immersedBoundaryVelocityWallFunctionFvPatchVectorField::
|
|
||||||
immersedBoundaryVelocityWallFunctionFvPatchVectorField
|
|
||||||
(
|
|
||||||
const immersedBoundaryVelocityWallFunctionFvPatchVectorField& ewfpsf
|
|
||||||
)
|
|
||||||
:
|
|
||||||
immersedBoundaryFvPatchVectorField(ewfpsf),
|
|
||||||
wallTangentialValue_(),
|
|
||||||
tauWall_(),
|
|
||||||
wallMask_()
|
|
||||||
{}
|
|
||||||
|
|
||||||
|
|
||||||
immersedBoundaryVelocityWallFunctionFvPatchVectorField::
|
|
||||||
immersedBoundaryVelocityWallFunctionFvPatchVectorField
|
|
||||||
(
|
|
||||||
const immersedBoundaryVelocityWallFunctionFvPatchVectorField& ewfpsf,
|
|
||||||
const DimensionedField<vector, volMesh>& iF
|
|
||||||
)
|
|
||||||
:
|
|
||||||
immersedBoundaryFvPatchVectorField(ewfpsf, iF),
|
|
||||||
wallTangentialValue_(),
|
|
||||||
tauWall_(),
|
|
||||||
wallMask_()
|
|
||||||
{}
|
|
||||||
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
const vectorField&
|
|
||||||
immersedBoundaryVelocityWallFunctionFvPatchVectorField::wallShearStress() const
|
|
||||||
{
|
|
||||||
if (tauWall_.empty())
|
|
||||||
{
|
|
||||||
FatalErrorIn
|
|
||||||
(
|
|
||||||
"const vectorField& "
|
|
||||||
"immersedBoundaryVelocityWallFunctionFvPatchVectorField::"
|
|
||||||
"wallShearStress() const"
|
|
||||||
) << "tauWall not set for IB patch " << patch().name()
|
|
||||||
<< " for field " << dimensionedInternalField().name()
|
|
||||||
<< abort(FatalError);
|
|
||||||
}
|
|
||||||
|
|
||||||
return tauWall_;
|
|
||||||
}
|
|
||||||
|
|
||||||
Foam::scalarField&
|
|
||||||
immersedBoundaryVelocityWallFunctionFvPatchVectorField::wallTangentialValue() const
|
|
||||||
{
|
|
||||||
// Bugfix 30/OCT/2015 - check if the mesh is moving
|
|
||||||
|
|
||||||
const immersedBoundaryFvPatch& ibFvP =
|
|
||||||
immersedBoundaryFvPatchVectorField::ibPatch();
|
|
||||||
if
|
|
||||||
(
|
|
||||||
wallTangentialValue_.empty()
|
|
||||||
|| (ibFvP.movingIb() || ibFvP.boundaryMesh().mesh().moving())
|
|
||||||
)
|
|
||||||
{
|
|
||||||
wallTangentialValue_.setSize
|
|
||||||
(
|
|
||||||
this->ibPatch().ibCells().size(),
|
|
||||||
0
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
return wallTangentialValue_;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
Foam::vectorField&
|
|
||||||
immersedBoundaryVelocityWallFunctionFvPatchVectorField::tauWall() const
|
|
||||||
{
|
|
||||||
// Bugfix 30/OCT/2015 - check if the mesh is moving
|
|
||||||
|
|
||||||
const immersedBoundaryFvPatch& ibFvP =
|
|
||||||
immersedBoundaryFvPatchVectorField::ibPatch();
|
|
||||||
if
|
|
||||||
(
|
|
||||||
tauWall_.empty()
|
|
||||||
|| (ibFvP.movingIb() || ibFvP.boundaryMesh().mesh().moving())
|
|
||||||
)
|
|
||||||
{
|
|
||||||
tauWall_.setSize
|
|
||||||
(
|
|
||||||
this->ibPatch().ibCells().size(),
|
|
||||||
vector::zero
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
return tauWall_;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
Foam::boolList&
|
|
||||||
immersedBoundaryVelocityWallFunctionFvPatchVectorField::wallMask() const
|
|
||||||
{
|
|
||||||
// Bugfix 30/OCT/2015 - check if the mesh is moving
|
|
||||||
|
|
||||||
const immersedBoundaryFvPatch& ibFvP =
|
|
||||||
immersedBoundaryFvPatchVectorField::ibPatch();
|
|
||||||
if
|
|
||||||
(
|
|
||||||
wallMask_.empty()
|
|
||||||
|| (ibFvP.movingIb() || ibFvP.boundaryMesh().mesh().moving())
|
|
||||||
)
|
|
||||||
{
|
|
||||||
wallMask_.setSize
|
|
||||||
(
|
|
||||||
this->ibPatch().ibCells().size(),
|
|
||||||
false
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
return wallMask_;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
makePatchTypeField
|
|
||||||
(
|
|
||||||
fvPatchVectorField,
|
|
||||||
immersedBoundaryVelocityWallFunctionFvPatchVectorField
|
|
||||||
);
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
} // End namespace RASModels
|
|
||||||
} // End namespace incompressible
|
|
||||||
} // End namespace Foam
|
|
||||||
|
|
||||||
// ************************************************************************* //
|
|
|
@ -1,192 +0,0 @@
|
||||||
/*---------------------------------------------------------------------------*\
|
|
||||||
========= |
|
|
||||||
\\ / F ield | foam-extend: Open Source CFD
|
|
||||||
\\ / O peration | Version: 4.0
|
|
||||||
\\ / A nd | Web: http://www.foam-extend.org
|
|
||||||
\\/ M anipulation | For copyright notice see file Copyright
|
|
||||||
-------------------------------------------------------------------------------
|
|
||||||
License
|
|
||||||
This file is part of foam-extend.
|
|
||||||
|
|
||||||
foam-extend 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.
|
|
||||||
|
|
||||||
foam-extend 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 foam-extend. If not, see <http://www.gnu.org/licenses/>.
|
|
||||||
|
|
||||||
Class
|
|
||||||
Foam::incompressible::RASModels::
|
|
||||||
immersedBoundaryVelocityWallFunctionFvPatchVectorField
|
|
||||||
|
|
||||||
Description
|
|
||||||
Boundary condition for velocity when using wall functions
|
|
||||||
- uses tangential velocity as prescribed by the epsilon boundary condition
|
|
||||||
to enforce into the fit
|
|
||||||
|
|
||||||
SourceFiles
|
|
||||||
immersedBoundaryVelocityWallFunctionFvPatchVectorField.C
|
|
||||||
|
|
||||||
\*---------------------------------------------------------------------------*/
|
|
||||||
|
|
||||||
#ifndef immersedBoundaryVelocityWallFunctionFvPatchVectorField_H
|
|
||||||
#define immersedBoundaryVelocityWallFunctionFvPatchVectorField_H
|
|
||||||
|
|
||||||
#include "fvPatchFields.H"
|
|
||||||
#include "immersedBoundaryFvPatchFields.H"
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
namespace Foam
|
|
||||||
{
|
|
||||||
namespace incompressible
|
|
||||||
{
|
|
||||||
namespace RASModels
|
|
||||||
{
|
|
||||||
|
|
||||||
/*---------------------------------------------------------------------------*\
|
|
||||||
Class immersedBoundaryVelocityWallFunctionFvPatchVectorField Declaration
|
|
||||||
\*---------------------------------------------------------------------------*/
|
|
||||||
|
|
||||||
class immersedBoundaryVelocityWallFunctionFvPatchVectorField
|
|
||||||
:
|
|
||||||
public immersedBoundaryFvPatchVectorField
|
|
||||||
{
|
|
||||||
// Private data
|
|
||||||
|
|
||||||
//- Tangential velocity value to fix in IB cell
|
|
||||||
mutable scalarField wallTangentialValue_;
|
|
||||||
|
|
||||||
//- Wall shear stress
|
|
||||||
mutable vectorField tauWall_;
|
|
||||||
|
|
||||||
//- Indicator on values to fix
|
|
||||||
mutable boolList wallMask_;
|
|
||||||
|
|
||||||
|
|
||||||
protected:
|
|
||||||
|
|
||||||
// Protected Member Functions
|
|
||||||
|
|
||||||
//- Set IB cell values: contains data manipulation
|
|
||||||
virtual void setIbCellValues(const vectorField&) const;
|
|
||||||
|
|
||||||
|
|
||||||
public:
|
|
||||||
|
|
||||||
//- Runtime type information
|
|
||||||
TypeName("immersedBoundaryVelocityWallFunction");
|
|
||||||
|
|
||||||
|
|
||||||
// Constructors
|
|
||||||
|
|
||||||
//- Construct from patch and internal field
|
|
||||||
immersedBoundaryVelocityWallFunctionFvPatchVectorField
|
|
||||||
(
|
|
||||||
const fvPatch&,
|
|
||||||
const DimensionedField<vector, volMesh>&
|
|
||||||
);
|
|
||||||
|
|
||||||
//- Construct from patch, internal field and dictionary
|
|
||||||
immersedBoundaryVelocityWallFunctionFvPatchVectorField
|
|
||||||
(
|
|
||||||
const fvPatch&,
|
|
||||||
const DimensionedField<vector, volMesh>&,
|
|
||||||
const dictionary&
|
|
||||||
);
|
|
||||||
|
|
||||||
//- Construct by mapping given
|
|
||||||
// immersedBoundaryVelocityWallFunctionFvPatchVectorField
|
|
||||||
// onto a new patch
|
|
||||||
immersedBoundaryVelocityWallFunctionFvPatchVectorField
|
|
||||||
(
|
|
||||||
const immersedBoundaryVelocityWallFunctionFvPatchVectorField&,
|
|
||||||
const fvPatch&,
|
|
||||||
const DimensionedField<vector, volMesh>&,
|
|
||||||
const fvPatchFieldMapper&
|
|
||||||
);
|
|
||||||
|
|
||||||
//- Construct as copy
|
|
||||||
immersedBoundaryVelocityWallFunctionFvPatchVectorField
|
|
||||||
(
|
|
||||||
const immersedBoundaryVelocityWallFunctionFvPatchVectorField&
|
|
||||||
);
|
|
||||||
|
|
||||||
//- Construct and return a clone
|
|
||||||
virtual tmp<fvPatchVectorField> clone() const
|
|
||||||
{
|
|
||||||
return tmp<fvPatchVectorField>
|
|
||||||
(
|
|
||||||
new immersedBoundaryVelocityWallFunctionFvPatchVectorField
|
|
||||||
(
|
|
||||||
*this
|
|
||||||
)
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
//- Construct as copy setting internal field reference
|
|
||||||
immersedBoundaryVelocityWallFunctionFvPatchVectorField
|
|
||||||
(
|
|
||||||
const immersedBoundaryVelocityWallFunctionFvPatchVectorField&,
|
|
||||||
const DimensionedField<vector, volMesh>&
|
|
||||||
);
|
|
||||||
|
|
||||||
//- Construct and return a clone setting internal field reference
|
|
||||||
virtual tmp<fvPatchVectorField> clone
|
|
||||||
(
|
|
||||||
const DimensionedField<vector, volMesh>& iF
|
|
||||||
) const
|
|
||||||
{
|
|
||||||
return tmp<fvPatchVectorField>
|
|
||||||
(
|
|
||||||
new immersedBoundaryVelocityWallFunctionFvPatchVectorField
|
|
||||||
(
|
|
||||||
*this,
|
|
||||||
iF
|
|
||||||
)
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
//- Destructor
|
|
||||||
virtual ~immersedBoundaryVelocityWallFunctionFvPatchVectorField()
|
|
||||||
{}
|
|
||||||
|
|
||||||
|
|
||||||
// Member functions
|
|
||||||
|
|
||||||
// Access
|
|
||||||
|
|
||||||
//- Access to tangential velocity value to fix in IB cell
|
|
||||||
// Note non-const access
|
|
||||||
scalarField& wallTangentialValue() const;
|
|
||||||
|
|
||||||
//- Return wall shear stress
|
|
||||||
const vectorField& wallShearStress() const;
|
|
||||||
|
|
||||||
//- Access to wall shear stress in IB cell
|
|
||||||
// Note non-const access
|
|
||||||
vectorField& tauWall() const;
|
|
||||||
|
|
||||||
//- Access to indicator on fixed values. Note non-const access
|
|
||||||
boolList& wallMask() const;
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
} // End namespace RASModels
|
|
||||||
} // End namespace incompressible
|
|
||||||
} // End namespace Foam
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
// ************************************************************************* //
|
|
|
@ -1,233 +0,0 @@
|
||||||
/*---------------------------------------------------------------------------*\
|
|
||||||
========= |
|
|
||||||
\\ / F ield | foam-extend: Open Source CFD
|
|
||||||
\\ / O peration | Version: 4.0
|
|
||||||
\\ / A nd | Web: http://www.foam-extend.org
|
|
||||||
\\/ M anipulation | For copyright notice see file Copyright
|
|
||||||
-------------------------------------------------------------------------------
|
|
||||||
License
|
|
||||||
This file is part of foam-extend.
|
|
||||||
|
|
||||||
foam-extend 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.
|
|
||||||
|
|
||||||
foam-extend 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 foam-extend. If not, see <http://www.gnu.org/licenses/>.
|
|
||||||
|
|
||||||
\*---------------------------------------------------------------------------*/
|
|
||||||
|
|
||||||
#include "immersedBoundaryWallFunctionFvPatchField.H"
|
|
||||||
#include "fvPatchFieldMapper.H"
|
|
||||||
#include "addToRunTimeSelectionTable.H"
|
|
||||||
#include "wallFvPatch.H"
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
namespace Foam
|
|
||||||
{
|
|
||||||
namespace incompressible
|
|
||||||
{
|
|
||||||
namespace RASModels
|
|
||||||
{
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * Protected Member Functions * * * * * * * * * * //
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
template<class Type>
|
|
||||||
void immersedBoundaryWallFunctionFvPatchField<Type>::setIbCellValues
|
|
||||||
(
|
|
||||||
const Field<Type>& ibcValues
|
|
||||||
) const
|
|
||||||
{
|
|
||||||
const labelList& ibc = this->ibPatch().ibCells();
|
|
||||||
|
|
||||||
if (ibcValues.size() != ibc.size())
|
|
||||||
{
|
|
||||||
FatalErrorIn
|
|
||||||
(
|
|
||||||
"template<class Type>\n"
|
|
||||||
"void immersedBoundaryWallFunctionFvPatchField<Type>::"
|
|
||||||
"setIbCellValues\n"
|
|
||||||
"(\n"
|
|
||||||
" const Field<Type>& ibcValues\n"
|
|
||||||
") const"
|
|
||||||
) << "Size of ibcValues field not equal to the number of IB cells."
|
|
||||||
<< nl << "ibcValues: " << ibcValues.size()
|
|
||||||
<< " ibc: " << ibc.size()
|
|
||||||
<< abort(FatalError);
|
|
||||||
}
|
|
||||||
|
|
||||||
// Get non-const access to internal field
|
|
||||||
Field<Type>& psiI = const_cast<Field<Type>&>(this->internalField());
|
|
||||||
|
|
||||||
if (wallValue_.empty() || wallMask_.empty())
|
|
||||||
{
|
|
||||||
immersedBoundaryFvPatchField<Type>::setIbCellValues(ibcValues);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
forAll (ibcValues, cellI)
|
|
||||||
{
|
|
||||||
// If mask is set use the wall value, otherwise use the
|
|
||||||
// fitted value
|
|
||||||
if (wallMask_[cellI])
|
|
||||||
{
|
|
||||||
psiI[ibc[cellI]] = wallValue_[cellI];
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
psiI[ibc[cellI]] = ibcValues[cellI];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
template<class Type>
|
|
||||||
immersedBoundaryWallFunctionFvPatchField<Type>::
|
|
||||||
immersedBoundaryWallFunctionFvPatchField
|
|
||||||
(
|
|
||||||
const fvPatch& p,
|
|
||||||
const DimensionedField<Type, volMesh>& iF
|
|
||||||
)
|
|
||||||
:
|
|
||||||
immersedBoundaryFvPatchField<Type>(p, iF),
|
|
||||||
wallValue_(),
|
|
||||||
wallMask_()
|
|
||||||
{}
|
|
||||||
|
|
||||||
|
|
||||||
template<class Type>
|
|
||||||
immersedBoundaryWallFunctionFvPatchField<Type>::
|
|
||||||
immersedBoundaryWallFunctionFvPatchField
|
|
||||||
(
|
|
||||||
const fvPatch& p,
|
|
||||||
const DimensionedField<Type, volMesh>& iF,
|
|
||||||
const dictionary& dict
|
|
||||||
)
|
|
||||||
:
|
|
||||||
immersedBoundaryFvPatchField<Type>(p, iF, dict),
|
|
||||||
wallValue_(),
|
|
||||||
wallMask_()
|
|
||||||
{}
|
|
||||||
|
|
||||||
|
|
||||||
template<class Type>
|
|
||||||
immersedBoundaryWallFunctionFvPatchField<Type>::
|
|
||||||
immersedBoundaryWallFunctionFvPatchField
|
|
||||||
(
|
|
||||||
const immersedBoundaryWallFunctionFvPatchField& ptf,
|
|
||||||
const fvPatch& p,
|
|
||||||
const DimensionedField<Type, volMesh>& iF,
|
|
||||||
const fvPatchFieldMapper& mapper
|
|
||||||
)
|
|
||||||
:
|
|
||||||
immersedBoundaryFvPatchField<Type>(ptf, p, iF, mapper),
|
|
||||||
wallValue_(),
|
|
||||||
wallMask_()
|
|
||||||
{}
|
|
||||||
|
|
||||||
|
|
||||||
template<class Type>
|
|
||||||
immersedBoundaryWallFunctionFvPatchField<Type>::
|
|
||||||
immersedBoundaryWallFunctionFvPatchField
|
|
||||||
(
|
|
||||||
const immersedBoundaryWallFunctionFvPatchField& tkqrwfpf
|
|
||||||
)
|
|
||||||
:
|
|
||||||
immersedBoundaryFvPatchField<Type>(tkqrwfpf),
|
|
||||||
wallValue_(),
|
|
||||||
wallMask_()
|
|
||||||
{}
|
|
||||||
|
|
||||||
|
|
||||||
template<class Type>
|
|
||||||
immersedBoundaryWallFunctionFvPatchField<Type>::
|
|
||||||
immersedBoundaryWallFunctionFvPatchField
|
|
||||||
(
|
|
||||||
const immersedBoundaryWallFunctionFvPatchField& tkqrwfpf,
|
|
||||||
const DimensionedField<Type, volMesh>& iF
|
|
||||||
)
|
|
||||||
:
|
|
||||||
immersedBoundaryFvPatchField<Type>(tkqrwfpf, iF),
|
|
||||||
wallValue_(),
|
|
||||||
wallMask_()
|
|
||||||
{}
|
|
||||||
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
template<class Type>
|
|
||||||
Foam::Field<Type>& immersedBoundaryWallFunctionFvPatchField<Type>::wallValue() const
|
|
||||||
{
|
|
||||||
// Note: on a moving mesh, the intersection has changed and
|
|
||||||
// wallValue fields should be cleared and recalculated.
|
|
||||||
// This should happen only once, but I cannot see the mechanism
|
|
||||||
// HJ, 17/Oct/2012
|
|
||||||
// Bugfix 30/OCT/2015 - check if the mesh is moving
|
|
||||||
|
|
||||||
const immersedBoundaryFvPatch& ibFvP =
|
|
||||||
immersedBoundaryFvPatchField<Type>::ibPatch();
|
|
||||||
|
|
||||||
if
|
|
||||||
(
|
|
||||||
wallValue_.empty()
|
|
||||||
|| (ibFvP.movingIb() || ibFvP.boundaryMesh().mesh().moving())
|
|
||||||
)
|
|
||||||
{
|
|
||||||
wallValue_.setSize
|
|
||||||
(
|
|
||||||
this->ibPatch().ibCells().size(),
|
|
||||||
pTraits<Type>::zero
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
return wallValue_;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
template<class Type>
|
|
||||||
Foam::boolList& immersedBoundaryWallFunctionFvPatchField<Type>::wallMask() const
|
|
||||||
{
|
|
||||||
// Note: on a moving mesh, the intersection has changed and
|
|
||||||
// wallValue fields should be cleared and recalculated.
|
|
||||||
// This should happen only once, but I cannot see the mechanism
|
|
||||||
// HJ, 17/Oct/2012
|
|
||||||
// Bugfix 30/OCT/2015 - check if the mesh is moving
|
|
||||||
const immersedBoundaryFvPatch& ibFvP =
|
|
||||||
immersedBoundaryFvPatchField<Type>::ibPatch();
|
|
||||||
|
|
||||||
if
|
|
||||||
(
|
|
||||||
wallMask_.empty()
|
|
||||||
|| (ibFvP.movingIb() || ibFvP.boundaryMesh().mesh().moving())
|
|
||||||
)
|
|
||||||
{
|
|
||||||
wallMask_.setSize
|
|
||||||
(
|
|
||||||
this->ibPatch().ibCells().size(),
|
|
||||||
false
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
return wallMask_;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
} // End namespace RASModels
|
|
||||||
} // End namespace incompressible
|
|
||||||
} // End namespace Foam
|
|
||||||
|
|
||||||
// ************************************************************************* //
|
|
|
@ -1,195 +0,0 @@
|
||||||
/*---------------------------------------------------------------------------*\
|
|
||||||
========= |
|
|
||||||
\\ / F ield | foam-extend: Open Source CFD
|
|
||||||
\\ / O peration | Version: 4.0
|
|
||||||
\\ / A nd | Web: http://www.foam-extend.org
|
|
||||||
\\/ M anipulation | For copyright notice see file Copyright
|
|
||||||
-------------------------------------------------------------------------------
|
|
||||||
License
|
|
||||||
This file is part of foam-extend.
|
|
||||||
|
|
||||||
foam-extend 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.
|
|
||||||
|
|
||||||
foam-extend 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 foam-extend. If not, see <http://www.gnu.org/licenses/>.
|
|
||||||
|
|
||||||
Class
|
|
||||||
Foam::incompressible::RASModels::immersedBoundaryWallFunctionFvPatchField
|
|
||||||
|
|
||||||
Description
|
|
||||||
Boundary condition for passive turbulence variables (U, k, q, R, nut)
|
|
||||||
when using wall functions on an immersed boundary patch
|
|
||||||
|
|
||||||
Apart form standard immersed boundary capability, the patch field allows
|
|
||||||
only some values to be fixed, as defined by the wall function calculation.
|
|
||||||
|
|
||||||
This is handled using the ibWallValue and ibWallMask arrays, corresponding
|
|
||||||
to the number of ibCells
|
|
||||||
|
|
||||||
The implementation of wall functions on an immersed boundary will fix
|
|
||||||
the values of k, epsilon, nut and tangential velocity in cells within
|
|
||||||
the log-law layer. For the cells in the laminar sublayer, k and epsilon
|
|
||||||
(omega) will be calculated using a zero gradient condition,
|
|
||||||
nut will be set to zero and the tangential component of the
|
|
||||||
velocity will be corrected.
|
|
||||||
|
|
||||||
Author
|
|
||||||
Hrvoje Jasak, Wikki Ltd. All rights reserved
|
|
||||||
|
|
||||||
SourceFiles
|
|
||||||
immersedBoundaryWallFunctionFvPatchField.C
|
|
||||||
|
|
||||||
\*---------------------------------------------------------------------------*/
|
|
||||||
|
|
||||||
#ifndef immersedBoundaryWallFunctionFvPatchField_H
|
|
||||||
#define immersedBoundaryWallFunctionFvPatchField_H
|
|
||||||
|
|
||||||
#include "fvPatchFields.H"
|
|
||||||
#include "immersedBoundaryFvPatchField.H"
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
namespace Foam
|
|
||||||
{
|
|
||||||
namespace incompressible
|
|
||||||
{
|
|
||||||
namespace RASModels
|
|
||||||
{
|
|
||||||
|
|
||||||
/*---------------------------------------------------------------------------*\
|
|
||||||
Class immersedBoundaryWallFunctionFvPatchField Declaration
|
|
||||||
\*---------------------------------------------------------------------------*/
|
|
||||||
|
|
||||||
template<class Type>
|
|
||||||
class immersedBoundaryWallFunctionFvPatchField
|
|
||||||
:
|
|
||||||
public immersedBoundaryFvPatchField<Type>
|
|
||||||
{
|
|
||||||
// Private data
|
|
||||||
|
|
||||||
//- Value to fix in IB cell
|
|
||||||
mutable Field<Type> wallValue_;
|
|
||||||
|
|
||||||
//- Indicator on values to fix
|
|
||||||
mutable boolList wallMask_;
|
|
||||||
|
|
||||||
|
|
||||||
protected:
|
|
||||||
|
|
||||||
// Protected Member Functions
|
|
||||||
|
|
||||||
//- Set IB cell values: contains data manipulation
|
|
||||||
virtual void setIbCellValues(const Field<Type>&) const;
|
|
||||||
|
|
||||||
|
|
||||||
public:
|
|
||||||
|
|
||||||
//- Runtime type information
|
|
||||||
TypeName("immersedBoundaryWallFunction");
|
|
||||||
|
|
||||||
|
|
||||||
// Constructors
|
|
||||||
|
|
||||||
//- Construct from patch and internal field
|
|
||||||
immersedBoundaryWallFunctionFvPatchField
|
|
||||||
(
|
|
||||||
const fvPatch&,
|
|
||||||
const DimensionedField<Type, volMesh>&
|
|
||||||
);
|
|
||||||
|
|
||||||
//- Construct from patch, internal field and dictionary
|
|
||||||
immersedBoundaryWallFunctionFvPatchField
|
|
||||||
(
|
|
||||||
const fvPatch&,
|
|
||||||
const DimensionedField<Type, volMesh>&,
|
|
||||||
const dictionary&
|
|
||||||
);
|
|
||||||
|
|
||||||
//- Construct by mapping given
|
|
||||||
// immersedBoundaryWallFunctionFvPatchField
|
|
||||||
// onto a new patch
|
|
||||||
immersedBoundaryWallFunctionFvPatchField
|
|
||||||
(
|
|
||||||
const immersedBoundaryWallFunctionFvPatchField&,
|
|
||||||
const fvPatch&,
|
|
||||||
const DimensionedField<Type, volMesh>&,
|
|
||||||
const fvPatchFieldMapper&
|
|
||||||
);
|
|
||||||
|
|
||||||
//- Construct as copy
|
|
||||||
immersedBoundaryWallFunctionFvPatchField
|
|
||||||
(
|
|
||||||
const immersedBoundaryWallFunctionFvPatchField&
|
|
||||||
);
|
|
||||||
|
|
||||||
//- Construct and return a clone
|
|
||||||
virtual tmp<fvPatchField<Type> > clone() const
|
|
||||||
{
|
|
||||||
return tmp<fvPatchField<Type> >
|
|
||||||
(
|
|
||||||
new immersedBoundaryWallFunctionFvPatchField(*this)
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
//- Construct as copy setting internal field reference
|
|
||||||
immersedBoundaryWallFunctionFvPatchField
|
|
||||||
(
|
|
||||||
const immersedBoundaryWallFunctionFvPatchField&,
|
|
||||||
const DimensionedField<Type, volMesh>&
|
|
||||||
);
|
|
||||||
|
|
||||||
//- Construct and return a clone setting internal field reference
|
|
||||||
virtual tmp<fvPatchField<Type> > clone
|
|
||||||
(
|
|
||||||
const DimensionedField<Type, volMesh>& iF
|
|
||||||
) const
|
|
||||||
{
|
|
||||||
return tmp<fvPatchField<Type> >
|
|
||||||
(
|
|
||||||
new immersedBoundaryWallFunctionFvPatchField(*this, iF)
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
//- Destructor
|
|
||||||
virtual ~immersedBoundaryWallFunctionFvPatchField()
|
|
||||||
{}
|
|
||||||
|
|
||||||
|
|
||||||
// Member functions
|
|
||||||
|
|
||||||
// Access
|
|
||||||
|
|
||||||
//- Access to value to fix in IB cell. Note non-const access
|
|
||||||
Field<Type>& wallValue() const;
|
|
||||||
|
|
||||||
//- Access to indicator on fixed values. Note non-const access
|
|
||||||
boolList& wallMask() const;
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
} // End namespace RASModels
|
|
||||||
} // End namespace incompressible
|
|
||||||
} // End namespace Foam
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
#ifdef NoRepository
|
|
||||||
# include "immersedBoundaryWallFunctionFvPatchField.C"
|
|
||||||
#endif
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
// ************************************************************************* //
|
|
|
@ -1,50 +0,0 @@
|
||||||
/*---------------------------------------------------------------------------*\
|
|
||||||
========= |
|
|
||||||
\\ / F ield | foam-extend: Open Source CFD
|
|
||||||
\\ / O peration | Version: 4.0
|
|
||||||
\\ / A nd | Web: http://www.foam-extend.org
|
|
||||||
\\/ M anipulation | For copyright notice see file Copyright
|
|
||||||
-------------------------------------------------------------------------------
|
|
||||||
License
|
|
||||||
This file is part of foam-extend.
|
|
||||||
|
|
||||||
foam-extend 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.
|
|
||||||
|
|
||||||
foam-extend 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 foam-extend. If not, see <http://www.gnu.org/licenses/>.
|
|
||||||
|
|
||||||
\*---------------------------------------------------------------------------*/
|
|
||||||
|
|
||||||
#include "immersedBoundaryWallFunctionFvPatchFields.H"
|
|
||||||
#include "fvPatchFields.H"
|
|
||||||
#include "addToRunTimeSelectionTable.H"
|
|
||||||
#include "volFields.H"
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
namespace Foam
|
|
||||||
{
|
|
||||||
namespace incompressible
|
|
||||||
{
|
|
||||||
namespace RASModels
|
|
||||||
{
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
makePatchFields(immersedBoundaryWallFunction);
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
} // End namespace RASModels
|
|
||||||
} // End namespace incompressible
|
|
||||||
} // End namespace Foam
|
|
||||||
|
|
||||||
// ************************************************************************* //
|
|
|
@ -1,55 +0,0 @@
|
||||||
/*---------------------------------------------------------------------------*\
|
|
||||||
========= |
|
|
||||||
\\ / F ield | foam-extend: Open Source CFD
|
|
||||||
\\ / O peration | Version: 4.0
|
|
||||||
\\ / A nd | Web: http://www.foam-extend.org
|
|
||||||
\\/ M anipulation | For copyright notice see file Copyright
|
|
||||||
-------------------------------------------------------------------------------
|
|
||||||
License
|
|
||||||
This file is part of foam-extend.
|
|
||||||
|
|
||||||
foam-extend 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.
|
|
||||||
|
|
||||||
foam-extend 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 foam-extend. If not, see <http://www.gnu.org/licenses/>.
|
|
||||||
|
|
||||||
\*---------------------------------------------------------------------------*/
|
|
||||||
|
|
||||||
#ifndef immersedBoundaryWallFunctionFvPatchFields_H
|
|
||||||
#define immersedBoundaryWallFunctionFvPatchFields_H
|
|
||||||
|
|
||||||
#include "immersedBoundaryWallFunctionFvPatchField.H"
|
|
||||||
#include "fieldTypes.H"
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
namespace Foam
|
|
||||||
{
|
|
||||||
namespace incompressible
|
|
||||||
{
|
|
||||||
namespace RASModels
|
|
||||||
{
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
makePatchTypeFieldTypedefs(immersedBoundaryWallFunction)
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
} // End namespace RASModels
|
|
||||||
} // End namespace incompressible
|
|
||||||
} // End namespace Foam
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
// ************************************************************************* //
|
|
|
@ -50,4 +50,4 @@ list(APPEND SOURCES
|
||||||
|
|
||||||
add_foam_library(dsmc SHARED ${SOURCES})
|
add_foam_library(dsmc SHARED ${SOURCES})
|
||||||
|
|
||||||
target_link_libraries(dsmc finiteVolume lagrangianBasic)
|
target_link_libraries(dsmc PUBLIC finiteVolume lagrangianBasic)
|
||||||
|
|
|
@ -30,11 +30,6 @@
|
||||||
#
|
#
|
||||||
# --------------------------------------------------------------------------
|
# --------------------------------------------------------------------------
|
||||||
|
|
||||||
list(APPEND SOURCES
|
|
||||||
crMatrix/crAddressing.C
|
|
||||||
crMatrix/crMatrix.C
|
|
||||||
)
|
|
||||||
|
|
||||||
set(lduPrecon lduPrecon)
|
set(lduPrecon lduPrecon)
|
||||||
list(APPEND SOURCES
|
list(APPEND SOURCES
|
||||||
${lduPrecon}/CholeskyPrecon/CholeskyPrecon.C
|
${lduPrecon}/CholeskyPrecon/CholeskyPrecon.C
|
||||||
|
@ -49,6 +44,7 @@ set(lduSmoother lduSmoother)
|
||||||
list(APPEND SOURCES
|
list(APPEND SOURCES
|
||||||
${lduSmoother}/symGaussSeidelSmoother/symGaussSeidelSmoother.C
|
${lduSmoother}/symGaussSeidelSmoother/symGaussSeidelSmoother.C
|
||||||
${lduSmoother}/iluSmoother/iluSmoother.C
|
${lduSmoother}/iluSmoother/iluSmoother.C
|
||||||
|
${lduSmoother}/iluC0Smoother/iluC0Smoother.C
|
||||||
)
|
)
|
||||||
|
|
||||||
set(lduSolver lduSolver)
|
set(lduSolver lduSolver)
|
||||||
|
@ -75,6 +71,8 @@ set(amgPolicy ${amg}/amgPolicy)
|
||||||
list(APPEND SOURCES
|
list(APPEND SOURCES
|
||||||
${amgPolicy}/amgPolicy.C
|
${amgPolicy}/amgPolicy.C
|
||||||
${amgPolicy}/pamgPolicy.C
|
${amgPolicy}/pamgPolicy.C
|
||||||
|
${amgPolicy}/clusterAmgPolicy.C
|
||||||
|
${amgPolicy}/selectionAmgPolicy.C
|
||||||
)
|
)
|
||||||
|
|
||||||
add_foam_library(lduSolvers SHARED ${SOURCES})
|
add_foam_library(lduSolvers SHARED ${SOURCES})
|
||||||
|
|
|
@ -34,6 +34,7 @@ list(APPEND SOURCES
|
||||||
extrudeModel/extrudeModel.C
|
extrudeModel/extrudeModel.C
|
||||||
extrudeModel/newExtrudeModel.C
|
extrudeModel/newExtrudeModel.C
|
||||||
linearNormal/linearNormal.C
|
linearNormal/linearNormal.C
|
||||||
|
gradedNormal/gradedNormal.C
|
||||||
linearRadial/linearRadial.C
|
linearRadial/linearRadial.C
|
||||||
sigmaRadial/sigmaRadial.C
|
sigmaRadial/sigmaRadial.C
|
||||||
wedge/wedge.C
|
wedge/wedge.C
|
||||||
|
@ -41,4 +42,4 @@ list(APPEND SOURCES
|
||||||
|
|
||||||
add_foam_library(extrudeModel SHARED ${SOURCES})
|
add_foam_library(extrudeModel SHARED ${SOURCES})
|
||||||
|
|
||||||
target_link_libraries(extrudeModel PUBLIC dynamicMesh)
|
target_link_libraries(extrudeModel PUBLIC dynamicMesh ODE)
|
||||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -30,5 +30,5 @@
|
||||||
#
|
#
|
||||||
# --------------------------------------------------------------------------
|
# --------------------------------------------------------------------------
|
||||||
|
|
||||||
add_subdirectory(vtkPV4Foam)
|
add_subdirectory(oversetMesh)
|
||||||
add_subdirectory(PV4FoamReader)
|
add_subdirectory(oversetDynamicFvMesh)
|
|
@ -31,16 +31,10 @@
|
||||||
# --------------------------------------------------------------------------
|
# --------------------------------------------------------------------------
|
||||||
|
|
||||||
list(APPEND SOURCES
|
list(APPEND SOURCES
|
||||||
potentialIbFoam.C
|
movingOversetRegion/movingOversetRegion.C
|
||||||
|
oversetSolidBodyMotionFvMesh/oversetSolidBodyMotionFvMesh.C
|
||||||
)
|
)
|
||||||
|
|
||||||
# Set minimal environment for external compilation
|
add_foam_library(oversetDynamicFvMesh SHARED ${SOURCES})
|
||||||
if(NOT FOAM_FOUND)
|
|
||||||
cmake_minimum_required(VERSION 2.8)
|
|
||||||
find_package(FOAM REQUIRED)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
add_foam_executable(potentialIbFoam
|
target_link_libraries(oversetDynamicFvMesh PUBLIC oversetMesh dynamicFvMesh solidBodyMotion)
|
||||||
DEPENDS immersedBoundary
|
|
||||||
SOURCES ${SOURCES}
|
|
||||||
)
|
|
79
src/overset/oversetMesh/CMakeLists.txt
Normal file
79
src/overset/oversetMesh/CMakeLists.txt
Normal file
|
@ -0,0 +1,79 @@
|
||||||
|
# --------------------------------------------------------------------------
|
||||||
|
# ======== |
|
||||||
|
# \ / F ield | foam-extend: Open Source CFD
|
||||||
|
# \ / O peration | Version: 4.1
|
||||||
|
# \ / A nd | Web: http://www.foam-extend.org
|
||||||
|
# \/ M anipulation | For copyright notice see file Copyright
|
||||||
|
# --------------------------------------------------------------------------
|
||||||
|
# License
|
||||||
|
# This file is part of foam-extend.
|
||||||
|
#
|
||||||
|
# foam-extend 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.
|
||||||
|
#
|
||||||
|
# foam-extend 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 foam-extend. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
#
|
||||||
|
# Description
|
||||||
|
# CMakeLists.txt file for libraries and applications
|
||||||
|
#
|
||||||
|
# Author
|
||||||
|
# Henrik Rusche, Wikki GmbH, 2017. All rights reserved
|
||||||
|
#
|
||||||
|
#
|
||||||
|
# --------------------------------------------------------------------------
|
||||||
|
|
||||||
|
list(APPEND SOURCES
|
||||||
|
oversetRegion/oversetRegion.C
|
||||||
|
|
||||||
|
oversetFringe/oversetFringe/oversetFringe.C
|
||||||
|
oversetFringe/oversetFringe/newOversetFringe.C
|
||||||
|
oversetFringe/manualFringe/manualFringe.C
|
||||||
|
oversetFringe/faceCellsFringe/faceCellsFringe.C
|
||||||
|
oversetFringe/overlapFringe/overlapFringe.C
|
||||||
|
oversetFringe/compositeFringe/compositeFringe.C
|
||||||
|
|
||||||
|
oversetFringe/overlapFringe/donorSuitability/donorSuitability/donorSuitability.C
|
||||||
|
oversetFringe/overlapFringe/donorSuitability/donorSuitability/newDonorSuitability.C
|
||||||
|
oversetFringe/overlapFringe/donorSuitability/noSuitability/noSuitability.C
|
||||||
|
oversetFringe/overlapFringe/donorSuitability/patchDistance/patchDistance.C
|
||||||
|
oversetFringe/overlapFringe/donorSuitability/cellVolumes/cellVolumes.C
|
||||||
|
oversetFringe/overlapFringe/donorSuitability/faceArea/faceArea.C
|
||||||
|
oversetFringe/overlapFringe/donorSuitability/cellBoundingBoxDiagonal/cellBoundingBoxDiagonal.C
|
||||||
|
|
||||||
|
oversetInterpolation/oversetInterpolation/oversetInterpolation.C
|
||||||
|
oversetInterpolation/oversetInterpolation/newOversetInterpolation.C
|
||||||
|
oversetInterpolation/injectionInterpolation/injectionInterpolation.C
|
||||||
|
oversetInterpolation/inverseDistanceInterpolation/inverseDistanceInterpolation.C
|
||||||
|
oversetInterpolation/averageValueInterpolation/averageValueInterpolation.C
|
||||||
|
|
||||||
|
oversetMesh/oversetMesh.C
|
||||||
|
oversetMesh/oversetMeshAddressing.C
|
||||||
|
|
||||||
|
oversetLduInterface/oversetLduInterface.C
|
||||||
|
oversetLduInterfaceField/oversetLduInterfaceField.C
|
||||||
|
|
||||||
|
oversetPolyPatch/oversetPolyPatch.C
|
||||||
|
oversetPointPatch/oversetPointPatch.C
|
||||||
|
|
||||||
|
oversetFvPatch/oversetFvPatch.C
|
||||||
|
|
||||||
|
oversetFvPatchField/oversetFvPatchFields.C
|
||||||
|
oversetFvPatchField/emptyOversetFvPatchField/emptyOversetFvPatchFields.C
|
||||||
|
oversetFvsPatchField/oversetFvsPatchFields.C
|
||||||
|
|
||||||
|
oversetAdjustPhi/oversetAdjustPhi.C
|
||||||
|
oversetAdjustPhi/globalOversetAdjustPhi.C
|
||||||
|
oversetAdjustPhi/regionWiseOversetAdjustPhi.C
|
||||||
|
)
|
||||||
|
|
||||||
|
add_foam_library(oversetMesh SHARED ${SOURCES})
|
||||||
|
|
||||||
|
target_link_libraries(oversetMesh PUBLIC sampling dynamicMesh)
|
|
@ -42,6 +42,7 @@ list(APPEND SOURCES
|
||||||
field/div/div.C
|
field/div/div.C
|
||||||
field/randomise/randomise.C
|
field/randomise/randomise.C
|
||||||
field/interpolate/interpolate.C
|
field/interpolate/interpolate.C
|
||||||
|
field/helicity/helicity.C
|
||||||
basic/addSubtract/addSubtract.C
|
basic/addSubtract/addSubtract.C
|
||||||
basic/scalarMult/scalarMult.C
|
basic/scalarMult/scalarMult.C
|
||||||
)
|
)
|
||||||
|
|
|
@ -36,3 +36,5 @@ add_subdirectory(utilities)
|
||||||
add_subdirectory(field)
|
add_subdirectory(field)
|
||||||
add_subdirectory(forces)
|
add_subdirectory(forces)
|
||||||
add_subdirectory(check)
|
add_subdirectory(check)
|
||||||
|
add_subdirectory(fvTools)
|
||||||
|
add_subdirectory(jobControl)
|
||||||
|
|
|
@ -31,10 +31,16 @@
|
||||||
# --------------------------------------------------------------------------
|
# --------------------------------------------------------------------------
|
||||||
|
|
||||||
list(APPEND SOURCES
|
list(APPEND SOURCES
|
||||||
|
partialWrite/partialWrite.C
|
||||||
|
partialWrite/partialWriteFunctionObject.C
|
||||||
|
removeRegisteredObject/removeRegisteredObject.C
|
||||||
|
removeRegisteredObject/removeRegisteredObjectFunctionObject.C
|
||||||
|
writeDictionary/writeDictionary.C
|
||||||
|
writeDictionary/writeDictionaryFunctionObject.C
|
||||||
writeRegisteredObject/writeRegisteredObject.C
|
writeRegisteredObject/writeRegisteredObject.C
|
||||||
writeRegisteredObject/writeRegisteredObjectFunctionObject.C
|
writeRegisteredObject/writeRegisteredObjectFunctionObject.C
|
||||||
)
|
)
|
||||||
|
|
||||||
add_foam_library(IOFunctionObjects SHARED ${SOURCES})
|
add_foam_library(IOFunctionObjects SHARED ${SOURCES})
|
||||||
|
|
||||||
target_link_libraries(IOFunctionObjects PUBLIC foam)
|
target_link_libraries(IOFunctionObjects PUBLIC finiteVolume)
|
||||||
|
|
|
@ -35,21 +35,30 @@ list(APPEND SOURCES
|
||||||
fieldAverage/fieldAverageItem/fieldAverageItem.C
|
fieldAverage/fieldAverageItem/fieldAverageItem.C
|
||||||
fieldAverage/fieldAverageItem/fieldAverageItemIO.C
|
fieldAverage/fieldAverageItem/fieldAverageItemIO.C
|
||||||
fieldAverage/fieldAverageFunctionObject/fieldAverageFunctionObject.C
|
fieldAverage/fieldAverageFunctionObject/fieldAverageFunctionObject.C
|
||||||
|
fieldCoordinateSystemTransform/fieldCoordinateSystemTransform.C
|
||||||
|
fieldCoordinateSystemTransform/fieldCoordinateSystemTransformFunctionObject.C
|
||||||
fieldMinMax/fieldMinMax.C
|
fieldMinMax/fieldMinMax.C
|
||||||
fieldMinMax/fieldMinMaxFunctionObject.C
|
fieldMinMax/fieldMinMaxFunctionObject.C
|
||||||
minMaxField/minMaxField.C
|
minMaxField/minMaxField.C
|
||||||
maxFieldCell/maxFieldCell.C
|
maxFieldCell/maxFieldCell.C
|
||||||
fieldValues/fieldValue/fieldValue.C
|
fieldValues/fieldValue/fieldValue.C
|
||||||
|
fieldValues/fieldValue/fieldValueNew.C
|
||||||
|
fieldValues/fieldValueDelta/fieldValueDelta.C
|
||||||
|
fieldValues/fieldValueDelta/fieldValueDeltaFunctionObject.C
|
||||||
fieldValues/faceSource/faceSource.C
|
fieldValues/faceSource/faceSource.C
|
||||||
fieldValues/faceSource/faceSourceFunctionObject.C
|
fieldValues/faceSource/faceSourceFunctionObject.C
|
||||||
fieldValues/cellSource/cellSource.C
|
fieldValues/cellSource/cellSource.C
|
||||||
fieldValues/cellSource/cellSourceFunctionObject.C
|
fieldValues/cellSource/cellSourceFunctionObject.C
|
||||||
|
processorField/processorField.C
|
||||||
|
processorField/processorFieldFunctionObject.C
|
||||||
readFields/readFields.C
|
readFields/readFields.C
|
||||||
readFields/readFieldsFunctionObject.C
|
readFields/readFieldsFunctionObject.C
|
||||||
surfaceInterpolateFields/surfaceInterpolateFieldsFunctionObject.C
|
|
||||||
surfaceInterpolateFields/surfaceInterpolateFields.C
|
surfaceInterpolateFields/surfaceInterpolateFields.C
|
||||||
|
surfaceInterpolateFields/surfaceInterpolateFieldsFunctionObject.C
|
||||||
|
regionSizeDistribution/regionSizeDistribution.C
|
||||||
|
regionSizeDistribution/regionSizeDistributionFunctionObject.C
|
||||||
)
|
)
|
||||||
|
|
||||||
add_foam_library(fieldFunctionObjects SHARED ${SOURCES})
|
add_foam_library(fieldFunctionObjects SHARED ${SOURCES})
|
||||||
|
|
||||||
target_link_libraries(fieldFunctionObjects PUBLIC finiteVolume)
|
target_link_libraries(fieldFunctionObjects PUBLIC finiteVolume sampling)
|
||||||
|
|
|
@ -31,16 +31,14 @@
|
||||||
# --------------------------------------------------------------------------
|
# --------------------------------------------------------------------------
|
||||||
|
|
||||||
list(APPEND SOURCES
|
list(APPEND SOURCES
|
||||||
porousSimpleIbFoam.C
|
calcFvcDiv/calcFvcDiv.C
|
||||||
|
calcFvcDiv/calcFvcDivFunctionObject.C
|
||||||
|
calcFvcGrad/calcFvcGrad.C
|
||||||
|
calcFvcGrad/calcFvcGradFunctionObject.C
|
||||||
|
calcMag/calcMag.C
|
||||||
|
calcMag/calcMagFunctionObject.C
|
||||||
)
|
)
|
||||||
|
|
||||||
# Set minimal environment for external compilation
|
add_foam_library(FVFunctionObjects SHARED ${SOURCES})
|
||||||
if(NOT FOAM_FOUND)
|
|
||||||
cmake_minimum_required(VERSION 2.8)
|
|
||||||
find_package(FOAM REQUIRED)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
add_foam_executable(porousSimpleIbFoam
|
target_link_libraries(FVFunctionObjects PUBLIC finiteVolume)
|
||||||
DEPENDS immersedBoundaryTurbulence
|
|
||||||
SOURCES ${SOURCES}
|
|
||||||
)
|
|
40
src/postProcessing/functionObjects/jobControl/CMakeLists.txt
Normal file
40
src/postProcessing/functionObjects/jobControl/CMakeLists.txt
Normal file
|
@ -0,0 +1,40 @@
|
||||||
|
# --------------------------------------------------------------------------
|
||||||
|
# ======== |
|
||||||
|
# \ / F ield | foam-extend: Open Source CFD
|
||||||
|
# \ / O peration | Version: 4.1
|
||||||
|
# \ / A nd | Web: http://www.foam-extend.org
|
||||||
|
# \/ M anipulation | For copyright notice see file Copyright
|
||||||
|
# --------------------------------------------------------------------------
|
||||||
|
# License
|
||||||
|
# This file is part of foam-extend.
|
||||||
|
#
|
||||||
|
# foam-extend 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.
|
||||||
|
#
|
||||||
|
# foam-extend 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 foam-extend. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
#
|
||||||
|
# Description
|
||||||
|
# CMakeLists.txt file for libraries and applications
|
||||||
|
#
|
||||||
|
# Author
|
||||||
|
# Henrik Rusche, Wikki GmbH, 2017. All rights reserved
|
||||||
|
#
|
||||||
|
#
|
||||||
|
# --------------------------------------------------------------------------
|
||||||
|
|
||||||
|
list(APPEND SOURCES
|
||||||
|
abortCalculation/abortCalculation.C
|
||||||
|
abortCalculation/abortCalculationFunctionObject.C
|
||||||
|
)
|
||||||
|
|
||||||
|
add_foam_library(jobControl SHARED ${SOURCES})
|
||||||
|
|
||||||
|
target_link_libraries(jobControl PUBLIC foam)
|
|
@ -31,14 +31,38 @@
|
||||||
# --------------------------------------------------------------------------
|
# --------------------------------------------------------------------------
|
||||||
|
|
||||||
list(APPEND SOURCES
|
list(APPEND SOURCES
|
||||||
|
codedFunctionObject/codedFunctionObject.C
|
||||||
|
CourantNo/CourantNo.C
|
||||||
|
CourantNo/CourantNoFunctionObject.C
|
||||||
|
Lambda2/Lambda2.C
|
||||||
|
Lambda2/Lambda2FunctionObject.C
|
||||||
|
Peclet/Peclet.C
|
||||||
|
Peclet/PecletFunctionObject.C
|
||||||
|
Q/Q.C
|
||||||
|
Q/QFunctionObject.C
|
||||||
staticPressure/staticPressure.C
|
staticPressure/staticPressure.C
|
||||||
staticPressure/staticPressureFunctionObject.C
|
staticPressure/staticPressureFunctionObject.C
|
||||||
dsmcFields/dsmcFields.C
|
dsmcFields/dsmcFields.C
|
||||||
dsmcFields/dsmcFieldsFunctionObject.C
|
dsmcFields/dsmcFieldsFunctionObject.C
|
||||||
MachNumber/MachNumber.C
|
MachNumber/MachNumber.C
|
||||||
divFlux/divFlux.C
|
divFlux/divFlux.C
|
||||||
|
pressureTools/pressureTools.C
|
||||||
|
pressureTools/pressureToolsFunctionObject.C
|
||||||
|
residuals/residuals.C
|
||||||
|
residuals/residualsFunctionObject.C
|
||||||
|
scalarTransport/scalarTransport.C
|
||||||
|
scalarTransport/scalarTransportFunctionObject.C
|
||||||
|
timeActivatedFileUpdate/timeActivatedFileUpdate.C
|
||||||
|
timeActivatedFileUpdate/timeActivatedFileUpdateFunctionObject.C
|
||||||
|
turbulenceFields/turbulenceFields.C
|
||||||
|
turbulenceFields/turbulenceFieldsFunctionObject.C
|
||||||
|
vorticity/vorticity.C
|
||||||
|
vorticity/vorticityFunctionObject.C
|
||||||
|
wallShearStress/wallShearStress.C
|
||||||
|
wallShearStress/wallShearStressFunctionObject.C
|
||||||
|
setTimeStep/setTimeStepFunctionObject.C
|
||||||
)
|
)
|
||||||
|
|
||||||
add_foam_library(utilityFunctionObjects SHARED ${SOURCES})
|
add_foam_library(utilityFunctionObjects SHARED ${SOURCES})
|
||||||
|
|
||||||
target_link_libraries(utilityFunctionObjects PUBLIC basicThermophysicalModels sampling dsmc)
|
target_link_libraries(utilityFunctionObjects PUBLIC basicThermophysicalModels sampling dsmc incompressibleTurbulenceModel compressibleTurbulenceModel)
|
||||||
|
|
|
@ -32,7 +32,8 @@
|
||||||
|
|
||||||
list(APPEND SOURCES
|
list(APPEND SOURCES
|
||||||
probes/probes.C
|
probes/probes.C
|
||||||
probes/probesFunctionObject.C
|
probes/probesGrouping.C
|
||||||
|
probes/probesFunctionObject/probesFunctionObject.C
|
||||||
sampledSet/coordSet/coordSet.C
|
sampledSet/coordSet/coordSet.C
|
||||||
sampledSet/sampledSet/sampledSet.C
|
sampledSet/sampledSet/sampledSet.C
|
||||||
sampledSet/cloud/cloudSet.C
|
sampledSet/cloud/cloudSet.C
|
||||||
|
@ -41,7 +42,9 @@ list(APPEND SOURCES
|
||||||
sampledSet/uniform/uniformSet.C
|
sampledSet/uniform/uniformSet.C
|
||||||
sampledSet/midPoint/midPointSet.C
|
sampledSet/midPoint/midPointSet.C
|
||||||
sampledSet/midPointAndFace/midPointAndFaceSet.C
|
sampledSet/midPointAndFace/midPointAndFaceSet.C
|
||||||
|
sampledSet/sampledSet/sampledSet.C
|
||||||
sampledSet/sampledSets/sampledSets.C
|
sampledSet/sampledSets/sampledSets.C
|
||||||
|
sampledSet/sampledSets/sampledSetsGrouping.C
|
||||||
sampledSet/sampledSetsFunctionObject/sampledSetsFunctionObject.C
|
sampledSet/sampledSetsFunctionObject/sampledSetsFunctionObject.C
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -64,6 +67,7 @@ list(APPEND SOURCES
|
||||||
sampledSurface/sampledCuttingPlane/sampledCuttingPlane.C
|
sampledSurface/sampledCuttingPlane/sampledCuttingPlane.C
|
||||||
sampledSurface/sampledSurface/sampledSurface.C
|
sampledSurface/sampledSurface/sampledSurface.C
|
||||||
sampledSurface/sampledSurfaces/sampledSurfaces.C
|
sampledSurface/sampledSurfaces/sampledSurfaces.C
|
||||||
|
sampledSurface/sampledSurfaces/sampledSurfacesGrouping.C
|
||||||
sampledSurface/sampledSurfacesFunctionObject/sampledSurfacesFunctionObject.C
|
sampledSurface/sampledSurfacesFunctionObject/sampledSurfacesFunctionObject.C
|
||||||
sampledSurface/sampledTriSurfaceMesh/sampledTriSurfaceMesh.C
|
sampledSurface/sampledTriSurfaceMesh/sampledTriSurfaceMesh.C
|
||||||
sampledSurface/thresholdCellFaces/thresholdCellFaces.C
|
sampledSurface/thresholdCellFaces/thresholdCellFaces.C
|
||||||
|
@ -73,13 +77,14 @@ list(APPEND SOURCES
|
||||||
set(surfWriters sampledSurface/writers)
|
set(surfWriters sampledSurface/writers)
|
||||||
|
|
||||||
list(APPEND SOURCES
|
list(APPEND SOURCES
|
||||||
${surfWriters}/surfaceWriters.C
|
${surfWriters}/surfaceWriter.C
|
||||||
${surfWriters}/dx/dxSurfaceWriterRunTime.C
|
${surfWriters}/dx/dxSurfaceWriter.C
|
||||||
${surfWriters}/foamFile/foamFileSurfaceWriterRunTime.C
|
${surfWriters}/foamFile/foamFileSurfaceWriter.C
|
||||||
${surfWriters}/null/nullSurfaceWriterRunTime.C
|
${surfWriters}/nastran/nastranSurfaceWriter.C
|
||||||
${surfWriters}/proxy/proxySurfaceWriterRunTime.C
|
${surfWriters}/proxy/proxySurfaceWriter.C
|
||||||
${surfWriters}/raw/rawSurfaceWriterRunTime.C
|
${surfWriters}/raw/rawSurfaceWriter.C
|
||||||
${surfWriters}/vtk/vtkSurfaceWriterRunTime.C
|
${surfWriters}/starcd/starcdSurfaceWriter.C
|
||||||
|
${surfWriters}/vtk/vtkSurfaceWriter.C
|
||||||
graphField/writePatchGraph.C
|
graphField/writePatchGraph.C
|
||||||
graphField/writeCellGraph.C
|
graphField/writeCellGraph.C
|
||||||
graphField/makeGraph.C
|
graphField/makeGraph.C
|
||||||
|
|
|
@ -122,16 +122,8 @@ list(APPEND SOURCES
|
||||||
${rheologyLaws}/multiMaterial/multiMaterial.C
|
${rheologyLaws}/multiMaterial/multiMaterial.C
|
||||||
${rheologyLaws}/orthotropicLinearElastic/orthotropicLinearElastic.C
|
${rheologyLaws}/orthotropicLinearElastic/orthotropicLinearElastic.C
|
||||||
${rheologyLaws}/PronyViscoelastic/PronyViscoelastic.C
|
${rheologyLaws}/PronyViscoelastic/PronyViscoelastic.C
|
||||||
thermalModel/thermalModel.C
|
|
||||||
)
|
|
||||||
set(thermalLaws thermalModel/thermalLaws)
|
|
||||||
list(APPEND SOURCES
|
|
||||||
${thermalLaws}/thermalLaw/thermalLaw.C
|
|
||||||
${thermalLaws}/thermalLaw/newThermalLaw.C
|
|
||||||
${thermalLaws}/constantThermal/constantThermal.C
|
|
||||||
${thermalLaws}/multiMaterialThermal/multiMaterialThermal.C
|
|
||||||
)
|
)
|
||||||
|
|
||||||
add_foam_library(solidModels SHARED ${SOURCES})
|
add_foam_library(solidModels SHARED ${SOURCES})
|
||||||
|
|
||||||
target_link_libraries(solidModels PUBLIC topoChangerFvMesh finiteArea)
|
target_link_libraries(solidModels PUBLIC topoChangerFvMesh finiteArea conjugateHeatTransfer)
|
||||||
|
|
|
@ -82,4 +82,4 @@ list(APPEND SOURCES
|
||||||
|
|
||||||
add_foam_library(surfMesh SHARED ${SOURCES})
|
add_foam_library(surfMesh SHARED ${SOURCES})
|
||||||
|
|
||||||
target_link_libraries(surfMesh foam)
|
target_link_libraries(surfMesh PUBLIC foam)
|
||||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -40,4 +40,4 @@ list(APPEND SOURCES
|
||||||
|
|
||||||
add_foam_library(barotropicCompressibilityModel SHARED ${SOURCES})
|
add_foam_library(barotropicCompressibilityModel SHARED ${SOURCES})
|
||||||
|
|
||||||
target_link_libraries(barotropicCompressibilityModel finiteVolume)
|
target_link_libraries(barotropicCompressibilityModel PUBLIC finiteVolume)
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Reference in a new issue