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)
|
||||
|
||||
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(conjugateHeatSimpleFoam)
|
||||
add_subdirectory(MRFPorousFoam)
|
||||
add_subdirectory(conjugateHeatTransfer)
|
|
@ -41,6 +41,6 @@ if(NOT FOAM_FOUND)
|
|||
endif()
|
||||
|
||||
add_foam_executable(turbDyMEngineFoam
|
||||
DEPENDS incompressibleTurbulenceModel engine
|
||||
DEPENDS engine incompressibleRASModels incompressibleLESModels
|
||||
SOURCES ${SOURCES}
|
||||
)
|
||||
|
|
|
@ -41,7 +41,7 @@ if(NOT FOAM_FOUND)
|
|||
endif()
|
||||
|
||||
add_foam_executable(buoyantBoussinesqPisoFoam
|
||||
DEPENDS incompressibleTurbulenceModel
|
||||
DEPENDS incompressibleRASModels incompressibleLESModels
|
||||
SOURCES ${SOURCES}
|
||||
)
|
||||
|
||||
|
|
|
@ -30,9 +30,4 @@
|
|||
#
|
||||
# --------------------------------------------------------------------------
|
||||
|
||||
add_subdirectory(potentialIbFoam)
|
||||
add_subdirectory(porousSimpleIbFoam)
|
||||
add_subdirectory(simpleIbFoam)
|
||||
add_subdirectory(icoDyMIbFoam)
|
||||
add_subdirectory(interIbFoam)
|
||||
add_subdirectory(icoIbFoam)
|
||||
add_subdirectory(pimpleDyMIbFoam)
|
||||
|
|
|
@ -31,7 +31,7 @@
|
|||
# --------------------------------------------------------------------------
|
||||
|
||||
list(APPEND SOURCES
|
||||
interIbFoam.C
|
||||
pimpleDyMIbFoam.C
|
||||
)
|
||||
|
||||
# Set minimal environment for external compilation
|
||||
|
@ -40,7 +40,7 @@ if(NOT FOAM_FOUND)
|
|||
find_package(FOAM REQUIRED)
|
||||
endif()
|
||||
|
||||
add_foam_executable(interIbFoam
|
||||
DEPENDS immersedBoundary interfaceProperties incompressibleTurbulenceModel
|
||||
add_foam_executable(pimpleDyMIbFoam
|
||||
DEPENDS immersedBoundary dynamicFvMesh incompressibleRASModels incompressibleLESModels
|
||||
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(shallowWaterFoam)
|
||||
add_subdirectory(MRFSimpleFoam)
|
||||
add_subdirectory(RichardsFoam)
|
||||
|
|
|
@ -30,8 +30,10 @@
|
|||
#
|
||||
# --------------------------------------------------------------------------
|
||||
|
||||
add_subdirectory(spatialMeanValueRichardsonFoam)
|
||||
|
||||
list(APPEND SOURCES
|
||||
icoIbFoam.C
|
||||
RichardsFoam.C
|
||||
)
|
||||
|
||||
# Set minimal environment for external compilation
|
||||
|
@ -40,7 +42,7 @@ if(NOT FOAM_FOUND)
|
|||
find_package(FOAM REQUIRED)
|
||||
endif()
|
||||
|
||||
add_foam_executable(icoIbFoam
|
||||
DEPENDS immersedBoundary
|
||||
add_foam_executable(RichardsFoam
|
||||
DEPENDS finiteVolume
|
||||
SOURCES ${SOURCES}
|
||||
)
|
|
@ -31,7 +31,7 @@
|
|||
# --------------------------------------------------------------------------
|
||||
|
||||
list(APPEND SOURCES
|
||||
icoDyMIbFoam.C
|
||||
spatialMeanValueRichardsonFoam.C
|
||||
)
|
||||
|
||||
# Set minimal environment for external compilation
|
||||
|
@ -40,7 +40,7 @@ if(NOT FOAM_FOUND)
|
|||
find_package(FOAM REQUIRED)
|
||||
endif()
|
||||
|
||||
add_foam_executable(icoDyMIbFoam
|
||||
DEPENDS immersedBoundary dynamicFvMesh
|
||||
add_foam_executable(spatialMeanValueRichardsonFoam
|
||||
DEPENDS finiteVolume
|
||||
SOURCES ${SOURCES}
|
||||
)
|
|
@ -41,7 +41,7 @@ if(NOT FOAM_FOUND)
|
|||
endif()
|
||||
|
||||
add_foam_executable(MRFInterFoam
|
||||
DEPENDS interfaceProperties incompressibleTurbulenceModel
|
||||
DEPENDS interfaceProperties incompressibleRASModels incompressibleLESModels
|
||||
SOURCES ${SOURCES}
|
||||
)
|
||||
|
||||
|
|
|
@ -41,6 +41,6 @@ if(NOT FOAM_FOUND)
|
|||
endif()
|
||||
|
||||
add_foam_executable(cavitatingFoam
|
||||
DEPENDS incompressibleTurbulenceModel barotropicCompressibilityModel
|
||||
DEPENDS barotropicCompressibilityModel incompressibleRASModels incompressibleLESModels
|
||||
SOURCES ${SOURCES}
|
||||
)
|
||||
|
|
|
@ -41,6 +41,6 @@ if(NOT FOAM_FOUND)
|
|||
endif()
|
||||
|
||||
add_foam_executable(compressibleInterDyMFoam
|
||||
DEPENDS interfaceProperties incompressibleTurbulenceModel dynamicFvMesh
|
||||
DEPENDS interfaceProperties dynamicFvMesh incompressibleRASModels incompressibleLESModels
|
||||
SOURCES ${SOURCES}
|
||||
)
|
||||
|
|
|
@ -41,6 +41,6 @@ if(NOT FOAM_FOUND)
|
|||
endif()
|
||||
|
||||
add_foam_executable(compressibleInterFoam
|
||||
DEPENDS interfaceProperties incompressibleTurbulenceModel
|
||||
DEPENDS interfaceProperties incompressibleRASModels incompressibleLESModels
|
||||
SOURCES ${SOURCES}
|
||||
)
|
||||
|
|
|
@ -41,7 +41,7 @@ if(NOT FOAM_FOUND)
|
|||
endif()
|
||||
|
||||
add_foam_executable(interDyMFoam
|
||||
DEPENDS interfaceProperties incompressibleTurbulenceModel dynamicFvMesh
|
||||
DEPENDS interfaceProperties dynamicFvMesh incompressibleRASModels incompressibleLESModels
|
||||
SOURCES ${SOURCES}
|
||||
)
|
||||
|
||||
|
|
|
@ -41,6 +41,6 @@ if(NOT FOAM_FOUND)
|
|||
endif()
|
||||
|
||||
add_foam_executable(interFoam
|
||||
DEPENDS interfaceProperties incompressibleTurbulenceModel
|
||||
DEPENDS interfaceProperties incompressibleRASModels incompressibleLESModels
|
||||
SOURCES ${SOURCES}
|
||||
)
|
||||
|
|
|
@ -43,7 +43,7 @@ if(NOT FOAM_FOUND)
|
|||
endif()
|
||||
|
||||
add_foam_executable(interMixingFoam
|
||||
DEPENDS interfaceProperties incompressibleTurbulenceModel
|
||||
DEPENDS interfaceProperties incompressibleRASModels incompressibleLESModels
|
||||
SOURCES ${SOURCES}
|
||||
)
|
||||
|
||||
|
|
|
@ -46,7 +46,7 @@ if(NOT FOAM_FOUND)
|
|||
endif()
|
||||
|
||||
add_foam_executable(interPhaseChangeFoam
|
||||
DEPENDS interfaceProperties incompressibleTurbulenceModel
|
||||
DEPENDS interfaceProperties incompressibleRASModels incompressibleLESModels
|
||||
SOURCES ${SOURCES}
|
||||
)
|
||||
|
||||
|
|
|
@ -44,7 +44,7 @@ if(NOT FOAM_FOUND)
|
|||
endif()
|
||||
|
||||
add_foam_executable(multiphaseInterFoam
|
||||
DEPENDS interfaceProperties incompressibleTurbulenceModel
|
||||
DEPENDS interfaceProperties incompressibleRASModels incompressibleLESModels
|
||||
SOURCES ${SOURCES}
|
||||
)
|
||||
|
||||
|
|
|
@ -41,7 +41,7 @@ if(NOT FOAM_FOUND)
|
|||
endif()
|
||||
|
||||
add_foam_executable(porousInterFoam
|
||||
DEPENDS interfaceProperties incompressibleTurbulenceModel
|
||||
DEPENDS interfaceProperties incompressibleRASModels incompressibleLESModels
|
||||
SOURCES ${SOURCES}
|
||||
)
|
||||
|
||||
|
|
|
@ -41,6 +41,6 @@ if(NOT FOAM_FOUND)
|
|||
endif()
|
||||
|
||||
add_foam_executable(twoLiquidMixingFoam
|
||||
DEPENDS interfaceProperties incompressibleTurbulenceModel
|
||||
DEPENDS interfaceProperties incompressibleRASModels incompressibleLESModels
|
||||
SOURCES ${SOURCES}
|
||||
)
|
||||
|
|
|
@ -41,6 +41,6 @@ if(NOT FOAM_FOUND)
|
|||
endif()
|
||||
|
||||
add_foam_executable(refineImmersedBoundaryMesh
|
||||
DEPENDS immersedBoundary
|
||||
DEPENDS finiteVolume immersedBoundaryDynamicMesh
|
||||
SOURCES ${SOURCES}
|
||||
)
|
||||
|
|
|
@ -41,6 +41,6 @@ if(NOT FOAM_FOUND)
|
|||
endif()
|
||||
|
||||
add_foam_executable(writeIbMasks
|
||||
DEPENDS immersedBoundary
|
||||
DEPENDS postCalc immersedBoundary
|
||||
SOURCES ${SOURCES}
|
||||
)
|
||||
|
|
|
@ -31,16 +31,7 @@
|
|||
# --------------------------------------------------------------------------
|
||||
|
||||
list(APPEND SOURCES
|
||||
decomposeMesh.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
|
||||
|
@ -50,6 +41,6 @@ if(NOT FOAM_FOUND)
|
|||
endif()
|
||||
|
||||
add_foam_executable(decomposePar
|
||||
DEPENDS finiteVolume finiteArea tetFiniteElement
|
||||
DEPENDS decomposeReconstruct
|
||||
SOURCES ${SOURCES}
|
||||
)
|
||||
|
|
|
@ -32,12 +32,6 @@
|
|||
|
||||
list(APPEND SOURCES
|
||||
processorMeshes.C
|
||||
processorFaMeshes.C
|
||||
fvFieldReconstructor.C
|
||||
faFieldReconstructor.C
|
||||
pointFieldReconstructor.C
|
||||
tetPointFieldReconstructor.C
|
||||
reconstructLagrangianPositions.C
|
||||
reconstructPar.C
|
||||
)
|
||||
|
||||
|
@ -48,6 +42,6 @@ if(NOT FOAM_FOUND)
|
|||
endif()
|
||||
|
||||
add_foam_executable(reconstructPar
|
||||
DEPENDS finiteVolume finiteArea tetFiniteElement
|
||||
DEPENDS decomposeReconstruct
|
||||
SOURCES ${SOURCES}
|
||||
)
|
||||
|
|
|
@ -31,14 +31,6 @@
|
|||
# --------------------------------------------------------------------------
|
||||
|
||||
list(APPEND SOURCES
|
||||
processorMeshesReconstructor.C
|
||||
processorMeshesRebuild.C
|
||||
processorFaMeshes.C
|
||||
fvFieldReconstructor.C
|
||||
faFieldReconstructor.C
|
||||
pointFieldReconstructor.C
|
||||
tetPointFieldReconstructor.C
|
||||
reconstructLagrangianPositions.C
|
||||
reconstructParMesh.C
|
||||
)
|
||||
|
||||
|
@ -49,6 +41,6 @@ if(NOT FOAM_FOUND)
|
|||
endif()
|
||||
|
||||
add_foam_executable(reconstructParMesh
|
||||
DEPENDS finiteVolume finiteArea tetFiniteElement
|
||||
DEPENDS decomposeReconstruct
|
||||
SOURCES ${SOURCES}
|
||||
)
|
||||
|
|
|
@ -31,8 +31,6 @@
|
|||
# --------------------------------------------------------------------------
|
||||
|
||||
add_subdirectory(newEnsightFoamReader)
|
||||
#add_subdirectory(PV3FoamReader)
|
||||
#add_subdirectory(PVFoamReader)
|
||||
add_subdirectory(PV4FoamReader)
|
||||
add_subdirectory(PVReaders)
|
||||
#add_subdirectory(fieldview9Reader)
|
||||
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 must have a resource prefix of "/ParaViewResources"
|
||||
|
@ -17,11 +18,11 @@ INCLUDE(${PARAVIEW_USE_FILE})
|
|||
|
||||
# Build the server-side plugin
|
||||
ADD_PARAVIEW_PLUGIN(
|
||||
PV4FoamReader_SM "1.0"
|
||||
SERVER_MANAGER_XML PV4FoamReader_SM.xml
|
||||
SERVER_MANAGER_SOURCES vtkPV4FoamReader.cxx
|
||||
PVFoamReader_SM "1.0"
|
||||
SERVER_MANAGER_XML PVFoamReader_SM.xml
|
||||
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
|
||||
Module: $RCSfile: vtkPV4FoamReader.cxx,v $
|
||||
Module: $RCSfile: vtkPVFoamReader.cxx,v $
|
||||
|
||||
Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
|
||||
All rights reserved.
|
||||
|
@ -13,10 +13,10 @@
|
|||
|
||||
=========================================================================*/
|
||||
|
||||
#include "vtkPV4FoamReader.h"
|
||||
#include "vtkPVFoamReader.h"
|
||||
|
||||
// Foam includes
|
||||
#include "vtkPV4Foam.H"
|
||||
#include "vtkPVFoam.H"
|
||||
|
||||
#include "pqApplicationCore.h"
|
||||
#include "pqRenderView.h"
|
||||
|
@ -33,11 +33,11 @@
|
|||
#include "vtkStreamingDemandDrivenPipeline.h"
|
||||
#include "vtkStringArray.h"
|
||||
|
||||
vtkStandardNewMacro(vtkPV4FoamReader);
|
||||
vtkStandardNewMacro(vtkPVFoamReader);
|
||||
|
||||
#undef EXPERIMENTAL_TIME_CACHING
|
||||
|
||||
vtkPV4FoamReader::vtkPV4FoamReader()
|
||||
vtkPVFoamReader::vtkPVFoamReader()
|
||||
{
|
||||
Debug = 0;
|
||||
vtkDebugMacro(<<"Constructor");
|
||||
|
@ -49,7 +49,7 @@ vtkPV4FoamReader::vtkPV4FoamReader()
|
|||
|
||||
output0_ = NULL;
|
||||
|
||||
#ifdef VTKPV4FOAM_DUALPORT
|
||||
#ifdef VTKPVFOAM_DUALPORT
|
||||
// Add second output for the Lagrangian
|
||||
this->SetNumberOfOutputPorts(2);
|
||||
vtkMultiBlockDataSet *lagrangian = vtkMultiBlockDataSet::New();
|
||||
|
@ -65,6 +65,7 @@ vtkPV4FoamReader::vtkPV4FoamReader()
|
|||
CacheMesh = 1;
|
||||
|
||||
ExtrapolatePatches = 0;
|
||||
UseVTKPolyhedron = 0;
|
||||
IncludeSets = 0;
|
||||
IncludeZones = 0;
|
||||
ShowPatchNames = 0;
|
||||
|
@ -81,7 +82,7 @@ vtkPV4FoamReader::vtkPV4FoamReader()
|
|||
SelectionObserver = vtkCallbackCommand::New();
|
||||
SelectionObserver->SetCallback
|
||||
(
|
||||
&vtkPV4FoamReader::SelectionModifiedCallback
|
||||
&vtkPVFoamReader::SelectionModifiedCallback
|
||||
);
|
||||
SelectionObserver->SetClientData(this);
|
||||
|
||||
|
@ -108,7 +109,7 @@ vtkPV4FoamReader::vtkPV4FoamReader()
|
|||
}
|
||||
|
||||
|
||||
vtkPV4FoamReader::~vtkPV4FoamReader()
|
||||
vtkPVFoamReader::~vtkPVFoamReader()
|
||||
{
|
||||
vtkDebugMacro(<<"Deconstructor");
|
||||
|
||||
|
@ -140,7 +141,7 @@ vtkPV4FoamReader::~vtkPV4FoamReader()
|
|||
|
||||
|
||||
// Do everything except set the output info
|
||||
int vtkPV4FoamReader::RequestInformation
|
||||
int vtkPVFoamReader::RequestInformation
|
||||
(
|
||||
vtkInformation* vtkNotUsed(request),
|
||||
vtkInformationVector** vtkNotUsed(inputVector),
|
||||
|
@ -149,7 +150,7 @@ int vtkPV4FoamReader::RequestInformation
|
|||
{
|
||||
vtkDebugMacro(<<"RequestInformation");
|
||||
|
||||
if (Foam::vtkPV4Foam::debug)
|
||||
if (Foam::vtkPVFoam::debug)
|
||||
{
|
||||
cout<<"REQUEST_INFORMATION\n";
|
||||
}
|
||||
|
@ -162,7 +163,7 @@ int vtkPV4FoamReader::RequestInformation
|
|||
|
||||
int nInfo = outputVector->GetNumberOfInformationObjects();
|
||||
|
||||
if (Foam::vtkPV4Foam::debug)
|
||||
if (Foam::vtkPVFoam::debug)
|
||||
{
|
||||
cout<<"RequestInformation with " << nInfo << " item(s)\n";
|
||||
for (int infoI = 0; infoI < nInfo; ++infoI)
|
||||
|
@ -173,7 +174,7 @@ int vtkPV4FoamReader::RequestInformation
|
|||
|
||||
if (!foamData_)
|
||||
{
|
||||
foamData_ = new Foam::vtkPV4Foam(FileName, this);
|
||||
foamData_ = new Foam::vtkPVFoam(FileName, this);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -210,7 +211,7 @@ int vtkPV4FoamReader::RequestInformation
|
|||
timeRange[0] = timeSteps[0];
|
||||
timeRange[1] = timeSteps[nTimeSteps-1];
|
||||
|
||||
if (Foam::vtkPV4Foam::debug > 1)
|
||||
if (Foam::vtkPVFoam::debug > 1)
|
||||
{
|
||||
cout<<"nTimeSteps " << nTimeSteps << "\n"
|
||||
<<"timeRange " << timeRange[0] << " to " << timeRange[1]
|
||||
|
@ -240,7 +241,7 @@ int vtkPV4FoamReader::RequestInformation
|
|||
|
||||
|
||||
// Set the output info
|
||||
int vtkPV4FoamReader::RequestData
|
||||
int vtkPVFoamReader::RequestData
|
||||
(
|
||||
vtkInformation* vtkNotUsed(request),
|
||||
vtkInformationVector** vtkNotUsed(inputVector),
|
||||
|
@ -264,7 +265,7 @@ int vtkPV4FoamReader::RequestData
|
|||
|
||||
int nInfo = outputVector->GetNumberOfInformationObjects();
|
||||
|
||||
if (Foam::vtkPV4Foam::debug)
|
||||
if (Foam::vtkPVFoam::debug)
|
||||
{
|
||||
cout<<"RequestData with " << nInfo << " item(s)\n";
|
||||
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
|
||||
// a filter is added - we need to check everything
|
||||
// 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)
|
||||
{
|
||||
vtkInformation *outInfo = outputVector->GetInformationObject(infoI);
|
||||
|
@ -314,7 +315,7 @@ int vtkPV4FoamReader::RequestData
|
|||
)
|
||||
);
|
||||
|
||||
if (Foam::vtkPV4Foam::debug)
|
||||
if (Foam::vtkPVFoam::debug)
|
||||
{
|
||||
cout<< "update output with "
|
||||
<< output->GetNumberOfBlocks() << " blocks\n";
|
||||
|
@ -342,7 +343,7 @@ int vtkPV4FoamReader::RequestData
|
|||
output->ShallowCopy(output0_);
|
||||
}
|
||||
|
||||
if (Foam::vtkPV4Foam::debug)
|
||||
if (Foam::vtkPVFoam::debug)
|
||||
{
|
||||
if (needsUpdate)
|
||||
{
|
||||
|
@ -362,7 +363,7 @@ int vtkPV4FoamReader::RequestData
|
|||
|
||||
#else
|
||||
|
||||
#ifdef VTKPV4FOAM_DUALPORT
|
||||
#ifdef VTKPVFOAM_DUALPORT
|
||||
foamData_->Update
|
||||
(
|
||||
output,
|
||||
|
@ -396,7 +397,7 @@ int vtkPV4FoamReader::RequestData
|
|||
}
|
||||
|
||||
|
||||
void vtkPV4FoamReader::addPatchNamesToView()
|
||||
void vtkPVFoamReader::addPatchNamesToView()
|
||||
{
|
||||
pqApplicationCore* appCore = pqApplicationCore::instance();
|
||||
|
||||
|
@ -416,7 +417,7 @@ void vtkPV4FoamReader::addPatchNamesToView()
|
|||
}
|
||||
|
||||
|
||||
void vtkPV4FoamReader::removePatchNamesFromView()
|
||||
void vtkPVFoamReader::removePatchNamesFromView()
|
||||
{
|
||||
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");
|
||||
|
||||
|
@ -453,7 +454,7 @@ void vtkPV4FoamReader::PrintSelf(ostream& os, vtkIndent indent)
|
|||
}
|
||||
|
||||
|
||||
int vtkPV4FoamReader::GetTimeStep()
|
||||
int vtkPVFoamReader::GetTimeStep()
|
||||
{
|
||||
return foamData_ ? foamData_->timeIndex() : -1;
|
||||
}
|
||||
|
@ -462,35 +463,35 @@ int vtkPV4FoamReader::GetTimeStep()
|
|||
// ----------------------------------------------------------------------
|
||||
// Parts selection list control
|
||||
|
||||
vtkDataArraySelection* vtkPV4FoamReader::GetPartSelection()
|
||||
vtkDataArraySelection* vtkPVFoamReader::GetPartSelection()
|
||||
{
|
||||
vtkDebugMacro(<<"GetPartSelection");
|
||||
return PartSelection;
|
||||
}
|
||||
|
||||
|
||||
int vtkPV4FoamReader::GetNumberOfPartArrays()
|
||||
int vtkPVFoamReader::GetNumberOfPartArrays()
|
||||
{
|
||||
vtkDebugMacro(<<"GetNumberOfPartArrays");
|
||||
return PartSelection->GetNumberOfArrays();
|
||||
}
|
||||
|
||||
|
||||
const char* vtkPV4FoamReader::GetPartArrayName(int index)
|
||||
const char* vtkPVFoamReader::GetPartArrayName(int index)
|
||||
{
|
||||
vtkDebugMacro(<<"GetPartArrayName");
|
||||
return PartSelection->GetArrayName(index);
|
||||
}
|
||||
|
||||
|
||||
int vtkPV4FoamReader::GetPartArrayStatus(const char* name)
|
||||
int vtkPVFoamReader::GetPartArrayStatus(const char* name)
|
||||
{
|
||||
vtkDebugMacro(<<"GetPartArrayStatus");
|
||||
return PartSelection->ArrayIsEnabled(name);
|
||||
}
|
||||
|
||||
|
||||
void vtkPV4FoamReader::SetPartArrayStatus(const char* name, int status)
|
||||
void vtkPVFoamReader::SetPartArrayStatus(const char* name, int status)
|
||||
{
|
||||
vtkDebugMacro(<<"SetPartArrayStatus");
|
||||
if (status)
|
||||
|
@ -507,35 +508,35 @@ void vtkPV4FoamReader::SetPartArrayStatus(const char* name, int status)
|
|||
// ----------------------------------------------------------------------
|
||||
// volField selection list control
|
||||
|
||||
vtkDataArraySelection* vtkPV4FoamReader::GetVolFieldSelection()
|
||||
vtkDataArraySelection* vtkPVFoamReader::GetVolFieldSelection()
|
||||
{
|
||||
vtkDebugMacro(<<"GetVolFieldSelection");
|
||||
return VolFieldSelection;
|
||||
}
|
||||
|
||||
|
||||
int vtkPV4FoamReader::GetNumberOfVolFieldArrays()
|
||||
int vtkPVFoamReader::GetNumberOfVolFieldArrays()
|
||||
{
|
||||
vtkDebugMacro(<<"GetNumberOfVolFieldArrays");
|
||||
return VolFieldSelection->GetNumberOfArrays();
|
||||
}
|
||||
|
||||
|
||||
const char* vtkPV4FoamReader::GetVolFieldArrayName(int index)
|
||||
const char* vtkPVFoamReader::GetVolFieldArrayName(int index)
|
||||
{
|
||||
vtkDebugMacro(<<"GetVolFieldArrayName");
|
||||
return VolFieldSelection->GetArrayName(index);
|
||||
}
|
||||
|
||||
|
||||
int vtkPV4FoamReader::GetVolFieldArrayStatus(const char* name)
|
||||
int vtkPVFoamReader::GetVolFieldArrayStatus(const char* name)
|
||||
{
|
||||
vtkDebugMacro(<<"GetVolFieldArrayStatus");
|
||||
return VolFieldSelection->ArrayIsEnabled(name);
|
||||
}
|
||||
|
||||
|
||||
void vtkPV4FoamReader::SetVolFieldArrayStatus(const char* name, int status)
|
||||
void vtkPVFoamReader::SetVolFieldArrayStatus(const char* name, int status)
|
||||
{
|
||||
vtkDebugMacro(<<"SetVolFieldArrayStatus");
|
||||
if (status)
|
||||
|
@ -552,35 +553,35 @@ void vtkPV4FoamReader::SetVolFieldArrayStatus(const char* name, int status)
|
|||
// ----------------------------------------------------------------------
|
||||
// pointField selection list control
|
||||
|
||||
vtkDataArraySelection* vtkPV4FoamReader::GetPointFieldSelection()
|
||||
vtkDataArraySelection* vtkPVFoamReader::GetPointFieldSelection()
|
||||
{
|
||||
vtkDebugMacro(<<"GetPointFieldSelection");
|
||||
return PointFieldSelection;
|
||||
}
|
||||
|
||||
|
||||
int vtkPV4FoamReader::GetNumberOfPointFieldArrays()
|
||||
int vtkPVFoamReader::GetNumberOfPointFieldArrays()
|
||||
{
|
||||
vtkDebugMacro(<<"GetNumberOfPointFieldArrays");
|
||||
return PointFieldSelection->GetNumberOfArrays();
|
||||
}
|
||||
|
||||
|
||||
const char* vtkPV4FoamReader::GetPointFieldArrayName(int index)
|
||||
const char* vtkPVFoamReader::GetPointFieldArrayName(int index)
|
||||
{
|
||||
vtkDebugMacro(<<"GetPointFieldArrayName");
|
||||
return PointFieldSelection->GetArrayName(index);
|
||||
}
|
||||
|
||||
|
||||
int vtkPV4FoamReader::GetPointFieldArrayStatus(const char* name)
|
||||
int vtkPVFoamReader::GetPointFieldArrayStatus(const char* name)
|
||||
{
|
||||
vtkDebugMacro(<<"GetPointFieldArrayStatus");
|
||||
return PointFieldSelection->ArrayIsEnabled(name);
|
||||
}
|
||||
|
||||
|
||||
void vtkPV4FoamReader::SetPointFieldArrayStatus(const char* name, int status)
|
||||
void vtkPVFoamReader::SetPointFieldArrayStatus(const char* name, int status)
|
||||
{
|
||||
vtkDebugMacro(<<"SetPointFieldArrayStatus");
|
||||
if (status)
|
||||
|
@ -597,35 +598,35 @@ void vtkPV4FoamReader::SetPointFieldArrayStatus(const char* name, int status)
|
|||
// ----------------------------------------------------------------------
|
||||
// lagrangianField selection list control
|
||||
|
||||
vtkDataArraySelection* vtkPV4FoamReader::GetLagrangianFieldSelection()
|
||||
vtkDataArraySelection* vtkPVFoamReader::GetLagrangianFieldSelection()
|
||||
{
|
||||
vtkDebugMacro(<<"GetLagrangianFieldSelection");
|
||||
return LagrangianFieldSelection;
|
||||
}
|
||||
|
||||
|
||||
int vtkPV4FoamReader::GetNumberOfLagrangianFieldArrays()
|
||||
int vtkPVFoamReader::GetNumberOfLagrangianFieldArrays()
|
||||
{
|
||||
vtkDebugMacro(<<"GetNumberOfLagrangianFieldArrays");
|
||||
return LagrangianFieldSelection->GetNumberOfArrays();
|
||||
}
|
||||
|
||||
|
||||
const char* vtkPV4FoamReader::GetLagrangianFieldArrayName(int index)
|
||||
const char* vtkPVFoamReader::GetLagrangianFieldArrayName(int index)
|
||||
{
|
||||
vtkDebugMacro(<<"GetLagrangianFieldArrayName");
|
||||
return LagrangianFieldSelection->GetArrayName(index);
|
||||
}
|
||||
|
||||
|
||||
int vtkPV4FoamReader::GetLagrangianFieldArrayStatus(const char* name)
|
||||
int vtkPVFoamReader::GetLagrangianFieldArrayStatus(const char* name)
|
||||
{
|
||||
vtkDebugMacro(<<"GetLagrangianFieldArrayStatus");
|
||||
return LagrangianFieldSelection->ArrayIsEnabled(name);
|
||||
}
|
||||
|
||||
|
||||
void vtkPV4FoamReader::SetLagrangianFieldArrayStatus
|
||||
void vtkPVFoamReader::SetLagrangianFieldArrayStatus
|
||||
(
|
||||
const char* name,
|
||||
int status
|
||||
|
@ -645,7 +646,7 @@ void vtkPV4FoamReader::SetLagrangianFieldArrayStatus
|
|||
|
||||
// ----------------------------------------------------------------------
|
||||
|
||||
void vtkPV4FoamReader::SelectionModifiedCallback
|
||||
void vtkPVFoamReader::SelectionModifiedCallback
|
||||
(
|
||||
vtkObject*,
|
||||
unsigned long,
|
||||
|
@ -653,18 +654,18 @@ void vtkPV4FoamReader::SelectionModifiedCallback
|
|||
void*
|
||||
)
|
||||
{
|
||||
static_cast<vtkPV4FoamReader*>(clientdata)->SelectionModified();
|
||||
static_cast<vtkPVFoamReader*>(clientdata)->SelectionModified();
|
||||
}
|
||||
|
||||
|
||||
void vtkPV4FoamReader::SelectionModified()
|
||||
void vtkPVFoamReader::SelectionModified()
|
||||
{
|
||||
vtkDebugMacro(<<"SelectionModified");
|
||||
Modified();
|
||||
}
|
||||
|
||||
|
||||
int vtkPV4FoamReader::FillOutputPortInformation
|
||||
int vtkPVFoamReader::FillOutputPortInformation
|
||||
(
|
||||
int port,
|
||||
vtkInformation* info
|
||||
|
|
|
@ -33,22 +33,22 @@
|
|||
include(${PARAVIEW_USE_FILE})
|
||||
|
||||
list(APPEND SOURCES
|
||||
vtkPV4Foam.C
|
||||
vtkPV4FoamFields.C
|
||||
vtkPV4FoamMesh.C
|
||||
vtkPV4FoamMeshLagrangian.C
|
||||
vtkPV4FoamMeshPatch.C
|
||||
vtkPV4FoamMeshSet.C
|
||||
vtkPV4FoamMeshVolume.C
|
||||
vtkPV4FoamMeshZone.C
|
||||
vtkPV4FoamUpdateInfo.C
|
||||
vtkPV4FoamUtilities.C
|
||||
vtkPVFoam.C
|
||||
vtkPVFoamFields.C
|
||||
vtkPVFoamMesh.C
|
||||
vtkPVFoamMeshLagrangian.C
|
||||
vtkPVFoamMeshPatch.C
|
||||
vtkPVFoamMeshSet.C
|
||||
vtkPVFoamMeshVolume.C
|
||||
vtkPVFoamMeshZone.C
|
||||
vtkPVFoamUpdateInfo.C
|
||||
vtkPVFoamUtilities.C
|
||||
)
|
||||
|
||||
add_foam_library(vtkPV4Foam SHARED ${SOURCES})
|
||||
add_foam_library(vtkPVFoam SHARED ${SOURCES})
|
||||
|
||||
target_link_libraries(vtkPV4Foam finiteVolume)
|
||||
target_include_directories(vtkPV4Foam PUBLIC
|
||||
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/../PV4FoamReader>
|
||||
target_link_libraries(vtkPVFoam finiteVolume)
|
||||
target_include_directories(vtkPVFoam PUBLIC
|
||||
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/../PVFoamReader>
|
||||
# $<INSTALL_INTERFACE:include/mylib>
|
||||
)
|
|
@ -32,7 +32,7 @@
|
|||
|
||||
list(APPEND SOURCES
|
||||
bunnylod/progmesh.C
|
||||
bunnylod/vector.C
|
||||
bunnylod/vectorb.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}
|
||||
)
|
||||
|
||||
message(STATUS ${CCMIO_INCLUDE_DIR})
|
||||
message(STATUS ${CCMIO_LIBRARY})
|
||||
|
||||
# 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.
|
||||
|
||||
set(CCMIO_PROCESS_INCLUDES CCMIO_INCLUDE_DIR CCMIO_INCLUDE_DIR2)
|
||||
set(CCMIO_PROCESS_LIBS CCMIO_LIBRARY CCMIO_LIBRARY2)
|
||||
libfind_process(CCMIO)
|
||||
|
|
|
@ -20,8 +20,12 @@ find_library(MESQUITE_LIBRARY
|
|||
${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.
|
||||
# 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)
|
||||
|
|
|
@ -33,6 +33,7 @@ find_library(PARMGRIDGEN_LIBRARY
|
|||
message(STATUS ${PARMGRIDGEN_INCLUDE_DIR})
|
||||
message(STATUS ${PARMGRIDGEN_LIBRARY})
|
||||
|
||||
set(PARMGRIDGEN_PROCESS_INCLUDES PARMGRIDGEN_INCLUDE_DIR PARMGRIDGEN_INCLUDE_DIR2)
|
||||
set(PARMGRIDGEN_PROCESS_LIBS PARMGRIDGEN_LIBRARY)
|
||||
set(PARMGRIDGEN_PROCESS_INCLUDE PARMGRIDGEN_INCLUDE_DIR)
|
||||
set(PARMGRIDGEN_PROCESS_INCLUDES PARMGRIDGEN_INCLUDE_DIR2)
|
||||
set(PARMGRIDGEN_PROCESS_LIB PARMGRIDGEN_LIBRARY)
|
||||
libfind_process(PARMGRIDGEN)
|
||||
|
|
|
@ -26,6 +26,6 @@ find_library(SCOTCH_LIBRARY
|
|||
message(STATUS ${SCOTCH_INCLUDE_DIR})
|
||||
message(STATUS ${SCOTCH_LIBRARY})
|
||||
|
||||
set(SCOTCH_PROCESS_INCLUDES SCOTCH_INCLUDE_DIR)
|
||||
set(SCOTCH_PROCESS_LIBS SCOTCH_LIBRARY)
|
||||
set(SCOTCH_PROCESS_INCLUDE SCOTCH_INCLUDE_DIR)
|
||||
set(SCOTCH_PROCESS_LIB SCOTCH_LIBRARY)
|
||||
libfind_process(SCOTCH)
|
||||
|
|
|
@ -118,6 +118,11 @@ if(CCMIO_FOUND)
|
|||
set_property(TARGET ccmio PROPERTY INTERFACE_LINK_LIBRARIES ${CCMIO_LIBRARIES})
|
||||
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
|
||||
#
|
||||
|
@ -155,17 +160,27 @@ else()
|
|||
target_compile_definitions(OSspecific PUBLIC WM_DP)
|
||||
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
|
||||
target_compile_definitions(OSspecific PUBLIC NoRepository)
|
||||
|
||||
# No Repository
|
||||
target_compile_definitions(OSspecific PUBLIC linux64)
|
||||
|
||||
# FOAM's full debug mode
|
||||
if(${CMAKE_BUILD_TYPE} STREQUAL "Debug")
|
||||
target_compile_definitions(OSspecific PUBLIC FULLDEBUG)
|
||||
target_compile_options(OSspecific PUBLIC -fdefault-inline -ggdb3)
|
||||
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
|
||||
|
|
|
@ -321,7 +321,7 @@ message("Site name: ${SITE}")
|
|||
|
||||
# Compile FOAM, libs and apps
|
||||
add_custom_target (foam-extend-$ENV{WM_PROJECT_VERSION} ALL
|
||||
${FOAM_ROOT}/Allwmake
|
||||
#${FOAM_ROOT}/Allwmake
|
||||
)
|
||||
|
||||
set_property(
|
||||
|
|
|
@ -32,6 +32,7 @@
|
|||
|
||||
add_subdirectory(foam)
|
||||
add_subdirectory(immersedBoundary)
|
||||
add_subdirectory(overset)
|
||||
add_subdirectory(lagrangian)
|
||||
add_subdirectory(edgeMesh)
|
||||
add_subdirectory(coupledMatrix)
|
||||
|
@ -62,3 +63,4 @@ add_subdirectory(meshTools)
|
|||
add_subdirectory(dynamicMesh)
|
||||
add_subdirectory(thermophysicalModels)
|
||||
add_subdirectory(dbns)
|
||||
add_subdirectory(conjugateHeatTransfer)
|
||||
|
|
|
@ -51,7 +51,23 @@ set(sixDOF sixDOF)
|
|||
list(APPEND SOURCES
|
||||
${sixDOF}/finiteRotation/finiteRotation.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})
|
||||
|
|
|
@ -44,7 +44,12 @@ list(APPEND SOURCES
|
|||
POSIX.C
|
||||
cpuTime/cpuTime.C
|
||||
clockTime/clockTime.C
|
||||
memInfo/memInfo.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
|
||||
|
@ -59,5 +64,4 @@ list(APPEND SOURCES
|
|||
|
||||
add_foam_library(OSspecific SHARED ${SOURCES})
|
||||
|
||||
target_link_libraries(OSspecific)
|
||||
add_dependencies(OSspecific foam_lnInclude)
|
||||
|
|
|
@ -54,4 +54,4 @@ list(APPEND 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})
|
||||
|
||||
target_link_libraries(cudaSolvers finiteVolume)
|
||||
target_link_libraries(cudaSolvers PUBLIC finiteVolume)
|
||||
|
|
|
@ -53,7 +53,7 @@ list(APPEND SOURCES
|
|||
if(PARMGRIDGEN_FOUND)
|
||||
add_foam_library(dbns SHARED ${SOURCES})
|
||||
|
||||
target_link_libraries(dbns compressibleTurbulenceModel parmgridgen)
|
||||
target_link_libraries(dbns PUBLIC compressibleTurbulenceModel parmgridgen)
|
||||
else()
|
||||
message(WARNING dbns will not be build)
|
||||
endif()
|
||||
|
|
|
@ -34,3 +34,4 @@ add_subdirectory(parMetisDecomp)
|
|||
add_subdirectory(decompositionMethods)
|
||||
add_subdirectory(scotchDecomp)
|
||||
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})
|
||||
|
||||
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})
|
||||
|
||||
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})
|
||||
|
||||
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(dynamicFvMesh)
|
||||
add_subdirectory(meshMotion)
|
||||
add_subdirectory(loadBalanceFvMesh)
|
||||
|
|
|
@ -75,6 +75,11 @@ list(APPEND SOURCES
|
|||
set(repatchCoverage ${polyMeshModifiers}/repatchCoverage)
|
||||
list(APPEND SOURCES
|
||||
${repatchCoverage}/repatchCoverage.C
|
||||
)
|
||||
|
||||
set(polyhedralRefinement ${polyMeshModifiers}/polyhedralRefinement)
|
||||
list(APPEND SOURCES
|
||||
${polyhedralRefinement}/polyhedralRefinement.C
|
||||
polyTopoChange/polyTopoChange/polyTopoChange.C
|
||||
polyTopoChange/polyTopoChange/actions/topoAction/topoActions.C
|
||||
polyTopoChange/polyTopoChanger/polyTopoChanger.C
|
||||
|
|
|
@ -31,10 +31,9 @@
|
|||
# --------------------------------------------------------------------------
|
||||
|
||||
list(APPEND SOURCES
|
||||
immersedBoundaryForces.C
|
||||
immersedBoundaryForcesFunctionObject.C
|
||||
loadBalanceFvMesh/loadBalanceFvMesh.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
|
||||
topoChangerFvMesh/topoChangerFvMesh.C
|
||||
topoChangerFvMesh/topoChangerFvMeshLoadBalance.C
|
||||
attachDetachFvMesh/attachDetachFvMesh.C
|
||||
linearValveFvMesh/linearValveFvMesh.C
|
||||
linearValveLayersFvMesh/linearValveLayersFvMesh.C
|
||||
|
@ -41,8 +42,16 @@ list(APPEND SOURCES
|
|||
mixerFvMesh/mixerFvMesh.C
|
||||
multiMixerFvMesh/mixerRotor.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})
|
||||
|
||||
target_link_libraries(topoChangerFvMesh PUBLIC dynamicFvMesh)
|
||||
target_link_libraries(topoChangerFvMesh PUBLIC dynamicFvMesh decomposeReconstruct)
|
||||
|
||||
|
|
|
@ -61,30 +61,40 @@ list(APPEND SOURCES
|
|||
set(faPatchFields fields/faPatchFields)
|
||||
list(APPEND SOURCES
|
||||
${faPatchFields}/faPatchField/faPatchFields.C
|
||||
${faPatchFields}/faPatchField/faPatchVectorNFields.C
|
||||
)
|
||||
|
||||
set(basicFaPatchFields ${faPatchFields}/basic)
|
||||
list(APPEND SOURCES
|
||||
${basicFaPatchFields}/basicSymmetry/basicSymmetryFaPatchFields.C
|
||||
${basicFaPatchFields}/basicSymmetry/basicSymmetryFaPatchScalarField.C
|
||||
${basicFaPatchFields}/calculated/calculatedFaPatchFields.C
|
||||
${basicFaPatchFields}/calculated/calculatedFaPatchVectorNFields.C
|
||||
${basicFaPatchFields}/coupled/coupledFaPatchFields.C
|
||||
${basicFaPatchFields}/coupled/coupledFaPatchVectorNFields.C
|
||||
${basicFaPatchFields}/zeroGradient/zeroGradientFaPatchFields.C
|
||||
${basicFaPatchFields}/zeroGradient/zeroGradientFaPatchVectorNFields.C
|
||||
${basicFaPatchFields}/fixedValue/fixedValueFaPatchFields.C
|
||||
${basicFaPatchFields}/fixedValue/fixedValueFaPatchVectorNFields.C
|
||||
${basicFaPatchFields}/fixedGradient/fixedGradientFaPatchFields.C
|
||||
${basicFaPatchFields}/fixedGradient/fixedGradientFaPatchVectorNFields.C
|
||||
${basicFaPatchFields}/mixed/mixedFaPatchFields.C
|
||||
${basicFaPatchFields}/transform/transformFaPatchFields.C
|
||||
${basicFaPatchFields}/transform/transformFaPatchScalarField.C
|
||||
${basicFaPatchFields}/transform/transformFaPatchVectorNFields.C
|
||||
)
|
||||
|
||||
set(constraintFaPatchFields ${faPatchFields}/constraint)
|
||||
list(APPEND SOURCES
|
||||
${constraintFaPatchFields}/empty/emptyFaPatchFields.C
|
||||
${constraintFaPatchFields}/empty/emptyFaPatchVectorNFields.C
|
||||
${constraintFaPatchFields}/processor/processorFaPatchFields.C
|
||||
${constraintFaPatchFields}/processor/processorFaPatchScalarField.C
|
||||
${constraintFaPatchFields}/processor/processorFaPatchVectorNFields.C
|
||||
${constraintFaPatchFields}/wedge/wedgeFaPatchFields.C
|
||||
${constraintFaPatchFields}/wedge/wedgeFaPatchScalarField.C
|
||||
${constraintFaPatchFields}/wedge/wedgeFaPatchVectorNFields.C
|
||||
${constraintFaPatchFields}/cyclic/cyclicFaPatchFields.C
|
||||
${constraintFaPatchFields}/cyclic/cyclicFaPatchVectorNFields.C
|
||||
${constraintFaPatchFields}/symmetry/symmetryFaPatchFields.C
|
||||
)
|
||||
|
||||
|
@ -93,6 +103,8 @@ list(APPEND SOURCES
|
|||
${derivedFaPatchFields}/fixedValueOutflow/fixedValueOutflowFaPatchFields.C
|
||||
${derivedFaPatchFields}/inletOutlet/inletOutletFaPatchFields.C
|
||||
${derivedFaPatchFields}/slip/slipFaPatchFields.C
|
||||
${derivedFaPatchFields}/edgeNormalFixedValue/edgeNormalFixedValueFaPatchVectorField.C
|
||||
${derivedFaPatchFields}/timeVaryingUniformFixedValue/timeVaryingUniformFixedValueFaPatchFields.C
|
||||
)
|
||||
|
||||
set(faePatchFields fields/faePatchFields)
|
||||
|
@ -114,8 +126,21 @@ list(APPEND SOURCES
|
|||
${constraintFaePatchFields}/wedge/wedgeFaePatchFields.C
|
||||
${constraintFaePatchFields}/cyclic/cyclicFaePatchFields.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/areaVectorNFields.C
|
||||
fields/edgeFields/edgeFields.C
|
||||
fields/edgeFields/edgeVectorNFields.C
|
||||
faMatrices/faMatrices.C
|
||||
faMatrices/faScalarMatrix/faScalarMatrix.C
|
||||
)
|
||||
|
@ -148,6 +173,7 @@ list(APPEND SOURCES
|
|||
|
||||
set(divSchemes finiteArea/divSchemes)
|
||||
list(APPEND SOURCES
|
||||
finiteArea/fam/vectorFamDiv.C
|
||||
${divSchemes}/faDivScheme/faDivSchemes.C
|
||||
${divSchemes}/gaussFaDivScheme/gaussFaDivSchemes.C
|
||||
)
|
||||
|
@ -186,6 +212,16 @@ list(APPEND SOURCES
|
|||
${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})
|
||||
|
||||
target_link_libraries(finiteArea PUBLIC foam)
|
||||
|
|
|
@ -142,7 +142,7 @@ list(APPEND SOURCES
|
|||
|
||||
set(basicFvPatchFields ${fvPatchFields}/basic)
|
||||
list(APPEND SOURCES
|
||||
${basicFvPatchFields}/basicSymmetry/basicSymmetryFvPatchFields.C
|
||||
# ${basicFvPatchFields}/basicSymmetry/basicSymmetryFvPatchFields.C
|
||||
${basicFvPatchFields}/basicSymmetry/basicSymmetryFvPatchScalarField.C
|
||||
${basicFvPatchFields}/calculated/calculatedFvPatchFields.C
|
||||
${basicFvPatchFields}/calculated/calculatedFvPatchVectorNFields.C
|
||||
|
@ -178,11 +178,13 @@ list(APPEND SOURCES
|
|||
${constraintFvPatchFields}/wedge/wedgeFvPatchFields.C
|
||||
${constraintFvPatchFields}/wedge/wedgeFvPatchScalarField.C
|
||||
${constraintFvPatchFields}/wedge/wedgeFvPatchVectorNFields.C
|
||||
${constraintFvPatchFields}/ggi/ggiFvPatchScalarField.C
|
||||
${constraintFvPatchFields}/ggi/ggiFvPatchFields.C
|
||||
${constraintFvPatchFields}/ggi/ggiFvPatchVectorNFields.C
|
||||
${constraintFvPatchFields}/jumpGgi/jumpGgiFvPatchFields.C
|
||||
${constraintFvPatchFields}/cyclicGgi/cyclicGgiFvPatchFields.C
|
||||
${constraintFvPatchFields}/overlapGgi/overlapGgiFvPatchFields.C
|
||||
${constraintFvPatchFields}/jumpOverlapGgi/jumpOverlapGgiFvPatchFields.C
|
||||
${constraintFvPatchFields}/mixingPlane/mixingPlaneFvPatchFields.C
|
||||
${constraintFvPatchFields}/jumpMixingPlane/jumpMixingPlaneFvPatchFields.C
|
||||
${constraintFvPatchFields}/regionCoupling/regionCouplingFvPatchFields.C
|
||||
|
@ -245,6 +247,9 @@ list(APPEND SOURCES
|
|||
${derivedFvPatchFields}/uniformDensityHydrostaticPressure/uniformDensityHydrostaticPressureFvPatchScalarField.C
|
||||
${derivedFvPatchFields}/pulseFixedValue/pulseFixedValueFvPatchFields.C
|
||||
${derivedFvPatchFields}/waveTransmissiveInlet/waveTransmissiveInletFvPatchFields.C
|
||||
${derivedFvPatchFields}/noSlipWall/noSlipWallFvPatchVectorField.C
|
||||
${derivedFvPatchFields}/noSlipMovingWall/noSlipMovingWallFvPatchVectorField.C
|
||||
${derivedFvPatchFields}/blockSymmPlane/blockSymmPlaneFvPatchVectorField.C
|
||||
)
|
||||
|
||||
set(fvsPatchFields fields/fvsPatchFields)
|
||||
|
|
|
@ -57,11 +57,16 @@ list(APPEND SOURCES
|
|||
|
||||
set(ints primitives/ints)
|
||||
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}/long/longIO.C
|
||||
${ints}/longLong/longLongIO.C
|
||||
${ints}/ulong/ulongIO.C
|
||||
${ints}/int32/int32.C
|
||||
${ints}/int32/int32IO.C
|
||||
${ints}/int64/int64.C
|
||||
${ints}/int64/int64IO.C
|
||||
${ints}/int/intIO.C
|
||||
${ints}/label/label.C
|
||||
${ints}/uLabel/uLabel.C
|
||||
primitives/Scalar/doubleScalar/doubleScalar.C
|
||||
|
@ -88,6 +93,9 @@ list(APPEND SOURCES
|
|||
primitives/complex/complex.C
|
||||
primitives/quaternion/quaternion.C
|
||||
primitives/septernion/septernion.C
|
||||
# functions, data entries
|
||||
primitives/functions/Function1/makeDataEntries.C
|
||||
primitives/functions/Polynomial/polynomialFunction.C
|
||||
)
|
||||
|
||||
set(strings primitives/strings)
|
||||
|
@ -98,8 +106,9 @@ list(APPEND SOURCES
|
|||
${strings}/word/wordIO.C
|
||||
${strings}/fileName/fileName.C
|
||||
${strings}/fileName/fileNameIO.C
|
||||
${strings}/keyType/keyTypeIO.C
|
||||
${strings}/wordRe/wordReIO.C
|
||||
${strings}/keyType/keyType.C
|
||||
${strings}/wordRe/wordRe.C
|
||||
${strings}/stringOps/stringOps.C
|
||||
primitives/hashes/Hasher/Hasher.C
|
||||
)
|
||||
|
||||
|
@ -122,8 +131,8 @@ list(APPEND SOURCES
|
|||
primitives/random/Random.C
|
||||
containers/HashTables/HashTable/HashTableCore.C
|
||||
containers/HashTables/StaticHashTable/StaticHashTableCore.C
|
||||
containers/Lists/SortableList/ParSortableListName.C
|
||||
containers/Lists/PackedList/PackedListName.C
|
||||
# containers/Lists/SortableList/ParSortableListName.C
|
||||
# containers/Lists/PackedList/PackedListName.C
|
||||
containers/Lists/ListOps/ListOps.C
|
||||
containers/LinkedLists/linkTypes/SLListBase/SLListBase.C
|
||||
containers/LinkedLists/linkTypes/DLListBase/DLListBase.C
|
||||
|
@ -143,6 +152,8 @@ list(APPEND SOURCES
|
|||
${primitiveLists}/tensorList.C
|
||||
${primitiveLists}/VectorNLists.C
|
||||
${primitiveLists}/wordIOList.C
|
||||
${primitiveLists}/hashedWordList.C
|
||||
${primitiveLists}/PackedBoolList.C
|
||||
)
|
||||
|
||||
set(Streams db/IOstreams)
|
||||
|
@ -190,13 +201,13 @@ list(APPEND SOURCES
|
|||
set(Pstreams ${Streams}/Pstreams)
|
||||
list(APPEND SOURCES
|
||||
${Pstreams}/Pstream.C
|
||||
${Pstreams}/PstreamReduceOps.C
|
||||
${Pstreams}/PstreamCommsStruct.C
|
||||
${Pstreams}/PstreamGlobals.C
|
||||
${Pstreams}/IPstream.C
|
||||
${Pstreams}/OPstream.C
|
||||
${Pstreams}/IPread.C
|
||||
${Pstreams}/OPwrite.C
|
||||
${Pstreams}/PstreamsPrint.C
|
||||
)
|
||||
|
||||
set(dictionary db/dictionary)
|
||||
|
@ -225,8 +236,11 @@ list(APPEND SOURCES
|
|||
|
||||
set(functionEntries ${dictionary}/functionEntries)
|
||||
list(APPEND SOURCES
|
||||
${functionEntries}/calcEntry/calcEntry.C
|
||||
${functionEntries}/codeStream/codeStream.C
|
||||
${functionEntries}/functionEntry/functionEntry.C
|
||||
${functionEntries}/includeEntry/includeEntry.C
|
||||
${functionEntries}/includeEtcEntry/includeEtcEntry.C
|
||||
${functionEntries}/includeIfPresentEntry/includeIfPresentEntry.C
|
||||
${functionEntries}/inputModeEntry/inputModeEntry.C
|
||||
${functionEntries}/removeEntry/removeEntry.C
|
||||
|
@ -256,12 +270,20 @@ list(APPEND SOURCES
|
|||
db/objectRegistry/objectRegistry.C
|
||||
db/postfixedSubRegistry/postfixedSubRegistry.C
|
||||
db/CallbackRegistry/CallbackRegistryName.C
|
||||
db/dlLibraryTable/dlLibraryTable.C
|
||||
db/functionObjects/functionObject/functionObject.C
|
||||
db/functionObjects/functionObjectList/functionObjectList.C
|
||||
db/functionObjects/functionObjectFile/functionObjectFile.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)
|
||||
list(APPEND SOURCES
|
||||
${Time}/TimePaths.C
|
||||
|
@ -303,6 +325,12 @@ list(APPEND SOURCES
|
|||
${LUscalarMatrix}/procLduInterface.C
|
||||
)
|
||||
|
||||
set(crMatrix matrices/crMatrix)
|
||||
list(APPEND SOURCES
|
||||
${crMatrix}/crAddressing.C
|
||||
${crMatrix}/crMatrix.C
|
||||
)
|
||||
|
||||
set(lduMatrix matrices/lduMatrix)
|
||||
list(APPEND SOURCES
|
||||
${lduMatrix}/lduMatrix/lduMatrix.C
|
||||
|
@ -368,7 +396,7 @@ list(APPEND SOURCES
|
|||
${AMG}/GAMGSolverSolve.C
|
||||
)
|
||||
|
||||
set(AMGInterfaces ${AMG}/interfaces)
|
||||
set(AMGInterfaces ${AMG}/interfaces/AMGInterfaces)
|
||||
list(APPEND SOURCES
|
||||
${AMGInterfaces}/AMGInterface/AMGInterface.C
|
||||
${AMGInterfaces}/AMGInterface/newAMGInterface.C
|
||||
|
@ -380,7 +408,15 @@ list(APPEND SOURCES
|
|||
${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
|
||||
${AMGInterfaceFields}/AMGInterfaceField/AMGInterfaceField.C
|
||||
${AMGInterfaceFields}/AMGInterfaceField/newAMGInterfaceField.C
|
||||
|
@ -392,6 +428,14 @@ list(APPEND SOURCES
|
|||
${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(GAMGAgglomeration ${AMGAgglomerations}/GAMGAgglomeration)
|
||||
|
@ -517,6 +561,7 @@ list(APPEND SOURCES
|
|||
${globalMeshData}/globalMeshData.C
|
||||
${globalMeshData}/globalPoints.C
|
||||
${globalMeshData}/globalIndex.C
|
||||
${globalMeshData}/globalProcFaceIndex.C
|
||||
${polyMesh}/syncTools/syncTools.C
|
||||
)
|
||||
|
||||
|
@ -748,6 +793,19 @@ list(APPEND SOURCES
|
|||
${interpolations}/RBFInterpolation/RBFFunctions/Gauss/Gauss.C
|
||||
${interpolations}/RBFInterpolation/RBFFunctions/TPS/TPS.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/FaceCellWaveName.C
|
||||
algorithms/polygon/clipping/SutherlandHodgman.C
|
||||
|
@ -849,10 +907,19 @@ list(APPEND SOURCES
|
|||
${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)
|
||||
list(APPEND SOURCES
|
||||
${BlockMatrixCoarsening}/BlockMatrixCoarsening/blockMatrixCoarsenings.C
|
||||
${BlockMatrixCoarsening}/BlockMatrixAgglomeration/blockMatrixAgglomerations.C
|
||||
${BlockMatrixCoarsening}/BlockMatrixClustering/blockMatrixClusterings.C
|
||||
${BlockMatrixCoarsening}/BlockMatrixSelection/blockMatrixSelections.C
|
||||
)
|
||||
|
||||
set(BlockLduPrecons matrices/blockLduMatrix/BlockLduPrecons)
|
||||
|
@ -869,6 +936,9 @@ list(APPEND SOURCES
|
|||
${BlockLduPrecons}/BlockCholeskyPrecon/tensorBlockCholeskyPrecon.C
|
||||
${BlockLduPrecons}/BlockCholeskyPrecon/blockCholeskyPrecons.C
|
||||
${BlockLduPrecons}/BlockAMGPrecon/blockAMGPrecons.C
|
||||
${BlockLduPrecons}/BlockILUC0Precon/scalarBlockILUC0Precon.C
|
||||
${BlockLduPrecons}/BlockILUC0Precon/tensorBlockILUC0Precon.C
|
||||
${BlockLduPrecons}/BlockILUC0Precon/blockILUC0Precons.C
|
||||
${BlockLduPrecons}/BlockILUCpPrecon/scalarBlockILUCpPrecon.C
|
||||
${BlockLduPrecons}/BlockILUCpPrecon/tensorBlockILUCpPrecon.C
|
||||
${BlockLduPrecons}/BlockILUCpPrecon/blockILUCpPrecons.C
|
||||
|
@ -879,6 +949,7 @@ list(APPEND SOURCES
|
|||
${BlockLduSmoothers}/BlockLduSmoother/blockLduSmoothers.C
|
||||
${BlockLduSmoothers}/BlockGaussSeidelSmoother/blockGaussSeidelSmoothers.C
|
||||
${BlockLduSmoothers}/BlockILUSmoother/blockILUSmoothers.C
|
||||
${BlockLduSmoothers}/BlockILUC0Smoother/blockILUC0Smoothers.C
|
||||
${BlockLduSmoothers}/BlockILUCpSmoother/blockILUCpSmoothers.C
|
||||
)
|
||||
|
||||
|
@ -888,6 +959,7 @@ list(APPEND SOURCES
|
|||
${BlockLduSolvers}/BlockLduSolver/blockLduSolvers.C
|
||||
${BlockLduSolvers}/BlockDiagonal/blockDiagonalSolvers.C
|
||||
${BlockLduSolvers}/BlockGaussSeidel/blockGaussSeidelSolvers.C
|
||||
${BlockLduSolvers}/BlockILU/blockILUSolvers.C
|
||||
${BlockLduSolvers}/BlockCG/blockCGSolvers.C
|
||||
${BlockLduSolvers}/BlockBiCGStab/blockBiCGStabSolvers.C
|
||||
${BlockLduSolvers}/BlockGMRES/blockGMRESSolvers.C
|
||||
|
@ -897,5 +969,5 @@ list(APPEND 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)
|
||||
|
|
|
@ -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"
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
// Create the nullObject singleton
|
||||
|
||||
#include "nullObject.C"
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
// Global IO streams
|
||||
|
||||
|
@ -52,7 +57,7 @@ const char* const Foam::FOAMbuild = "@FOAM_VERSION@";
|
|||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
#include "JobInfo.H"
|
||||
bool Foam::JobInfo::constructed = false;
|
||||
bool Foam::JobInfo::constructed(false);
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
// Global error definitions (initialised by construction)
|
||||
|
|
|
@ -31,3 +31,4 @@
|
|||
# --------------------------------------------------------------------------
|
||||
|
||||
add_subdirectory(MGridGenGamgAgglomeration)
|
||||
add_subdirectory(pairPatchAgglomeration)
|
||||
|
|
|
@ -37,4 +37,4 @@ list(APPEND 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(immersedBoundaryTurbulence)
|
||||
add_subdirectory(immersedBoundaryDynamicMesh)
|
|
@ -31,17 +31,14 @@
|
|||
# --------------------------------------------------------------------------
|
||||
|
||||
list(APPEND SOURCES
|
||||
immersedPoly/immersedPoly.C
|
||||
immersedPoly/distanceFunctions/triSurfaceDistance/triSurfaceDistance.C
|
||||
immersedBoundaryPolyPatch/immersedBoundaryPolyPatch.C
|
||||
immersedBoundaryPointPatch/immersedBoundaryPointPatch.C
|
||||
immersedBoundaryFvPatch/immersedBoundaryFvPatch.C
|
||||
immersedBoundaryFvPatch/immersedBoundaryFvPatchLeastSquaresFit.C
|
||||
immersedBoundaryFvPatch/immersedBoundaryFvPatchSamplingWeights.C
|
||||
immersedBoundaryFvPatch/immersedBoundaryFvPatchTriAddressing.C
|
||||
immersedBoundaryFvPatchField/immersedBoundaryFvPatchFields.C
|
||||
immersedBoundaryFvsPatchField/immersedBoundaryFvsPatchFields.C
|
||||
immersedBoundaryAdjustPhi/immersedBoundaryAdjustPhi.C
|
||||
refineImmersedBoundaryMesh/refineImmersedBoundaryMesh.C
|
||||
ibSwirlFlowRateInletVelocity/ibSwirlFlowRateInletVelocityFvPatchVectorField.C
|
||||
mixedIbFvPatchField/mixedIbFvPatchFields.C
|
||||
movingImmersedBoundaryVelocity/movingImmersedBoundaryVelocityFvPatchVectorField.C
|
||||
)
|
||||
|
||||
add_foam_library(immersedBoundary SHARED ${SOURCES})
|
||||
|
|
|
@ -32,9 +32,12 @@
|
|||
|
||||
list(APPEND SOURCES
|
||||
movingImmersedBoundary/movingImmersedBoundary.C
|
||||
refineImmersedBoundaryMesh/refineImmersedBoundaryMesh.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})
|
||||
|
||||
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)
|
||||
list(APPEND SOURCES
|
||||
${lduPrecon}/CholeskyPrecon/CholeskyPrecon.C
|
||||
|
@ -49,6 +44,7 @@ set(lduSmoother lduSmoother)
|
|||
list(APPEND SOURCES
|
||||
${lduSmoother}/symGaussSeidelSmoother/symGaussSeidelSmoother.C
|
||||
${lduSmoother}/iluSmoother/iluSmoother.C
|
||||
${lduSmoother}/iluC0Smoother/iluC0Smoother.C
|
||||
)
|
||||
|
||||
set(lduSolver lduSolver)
|
||||
|
@ -75,6 +71,8 @@ set(amgPolicy ${amg}/amgPolicy)
|
|||
list(APPEND SOURCES
|
||||
${amgPolicy}/amgPolicy.C
|
||||
${amgPolicy}/pamgPolicy.C
|
||||
${amgPolicy}/clusterAmgPolicy.C
|
||||
${amgPolicy}/selectionAmgPolicy.C
|
||||
)
|
||||
|
||||
add_foam_library(lduSolvers SHARED ${SOURCES})
|
||||
|
|
|
@ -34,6 +34,7 @@ list(APPEND SOURCES
|
|||
extrudeModel/extrudeModel.C
|
||||
extrudeModel/newExtrudeModel.C
|
||||
linearNormal/linearNormal.C
|
||||
gradedNormal/gradedNormal.C
|
||||
linearRadial/linearRadial.C
|
||||
sigmaRadial/sigmaRadial.C
|
||||
wedge/wedge.C
|
||||
|
@ -41,4 +42,4 @@ list(APPEND 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(PV4FoamReader)
|
||||
add_subdirectory(oversetMesh)
|
||||
add_subdirectory(oversetDynamicFvMesh)
|
|
@ -31,16 +31,10 @@
|
|||
# --------------------------------------------------------------------------
|
||||
|
||||
list(APPEND SOURCES
|
||||
potentialIbFoam.C
|
||||
movingOversetRegion/movingOversetRegion.C
|
||||
oversetSolidBodyMotionFvMesh/oversetSolidBodyMotionFvMesh.C
|
||||
)
|
||||
|
||||
# Set minimal environment for external compilation
|
||||
if(NOT FOAM_FOUND)
|
||||
cmake_minimum_required(VERSION 2.8)
|
||||
find_package(FOAM REQUIRED)
|
||||
endif()
|
||||
add_foam_library(oversetDynamicFvMesh SHARED ${SOURCES})
|
||||
|
||||
add_foam_executable(potentialIbFoam
|
||||
DEPENDS immersedBoundary
|
||||
SOURCES ${SOURCES}
|
||||
)
|
||||
target_link_libraries(oversetDynamicFvMesh PUBLIC oversetMesh dynamicFvMesh solidBodyMotion)
|
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/randomise/randomise.C
|
||||
field/interpolate/interpolate.C
|
||||
field/helicity/helicity.C
|
||||
basic/addSubtract/addSubtract.C
|
||||
basic/scalarMult/scalarMult.C
|
||||
)
|
||||
|
|
|
@ -36,3 +36,5 @@ add_subdirectory(utilities)
|
|||
add_subdirectory(field)
|
||||
add_subdirectory(forces)
|
||||
add_subdirectory(check)
|
||||
add_subdirectory(fvTools)
|
||||
add_subdirectory(jobControl)
|
||||
|
|
|
@ -31,10 +31,16 @@
|
|||
# --------------------------------------------------------------------------
|
||||
|
||||
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/writeRegisteredObjectFunctionObject.C
|
||||
)
|
||||
|
||||
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/fieldAverageItemIO.C
|
||||
fieldAverage/fieldAverageFunctionObject/fieldAverageFunctionObject.C
|
||||
fieldCoordinateSystemTransform/fieldCoordinateSystemTransform.C
|
||||
fieldCoordinateSystemTransform/fieldCoordinateSystemTransformFunctionObject.C
|
||||
fieldMinMax/fieldMinMax.C
|
||||
fieldMinMax/fieldMinMaxFunctionObject.C
|
||||
minMaxField/minMaxField.C
|
||||
maxFieldCell/maxFieldCell.C
|
||||
fieldValues/fieldValue/fieldValue.C
|
||||
fieldValues/fieldValue/fieldValueNew.C
|
||||
fieldValues/fieldValueDelta/fieldValueDelta.C
|
||||
fieldValues/fieldValueDelta/fieldValueDeltaFunctionObject.C
|
||||
fieldValues/faceSource/faceSource.C
|
||||
fieldValues/faceSource/faceSourceFunctionObject.C
|
||||
fieldValues/cellSource/cellSource.C
|
||||
fieldValues/cellSource/cellSourceFunctionObject.C
|
||||
processorField/processorField.C
|
||||
processorField/processorFieldFunctionObject.C
|
||||
readFields/readFields.C
|
||||
readFields/readFieldsFunctionObject.C
|
||||
surfaceInterpolateFields/surfaceInterpolateFieldsFunctionObject.C
|
||||
surfaceInterpolateFields/surfaceInterpolateFields.C
|
||||
surfaceInterpolateFields/surfaceInterpolateFieldsFunctionObject.C
|
||||
regionSizeDistribution/regionSizeDistribution.C
|
||||
regionSizeDistribution/regionSizeDistributionFunctionObject.C
|
||||
)
|
||||
|
||||
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
|
||||
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
|
||||
if(NOT FOAM_FOUND)
|
||||
cmake_minimum_required(VERSION 2.8)
|
||||
find_package(FOAM REQUIRED)
|
||||
endif()
|
||||
add_foam_library(FVFunctionObjects SHARED ${SOURCES})
|
||||
|
||||
add_foam_executable(porousSimpleIbFoam
|
||||
DEPENDS immersedBoundaryTurbulence
|
||||
SOURCES ${SOURCES}
|
||||
)
|
||||
target_link_libraries(FVFunctionObjects PUBLIC finiteVolume)
|
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
|
||||
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/staticPressureFunctionObject.C
|
||||
dsmcFields/dsmcFields.C
|
||||
dsmcFields/dsmcFieldsFunctionObject.C
|
||||
MachNumber/MachNumber.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})
|
||||
|
||||
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
|
||||
probes/probes.C
|
||||
probes/probesFunctionObject.C
|
||||
probes/probesGrouping.C
|
||||
probes/probesFunctionObject/probesFunctionObject.C
|
||||
sampledSet/coordSet/coordSet.C
|
||||
sampledSet/sampledSet/sampledSet.C
|
||||
sampledSet/cloud/cloudSet.C
|
||||
|
@ -41,7 +42,9 @@ list(APPEND SOURCES
|
|||
sampledSet/uniform/uniformSet.C
|
||||
sampledSet/midPoint/midPointSet.C
|
||||
sampledSet/midPointAndFace/midPointAndFaceSet.C
|
||||
sampledSet/sampledSet/sampledSet.C
|
||||
sampledSet/sampledSets/sampledSets.C
|
||||
sampledSet/sampledSets/sampledSetsGrouping.C
|
||||
sampledSet/sampledSetsFunctionObject/sampledSetsFunctionObject.C
|
||||
)
|
||||
|
||||
|
@ -64,6 +67,7 @@ list(APPEND SOURCES
|
|||
sampledSurface/sampledCuttingPlane/sampledCuttingPlane.C
|
||||
sampledSurface/sampledSurface/sampledSurface.C
|
||||
sampledSurface/sampledSurfaces/sampledSurfaces.C
|
||||
sampledSurface/sampledSurfaces/sampledSurfacesGrouping.C
|
||||
sampledSurface/sampledSurfacesFunctionObject/sampledSurfacesFunctionObject.C
|
||||
sampledSurface/sampledTriSurfaceMesh/sampledTriSurfaceMesh.C
|
||||
sampledSurface/thresholdCellFaces/thresholdCellFaces.C
|
||||
|
@ -73,13 +77,14 @@ list(APPEND SOURCES
|
|||
set(surfWriters sampledSurface/writers)
|
||||
|
||||
list(APPEND SOURCES
|
||||
${surfWriters}/surfaceWriters.C
|
||||
${surfWriters}/dx/dxSurfaceWriterRunTime.C
|
||||
${surfWriters}/foamFile/foamFileSurfaceWriterRunTime.C
|
||||
${surfWriters}/null/nullSurfaceWriterRunTime.C
|
||||
${surfWriters}/proxy/proxySurfaceWriterRunTime.C
|
||||
${surfWriters}/raw/rawSurfaceWriterRunTime.C
|
||||
${surfWriters}/vtk/vtkSurfaceWriterRunTime.C
|
||||
${surfWriters}/surfaceWriter.C
|
||||
${surfWriters}/dx/dxSurfaceWriter.C
|
||||
${surfWriters}/foamFile/foamFileSurfaceWriter.C
|
||||
${surfWriters}/nastran/nastranSurfaceWriter.C
|
||||
${surfWriters}/proxy/proxySurfaceWriter.C
|
||||
${surfWriters}/raw/rawSurfaceWriter.C
|
||||
${surfWriters}/starcd/starcdSurfaceWriter.C
|
||||
${surfWriters}/vtk/vtkSurfaceWriter.C
|
||||
graphField/writePatchGraph.C
|
||||
graphField/writeCellGraph.C
|
||||
graphField/makeGraph.C
|
||||
|
|
|
@ -122,16 +122,8 @@ list(APPEND SOURCES
|
|||
${rheologyLaws}/multiMaterial/multiMaterial.C
|
||||
${rheologyLaws}/orthotropicLinearElastic/orthotropicLinearElastic.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})
|
||||
|
||||
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})
|
||||
|
||||
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})
|
||||
|
||||
target_link_libraries(barotropicCompressibilityModel finiteVolume)
|
||||
target_link_libraries(barotropicCompressibilityModel PUBLIC finiteVolume)
|
||||
|
|
|
@ -55,6 +55,7 @@ list(APPEND SOURCES
|
|||
derivedFvPatchFields/mixedInternalEnergy/mixedInternalEnergyFvPatchScalarField.C
|
||||
derivedFvPatchFields/ggiEnthalpyJump/ggiEnthalpyJumpFvPatchFields.C
|
||||
derivedFvPatchFields/mixingPlaneEnthalpyJump/mixingPlaneEnthalpyJumpFvPatchFields.C
|
||||
derivedFvPatchFields/overlapGgiEnthalpyJump/overlapGgiEnthalpyJumpFvPatchFields.C
|
||||
derivedFvPatchFields/wallHeatTransfer/wallHeatTransferFvPatchScalarField.C
|
||||
derivedFvPatchFields/temperatureDirectedInletOutletVelocity/temperatureDirectedInletOutletVelocityFvPatchVectorField.C
|
||||
derivedFvPatchFields/isentropicTotalPressure/isentropicTotalPressureFvPatchScalarField.C
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Reference in a new issue