Changes to make CMake work with release candidate

This commit is contained in:
Henrik Rusche 2018-05-23 20:30:01 +02:00
parent 23c3489293
commit ad762e6c69
107 changed files with 674 additions and 13973 deletions

View file

@ -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}
)

View file

@ -35,4 +35,3 @@ add_subdirectory(conjugateHeatFoam)
add_subdirectory(pUCoupledFoam)
add_subdirectory(conjugateHeatSimpleFoam)
add_subdirectory(MRFPorousFoam)
add_subdirectory(conjugateHeatTransfer)

View file

@ -41,6 +41,6 @@ if(NOT FOAM_FOUND)
endif()
add_foam_executable(turbDyMEngineFoam
DEPENDS incompressibleTurbulenceModel engine
DEPENDS engine incompressibleRASModels incompressibleLESModels
SOURCES ${SOURCES}
)

View file

@ -41,7 +41,7 @@ if(NOT FOAM_FOUND)
endif()
add_foam_executable(buoyantBoussinesqPisoFoam
DEPENDS incompressibleTurbulenceModel
DEPENDS incompressibleRASModels incompressibleLESModels
SOURCES ${SOURCES}
)

View file

@ -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)

View file

@ -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}
)

View file

@ -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}
)

View file

@ -44,3 +44,4 @@ add_subdirectory(nonNewtonianIcoFoam)
add_subdirectory(pimpleFoam)
add_subdirectory(shallowWaterFoam)
add_subdirectory(MRFSimpleFoam)
add_subdirectory(RichardsFoam)

View file

@ -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}
)

View file

@ -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}
)

View file

@ -41,7 +41,7 @@ if(NOT FOAM_FOUND)
endif()
add_foam_executable(MRFInterFoam
DEPENDS interfaceProperties incompressibleTurbulenceModel
DEPENDS interfaceProperties incompressibleRASModels incompressibleLESModels
SOURCES ${SOURCES}
)

View file

@ -41,6 +41,6 @@ if(NOT FOAM_FOUND)
endif()
add_foam_executable(cavitatingFoam
DEPENDS incompressibleTurbulenceModel barotropicCompressibilityModel
DEPENDS barotropicCompressibilityModel incompressibleRASModels incompressibleLESModels
SOURCES ${SOURCES}
)

View file

@ -41,6 +41,6 @@ if(NOT FOAM_FOUND)
endif()
add_foam_executable(compressibleInterDyMFoam
DEPENDS interfaceProperties incompressibleTurbulenceModel dynamicFvMesh
DEPENDS interfaceProperties dynamicFvMesh incompressibleRASModels incompressibleLESModels
SOURCES ${SOURCES}
)

View file

@ -41,6 +41,6 @@ if(NOT FOAM_FOUND)
endif()
add_foam_executable(compressibleInterFoam
DEPENDS interfaceProperties incompressibleTurbulenceModel
DEPENDS interfaceProperties incompressibleRASModels incompressibleLESModels
SOURCES ${SOURCES}
)

View file

@ -41,7 +41,7 @@ if(NOT FOAM_FOUND)
endif()
add_foam_executable(interDyMFoam
DEPENDS interfaceProperties incompressibleTurbulenceModel dynamicFvMesh
DEPENDS interfaceProperties dynamicFvMesh incompressibleRASModels incompressibleLESModels
SOURCES ${SOURCES}
)

View file

@ -41,6 +41,6 @@ if(NOT FOAM_FOUND)
endif()
add_foam_executable(interFoam
DEPENDS interfaceProperties incompressibleTurbulenceModel
DEPENDS interfaceProperties incompressibleRASModels incompressibleLESModels
SOURCES ${SOURCES}
)

View file

@ -43,7 +43,7 @@ if(NOT FOAM_FOUND)
endif()
add_foam_executable(interMixingFoam
DEPENDS interfaceProperties incompressibleTurbulenceModel
DEPENDS interfaceProperties incompressibleRASModels incompressibleLESModels
SOURCES ${SOURCES}
)

View file

@ -46,7 +46,7 @@ if(NOT FOAM_FOUND)
endif()
add_foam_executable(interPhaseChangeFoam
DEPENDS interfaceProperties incompressibleTurbulenceModel
DEPENDS interfaceProperties incompressibleRASModels incompressibleLESModels
SOURCES ${SOURCES}
)

View file

@ -44,7 +44,7 @@ if(NOT FOAM_FOUND)
endif()
add_foam_executable(multiphaseInterFoam
DEPENDS interfaceProperties incompressibleTurbulenceModel
DEPENDS interfaceProperties incompressibleRASModels incompressibleLESModels
SOURCES ${SOURCES}
)

View file

@ -41,7 +41,7 @@ if(NOT FOAM_FOUND)
endif()
add_foam_executable(porousInterFoam
DEPENDS interfaceProperties incompressibleTurbulenceModel
DEPENDS interfaceProperties incompressibleRASModels incompressibleLESModels
SOURCES ${SOURCES}
)

View file

@ -41,6 +41,6 @@ if(NOT FOAM_FOUND)
endif()
add_foam_executable(twoLiquidMixingFoam
DEPENDS interfaceProperties incompressibleTurbulenceModel
DEPENDS interfaceProperties incompressibleRASModels incompressibleLESModels
SOURCES ${SOURCES}
)

View file

@ -41,6 +41,6 @@ if(NOT FOAM_FOUND)
endif()
add_foam_executable(refineImmersedBoundaryMesh
DEPENDS immersedBoundary
DEPENDS finiteVolume immersedBoundaryDynamicMesh
SOURCES ${SOURCES}
)

View file

@ -41,6 +41,6 @@ if(NOT FOAM_FOUND)
endif()
add_foam_executable(writeIbMasks
DEPENDS immersedBoundary
DEPENDS postCalc immersedBoundary
SOURCES ${SOURCES}
)

View file

@ -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}
)

View file

@ -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}
)

View file

@ -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}
)

View file

@ -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)

View file

@ -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)

View file

@ -30,4 +30,5 @@
#
# --------------------------------------------------------------------------
add_subdirectory(vtkPV3Foam)
add_subdirectory(PVFoamReader)
add_subdirectory(vtkPVFoam)

View file

@ -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)
#-----------------------------------------------------------------------------

View file

@ -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

View file

@ -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>
)

View file

@ -300,7 +300,7 @@ vtkUnstructuredGrid* Foam::vtkPVFoam::volumeVTKMesh
// but avoids crashes when there is no vtkPolyhedron support
// establish unique node ids used
HashSet<vtkIdType, Hash<label>> hashUniqId(2*256);
HashSet<vtkIdType, Hash<label> > hashUniqId(2*256);
forAll(cFaces, cFacei)
{

View file

@ -32,7 +32,7 @@
list(APPEND SOURCES
bunnylod/progmesh.C
bunnylod/vector.C
bunnylod/vectorb.C
surfaceCoarsen.C
)

View file

@ -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()

View file

@ -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)

View file

@ -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)

View file

@ -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)

View file

@ -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)

View file

@ -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

View file

@ -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(

View file

@ -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)

View file

@ -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})

View file

@ -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)

View file

@ -54,4 +54,4 @@ list(APPEND SOURCES
add_foam_library(coupledLduMatrix SHARED ${SOURCES})
target_link_libraries(coupledLduMatrix finiteVolume)
target_link_libraries(coupledLduMatrix PUBLIC finiteVolume)

View file

@ -43,4 +43,4 @@ list(APPEND SOURCES
add_foam_library(cudaSolvers SHARED ${SOURCES})
target_link_libraries(cudaSolvers finiteVolume)
target_link_libraries(cudaSolvers PUBLIC finiteVolume)

View file

@ -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()

View file

@ -34,3 +34,4 @@ add_subdirectory(parMetisDecomp)
add_subdirectory(decompositionMethods)
add_subdirectory(scotchDecomp)
add_subdirectory(metisDecomp)
add_subdirectory(decomposeReconstruct)

View 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)

View file

@ -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)

View file

@ -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)

View file

@ -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)

View file

@ -35,3 +35,4 @@ add_subdirectory(dynamicMesh)
add_subdirectory(dynamicTopoFvMesh)
add_subdirectory(dynamicFvMesh)
add_subdirectory(meshMotion)
add_subdirectory(loadBalanceFvMesh)

View file

@ -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

View file

@ -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)

View file

@ -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)

View file

@ -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)

View file

@ -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)

View file

@ -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)

View file

@ -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"
// ************************************************************************* //

View file

@ -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)

View file

@ -31,3 +31,4 @@
# --------------------------------------------------------------------------
add_subdirectory(MGridGenGamgAgglomeration)
add_subdirectory(pairPatchAgglomeration)

View file

@ -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)

View file

@ -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)

View file

@ -30,7 +30,5 @@
#
# --------------------------------------------------------------------------
add_subdirectory(immersedBoundaryForce)
add_subdirectory(immersedBoundary)
add_subdirectory(immersedBoundaryTurbulence)
add_subdirectory(immersedBoundaryDynamicMesh)

View file

@ -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})

View file

@ -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)

View file

@ -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)

View file

@ -1,6 +0,0 @@
wallFunctions/immersedBoundaryWallFunctions/immersedBoundaryWallFunctionFvPatchFields.C
wallFunctions/immersedBoundaryEpsilonWallFunctions/immersedBoundaryEpsilonWallFunctionFvPatchScalarField.C
wallFunctions/immersedBoundaryOmegaWallFunctions/immersedBoundaryOmegaWallFunctionFvPatchScalarField.C
wallFunctions/immersedBoundaryVelocityWallFunctions/immersedBoundaryVelocityWallFunctionFvPatchVectorField.C
LIB = $(FOAM_LIBBIN)/libimmersedBoundaryTurbulence

View file

@ -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

View file

@ -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
// ************************************************************************* //

View file

@ -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
// ************************************************************************* //

View file

@ -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
// ************************************************************************* //

View file

@ -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
// ************************************************************************* //

View file

@ -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
// ************************************************************************* //

View file

@ -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
// ************************************************************************* //

View file

@ -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
// ************************************************************************* //

View file

@ -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
// ************************************************************************* //

View file

@ -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
// ************************************************************************* //

View file

@ -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
// ************************************************************************* //

View file

@ -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)

View file

@ -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})

View file

@ -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

View file

@ -30,5 +30,5 @@
#
# --------------------------------------------------------------------------
add_subdirectory(vtkPV4Foam)
add_subdirectory(PV4FoamReader)
add_subdirectory(oversetMesh)
add_subdirectory(oversetDynamicFvMesh)

View file

@ -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)

View 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)

View file

@ -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
)

View file

@ -36,3 +36,5 @@ add_subdirectory(utilities)
add_subdirectory(field)
add_subdirectory(forces)
add_subdirectory(check)
add_subdirectory(fvTools)
add_subdirectory(jobControl)

View file

@ -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)

View file

@ -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)

View file

@ -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)

View 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)

View file

@ -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)

View file

@ -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

View file

@ -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)

View file

@ -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

View file

@ -40,4 +40,4 @@ list(APPEND SOURCES
add_foam_library(barotropicCompressibilityModel SHARED ${SOURCES})
target_link_libraries(barotropicCompressibilityModel finiteVolume)
target_link_libraries(barotropicCompressibilityModel PUBLIC finiteVolume)

Some files were not shown because too many files have changed in this diff Show more