Merge branch 'develop' of develop.openfoam.com:Development/OpenFOAM-plus into develop
This commit is contained in:
commit
c97b23e253
@ -1,6 +1,19 @@
|
||||
{
|
||||
// Temporarily making U relative to mesh motion
|
||||
if (mesh.moving())
|
||||
{
|
||||
U -= fvc::reconstruct(mesh.phi());
|
||||
}
|
||||
|
||||
// Updating alpha1
|
||||
advector.advect();
|
||||
|
||||
// Making U absolute again after advection step
|
||||
if (mesh.moving())
|
||||
{
|
||||
U += fvc::reconstruct(mesh.phi());
|
||||
}
|
||||
|
||||
#include "rhofs.H"
|
||||
rhoPhi = advector.getRhoPhi(rho1f, rho2f);
|
||||
|
||||
|
@ -4,6 +4,16 @@ cd ${0%/*} || exit 1 # Run from this directory
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
|
||||
case "$WM_COMPILER" in
|
||||
Mingw*)
|
||||
echo "Skipping $WM_COMPILER compilation of $PWD"
|
||||
echo "... needs further resolution of cyclic dependencies"
|
||||
exit 0
|
||||
;;
|
||||
esac
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
|
||||
reactingTwoPhaseEulerFoam/Allwmake $targetType $*
|
||||
reactingMultiphaseEulerFoam/Allwmake $targetType $*
|
||||
wmake $targetType functionObjects
|
||||
|
@ -7,5 +7,5 @@ EXE_INC = \
|
||||
-I$(LIB_SRC)/phaseSystemModels/reactingEulerFoam/phaseSystems/lnInclude
|
||||
|
||||
LIB_LIBS = \
|
||||
-lfieldFunctionObjects \
|
||||
-lfiniteVolume
|
||||
-lfiniteVolume \
|
||||
-lfieldFunctionObjects
|
||||
|
@ -1,9 +1,9 @@
|
||||
#!/bin/sh
|
||||
cd ${0%/*} || exit 1 # Run from this directory
|
||||
|
||||
# Parse arguments for library compilation
|
||||
cd ${0%/*} || exit 1 # Run from this directory
|
||||
. $WM_PROJECT_DIR/wmake/scripts/AllwmakeParseArguments
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
|
||||
wmake $targetType
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
|
14
etc/bashrc
14
etc/bashrc
@ -74,12 +74,6 @@ export WM_COMPILER_TYPE=system
|
||||
# Clang | Clang3[7-9] | Clang[4-6]0 | Icc | Cray | Arm | Pgi
|
||||
export WM_COMPILER=Gcc
|
||||
|
||||
# [WM_ARCH_OPTION] - Memory addressing:
|
||||
# = 32 | 64
|
||||
# * on a 64-bit OS this can be 32 or 64
|
||||
# * on a 32-bit OS, it is always 32-bit and this option is ignored
|
||||
export WM_ARCH_OPTION=64
|
||||
|
||||
# [WM_PRECISION_OPTION] - Floating-point precision:
|
||||
# = DP | SP | SPDP
|
||||
export WM_PRECISION_OPTION=DP
|
||||
@ -103,7 +97,7 @@ export WM_MPLIB=SYSTEMOPENMPI
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
# (advanced / legacy)
|
||||
#
|
||||
|
||||
# [FOAM_SIGFPE] - Trap floating-point exceptions.
|
||||
# - overrides the 'trapFpe' controlDict entry
|
||||
# = true | false
|
||||
@ -126,6 +120,12 @@ export WM_MPLIB=SYSTEMOPENMPI
|
||||
# = POSIX
|
||||
#export WM_OSTYPE=POSIX
|
||||
|
||||
# [WM_ARCH_OPTION] - compiling with -m32 option on 64-bit system
|
||||
# = 32 | 64
|
||||
# * on a 64-bit OS this can be 32 or 64
|
||||
# * on a 32-bit OS this option is ignored (always 32-bit)
|
||||
export WM_ARCH_OPTION=64
|
||||
|
||||
################################################################################
|
||||
|
||||
# Capture values of old directories to be cleaned from PATH, LD_LIBRARY_PATH
|
||||
|
@ -22,6 +22,12 @@
|
||||
setenv WM_ARCH `uname -s` # System name
|
||||
## if (! $?WM_OSTYPE ) setenv WM_OSTYPE POSIX # System type (POSIX is default)
|
||||
|
||||
set archOption=64
|
||||
if ($?WM_ARCH_OPTION) then
|
||||
set archOption="$WM_ARCH_OPTION"
|
||||
endif
|
||||
|
||||
unsetenv WM_ARCH_OPTION # Compiling 32-bit on 64-bit system
|
||||
setenv WM_COMPILER_ARCH # Host compiler type (when different than target)
|
||||
setenv WM_COMPILER_LIB_ARCH # Additional ending for lib directories
|
||||
|
||||
@ -32,23 +38,22 @@ case Linux:
|
||||
|
||||
switch (`uname -m`)
|
||||
case i686:
|
||||
setenv WM_ARCH_OPTION 32
|
||||
breaksw
|
||||
|
||||
case x86_64:
|
||||
if (! $?WM_ARCH_OPTION ) setenv WM_ARCH_OPTION 64 # Default to 64-bit
|
||||
switch ($WM_ARCH_OPTION)
|
||||
switch ("$archOption")
|
||||
case 32:
|
||||
setenv WM_COMPILER_ARCH 64 # 64-bit compiler, 32-bit target
|
||||
setenv WM_ARCH_OPTION 32 # Need to propagate the value
|
||||
setenv WM_COMPILER_ARCH 64 # 64-bit compiler, 32-bit target
|
||||
breaksw
|
||||
|
||||
case 64:
|
||||
setenv WM_ARCH linux64
|
||||
setenv WM_COMPILER_LIB_ARCH 64 # target with lib64
|
||||
setenv WM_COMPILER_LIB_ARCH 64 # Target with lib64
|
||||
breaksw
|
||||
|
||||
default:
|
||||
echo "Unknown WM_ARCH_OPTION '$WM_ARCH_OPTION', should be 32|64"
|
||||
echo "Unknown WM_ARCH_OPTION '$archOption', should be 32|64"
|
||||
breaksw
|
||||
|
||||
endsw
|
||||
@ -60,13 +65,11 @@ case Linux:
|
||||
|
||||
case armv7l:
|
||||
setenv WM_ARCH linuxARM7
|
||||
setenv WM_ARCH_OPTION 32
|
||||
setenv WM_COMPILER_LIB_ARCH 32
|
||||
breaksw
|
||||
|
||||
case aarch64:
|
||||
setenv WM_ARCH linuxARM64
|
||||
setenv WM_ARCH_OPTION 64
|
||||
setenv WM_COMPILER_LIB_ARCH 64
|
||||
breaksw
|
||||
|
||||
@ -88,14 +91,8 @@ case Linux:
|
||||
breaksw
|
||||
|
||||
case Darwin: # Presumably x86_64
|
||||
if (! $?WM_ARCH_OPTION ) setenv WM_ARCH_OPTION 64 # Default to 64-bit
|
||||
setenv WM_ARCH darwin64
|
||||
/bin/cat << INCOMPLETE
|
||||
===============================================================================
|
||||
Darwin support (clang only) is incomplete or untested in this OpenFOAM release.
|
||||
For further assistance, please contact www.OpenFOAM.com
|
||||
===============================================================================
|
||||
INCOMPLETE
|
||||
echo "Darwin support is clang/llvm only"
|
||||
breaksw
|
||||
|
||||
case SunOS*:
|
||||
@ -320,7 +317,7 @@ endsw
|
||||
|
||||
# Cleanup
|
||||
# ~~~~~~~
|
||||
unset archDir siteDir foundDir
|
||||
unset archDir siteDir foundDir archOption
|
||||
unset gcc_version gccDir
|
||||
unset gmp_version gmpDir mpfr_version mpfrDir mpc_version mpcDir
|
||||
unset clang_version clangDir
|
||||
|
@ -38,6 +38,7 @@ _of_complete_cache_[chemFoam]="-case -fileHandler | -listFunctionObjects -listRe
|
||||
_of_complete_cache_[chemkinToFoam]="-case -fileHandler | -newFormat -doc -doc-source -help"
|
||||
_of_complete_cache_[chtMultiRegionFoam]="-case -decomposeParDict -fileHandler | -listFunctionObjects -listFvOptions -listRegisteredSwitches -listScalarBCs -listSwitches -listTurbulenceModels -listUnsetSwitches -listVectorBCs -noFunctionObjects -parallel -postProcess -doc -doc-source -help"
|
||||
_of_complete_cache_[chtMultiRegionSimpleFoam]="-case -decomposeParDict -fileHandler | -listFunctionObjects -listFvOptions -listRegisteredSwitches -listScalarBCs -listSwitches -listTurbulenceModels -listUnsetSwitches -listVectorBCs -noFunctionObjects -parallel -postProcess -doc -doc-source -help"
|
||||
_of_complete_cache_[chtMultiRegionTwoPhaseEulerFoam]="-case -decomposeParDict -fileHandler | -noFunctionObjects -parallel -postProcess -doc -doc-source -help"
|
||||
_of_complete_cache_[coalChemistryFoam]="-case -decomposeParDict -fileHandler | -dry-run -dry-run-write -listFunctionObjects -listFvOptions -listRegisteredSwitches -listScalarBCs -listSwitches -listTurbulenceModels -listUnsetSwitches -listVectorBCs -noFunctionObjects -parallel -postProcess -doc -doc-source -help"
|
||||
_of_complete_cache_[coldEngineFoam]="-case -decomposeParDict -fileHandler | -listFunctionObjects -listFvOptions -listRegisteredSwitches -listScalarBCs -listSwitches -listTurbulenceModels -listUnsetSwitches -listVectorBCs -noFunctionObjects -parallel -postProcess -doc -doc-source -help"
|
||||
_of_complete_cache_[collapseEdges]="-case -collapseFaceSet -decomposeParDict -dict -fileHandler -time | -collapseFaces -constant -latestTime -noZero -overwrite -parallel -doc -doc-source -help"
|
||||
@ -69,7 +70,7 @@ _of_complete_cache_[equilibriumCO]="-case -fileHandler | -doc -doc-source -help"
|
||||
_of_complete_cache_[equilibriumFlameT]="-case -fileHandler | -doc -doc-source -help"
|
||||
_of_complete_cache_[extrude2DMesh]="-case -decomposeParDict -fileHandler | -overwrite -parallel -doc -doc-source -help"
|
||||
_of_complete_cache_[extrudeEdgesInto2DSurface]="-case -fileHandler | -noFunctionObjects -doc -doc-source -help"
|
||||
_of_complete_cache_[extrudeMesh]="-case -decomposeParDict -fileHandler -region | -noFunctionObjects -parallel -doc -doc-source -help"
|
||||
_of_complete_cache_[extrudeMesh]="-case -decomposeParDict -dict -fileHandler -region | -noFunctionObjects -parallel -doc -doc-source -help"
|
||||
_of_complete_cache_[extrudeToRegionMesh]="-case -decomposeParDict -dict -fileHandler -region | -noFunctionObjects -overwrite -parallel -doc -doc-source -help"
|
||||
_of_complete_cache_[faceAgglomerate]="-case -decomposeParDict -dict -fileHandler -region | -noFunctionObjects -parallel -doc -doc-source -help"
|
||||
_of_complete_cache_[faSavageHutterFoam]="-case -decomposeParDict -fileHandler | -noFunctionObjects -parallel -doc -doc-source -help"
|
||||
@ -154,6 +155,7 @@ _of_complete_cache_[noise]="-case -decomposeParDict -dict -fileHandler | -noFunc
|
||||
_of_complete_cache_[nonNewtonianIcoFoam]="-case -decomposeParDict -fileHandler | -dry-run -dry-run-write -listFunctionObjects -listRegisteredSwitches -listScalarBCs -listSwitches -listUnsetSwitches -listVectorBCs -noFunctionObjects -parallel -postProcess -doc -doc-source -help"
|
||||
_of_complete_cache_[objToVTK]="-case -fileHandler | -noFunctionObjects -doc -doc-source -help"
|
||||
_of_complete_cache_[orientFaceZone]="-case -decomposeParDict -fileHandler -region | -noFunctionObjects -parallel -doc -doc-source -help"
|
||||
_of_complete_cache_[overBuoyantPimpleDyMFoam]="-case -decomposeParDict -fileHandler | -dry-run -dry-run-write -listFunctionObjects -listFvOptions -listRegisteredSwitches -listScalarBCs -listSwitches -listTurbulenceModels -listUnsetSwitches -listVectorBCs -noFunctionObjects -parallel -postProcess -doc -doc-source -help"
|
||||
_of_complete_cache_[overInterDyMFoam]="-case -decomposeParDict -fileHandler | -listFunctionObjects -listFvOptions -listRegisteredSwitches -listScalarBCs -listSwitches -listTurbulenceModels -listUnsetSwitches -listVectorBCs -noFunctionObjects -parallel -postProcess -doc -doc-source -help"
|
||||
_of_complete_cache_[overLaplacianDyMFoam]="-case -decomposeParDict -fileHandler | -listFunctionObjects -listFvOptions -listRegisteredSwitches -listScalarBCs -listSwitches -listUnsetSwitches -listVectorBCs -noFunctionObjects -parallel -doc -doc-source -help"
|
||||
_of_complete_cache_[overPimpleDyMFoam]="-case -decomposeParDict -fileHandler | -listFunctionObjects -listFvOptions -listRegisteredSwitches -listScalarBCs -listSwitches -listTurbulenceModels -listUnsetSwitches -listVectorBCs -noFunctionObjects -parallel -postProcess -doc -doc-source -help"
|
||||
@ -168,6 +170,7 @@ _of_complete_cache_[pdfPlot]="-case -decomposeParDict -fileHandler | -noFunction
|
||||
_of_complete_cache_[PDRblockMesh]="-case -dict -fileHandler -time | -noClean -doc -doc-source -help"
|
||||
_of_complete_cache_[PDRFoam]="-case -decomposeParDict -fileHandler | -dry-run -dry-run-write -listFunctionObjects -listFvOptions -listRegisteredSwitches -listScalarBCs -listSwitches -listTurbulenceModels -listUnsetSwitches -listVectorBCs -noFunctionObjects -parallel -postProcess -doc -doc-source -help"
|
||||
_of_complete_cache_[PDRMesh]="-case -decomposeParDict -fileHandler | -overwrite -parallel -doc -doc-source -help"
|
||||
_of_complete_cache_[PDRsetFields]="-case -dict -fileHandler -time | -dry-run -legacy -doc -doc-source -help"
|
||||
_of_complete_cache_[pimpleFoam]="-case -decomposeParDict -fileHandler | -dry-run -dry-run-write -listFunctionObjects -listFvOptions -listRegisteredSwitches -listScalarBCs -listSwitches -listTurbulenceModels -listUnsetSwitches -listVectorBCs -noFunctionObjects -parallel -postProcess -doc -doc-source -help"
|
||||
_of_complete_cache_[pisoFoam]="-case -decomposeParDict -fileHandler | -dry-run -dry-run-write -listFunctionObjects -listFvOptions -listRegisteredSwitches -listScalarBCs -listSwitches -listTurbulenceModels -listUnsetSwitches -listVectorBCs -noFunctionObjects -parallel -postProcess -doc -doc-source -help"
|
||||
_of_complete_cache_[plot3dToFoam]="-2D -case -fileHandler -scale | -noBlank -noFunctionObjects -singleBlock -doc -doc-source -help"
|
||||
@ -182,7 +185,8 @@ _of_complete_cache_[potentialFreeSurfaceFoam]="-case -decomposeParDict -fileHand
|
||||
_of_complete_cache_[preparePar]="-case -decomposeParDict -fileHandler | -noFunctionObjects -doc -doc-source -help"
|
||||
_of_complete_cache_[profilingSummary]="-case -fileHandler -time | -constant -latestTime -noZero -withZero -doc -doc-source -help"
|
||||
_of_complete_cache_[reactingFoam]="-case -decomposeParDict -fileHandler | -dry-run -dry-run-write -listFunctionObjects -listFvOptions -listRegisteredSwitches -listScalarBCs -listSwitches -listTurbulenceModels -listUnsetSwitches -listVectorBCs -noFunctionObjects -parallel -postProcess -doc -doc-source -help"
|
||||
_of_complete_cache_[reactingMultiphaseEulerFoam]="-case -decomposeParDict -fileHandler | -dry-run -dry-run-write -listFunctionObjects -listFvOptions -listRegisteredSwitches -listScalarBCs -listSwitches -listUnsetSwitches -listVectorBCs -noFunctionObjects -parallel -postProcess -doc -doc-source -help"
|
||||
_of_complete_cache_[reactingHeterogenousParcelFoam]="-case -decomposeParDict -fileHandler | -dry-run -dry-run-write -listFunctionObjects -listFvOptions -listRegisteredSwitches -listScalarBCs -listSwitches -listTurbulenceModels -listUnsetSwitches -listVectorBCs -noFunctionObjects -parallel -postProcess -doc -doc-source -help"
|
||||
_of_complete_cache_[reactingMultiphaseEulerFoam]="-case -decomposeParDict -fileHandler | -dry-run -dry-run-write -noFunctionObjects -parallel -postProcess -doc -doc-source -help"
|
||||
_of_complete_cache_[reactingParcelFoam]="-case -decomposeParDict -fileHandler | -dry-run -dry-run-write -listFunctionObjects -listFvOptions -listRegisteredSwitches -listScalarBCs -listSwitches -listTurbulenceModels -listUnsetSwitches -listVectorBCs -noFunctionObjects -parallel -postProcess -doc -doc-source -help"
|
||||
_of_complete_cache_[reactingTwoPhaseEulerFoam]="-case -decomposeParDict -fileHandler | -dry-run -dry-run-write -listFunctionObjects -listFvOptions -listRegisteredSwitches -listScalarBCs -listSwitches -listUnsetSwitches -listVectorBCs -noFunctionObjects -parallel -postProcess -doc -doc-source -help"
|
||||
_of_complete_cache_[reconstructPar]="-case -fields -fileHandler -lagrangianFields -region -time | -allRegions -constant -latestTime -newTimes -noFields -noFunctionObjects -noLagrangian -noSets -noZero -withZero -doc -doc-source -help"
|
||||
@ -258,7 +262,7 @@ _of_complete_cache_[surfaceInflate]="-case -featureAngle -fileHandler -nSmooth |
|
||||
_of_complete_cache_[surfaceLambdaMuSmooth]="-featureFile | -doc -doc-source -help"
|
||||
_of_complete_cache_[surfaceMeshConvert]="-case -dict -fileHandler -from -scaleIn -scaleOut -to | -clean -noFunctionObjects -tri -doc -doc-source -help"
|
||||
_of_complete_cache_[surfaceMeshExport]="-case -dict -fileHandler -from -name -scaleIn -scaleOut -to | -clean -noFunctionObjects -doc -doc-source -help"
|
||||
_of_complete_cache_[surfaceMeshExtract]="-case -decomposeParDict -faceZones -fileHandler -patches -region -time | -constant -excludeProcPatches -latestTime -noFunctionObjects -noZero -parallel -doc -doc-source -help"
|
||||
_of_complete_cache_[surfaceMeshExtract]="-case -decomposeParDict -excludePatches -faceZones -fileHandler -patches -region -time | -constant -excludeProcPatches -latestTime -noFunctionObjects -noZero -parallel -doc -doc-source -help"
|
||||
_of_complete_cache_[surfaceMeshImport]="-case -dict -fileHandler -from -name -scaleIn -scaleOut -to | -clean -noFunctionObjects -doc -doc-source -help"
|
||||
_of_complete_cache_[surfaceMeshInfo]="-case -fileHandler -scale | -areas -noFunctionObjects -xml -doc -doc-source -help"
|
||||
_of_complete_cache_[surfaceOrient]="-case -fileHandler -scale | -inside -noFunctionObjects -usePierceTest -doc -doc-source -help"
|
||||
|
@ -22,6 +22,8 @@
|
||||
export WM_ARCH="$(uname -s)" # System name
|
||||
## : ${WM_OSTYPE:=POSIX}; export WM_OSTYPE # System type (POSIX is default)
|
||||
|
||||
archOption="${WM_ARCH_OPTION:-64}"
|
||||
unset WM_ARCH_OPTION # Compiling 32-bit on 64-bit system
|
||||
unset WM_COMPILER_ARCH # Host compiler type (when different than target)
|
||||
unset WM_COMPILER_LIB_ARCH # Additional ending for lib directories
|
||||
|
||||
@ -33,21 +35,20 @@ Linux)
|
||||
|
||||
case "$(uname -m)" in
|
||||
i686)
|
||||
export WM_ARCH_OPTION=32
|
||||
;;
|
||||
|
||||
x86_64)
|
||||
: "${WM_ARCH_OPTION:=64}"; export WM_ARCH_OPTION # Default to 64-bit
|
||||
case "$WM_ARCH_OPTION" in
|
||||
case "$archOption" in
|
||||
32)
|
||||
export WM_COMPILER_ARCH=64 # 64-bit compiler, 32-bit target
|
||||
export WM_ARCH_OPTION=32 # Need to propagate the value
|
||||
export WM_COMPILER_ARCH=64 # 64-bit compiler, 32-bit target
|
||||
;;
|
||||
64)
|
||||
WM_ARCH=linux64
|
||||
export WM_COMPILER_LIB_ARCH=64
|
||||
export WM_COMPILER_LIB_ARCH=64 # Target with lib64
|
||||
;;
|
||||
*)
|
||||
echo "Unknown WM_ARCH_OPTION '$WM_ARCH_OPTION', should be 32|64" 1>&2
|
||||
echo "Unknown WM_ARCH_OPTION '$archOption', should be 32|64" 1>&2
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
@ -58,13 +59,11 @@ Linux)
|
||||
|
||||
armv7l)
|
||||
WM_ARCH=linuxARM7
|
||||
export WM_ARCH_OPTION=32
|
||||
export WM_COMPILER_LIB_ARCH=32
|
||||
;;
|
||||
|
||||
aarch64)
|
||||
WM_ARCH=linuxARM64
|
||||
export WM_ARCH_OPTION=64
|
||||
export WM_COMPILER_LIB_ARCH=64
|
||||
;;
|
||||
|
||||
@ -85,14 +84,8 @@ Linux)
|
||||
;;
|
||||
|
||||
Darwin) # Presumably x86_64
|
||||
: ${WM_ARCH_OPTION:=64}; export WM_ARCH_OPTION # Default to 64-bit
|
||||
WM_ARCH=darwin64
|
||||
/bin/cat << INCOMPLETE 1>&2
|
||||
===============================================================================
|
||||
Darwin support (clang only) is incomplete or untested in this OpenFOAM release.
|
||||
For further assistance, please contact www.OpenFOAM.com
|
||||
===============================================================================
|
||||
INCOMPLETE
|
||||
echo "Darwin support is clang/llvm only" 1>&2
|
||||
;;
|
||||
|
||||
SunOS*)
|
||||
@ -314,7 +307,7 @@ esac
|
||||
|
||||
# Cleanup
|
||||
# ~~~~~~~
|
||||
unset archDir siteDir foundDir
|
||||
unset archDir siteDir foundDir archOption
|
||||
unset gcc_version gccDir
|
||||
unset gmp_version gmpDir mpfr_version mpfrDir mpc_version mpcDir
|
||||
unset clang_version clangDir
|
||||
|
14
etc/cshrc
14
etc/cshrc
@ -76,12 +76,6 @@ setenv WM_COMPILER_TYPE system
|
||||
# Clang | Clang3[7-9] | Clang[4-6]0 | Icc | Cray | Arm | Pgi
|
||||
setenv WM_COMPILER Gcc
|
||||
|
||||
# [WM_ARCH_OPTION] - Memory addressing:
|
||||
# = 32 | 64
|
||||
# * on a 64-bit OS this can be 32 or 64
|
||||
# * on a 32-bit OS, it is always 32-bit and this option is ignored
|
||||
setenv WM_ARCH_OPTION 64
|
||||
|
||||
# [WM_PRECISION_OPTION] - Floating-point precision:
|
||||
# = DP | SP | SPDP
|
||||
setenv WM_PRECISION_OPTION DP
|
||||
@ -105,7 +99,7 @@ setenv WM_MPLIB SYSTEMOPENMPI
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
# (advanced / legacy)
|
||||
#
|
||||
|
||||
# [FOAM_SIGFPE] - Trap floating-point exceptions.
|
||||
# - overrides the 'trapFpe' controlDict entry
|
||||
# = true | false
|
||||
@ -128,6 +122,12 @@ setenv WM_MPLIB SYSTEMOPENMPI
|
||||
# = POSIX
|
||||
#setenv WM_OSTYPE POSIX
|
||||
|
||||
# [WM_ARCH_OPTION] - compiling with -m32 option on 64-bit system
|
||||
# = 32 | 64
|
||||
# * on a 64-bit OS this can be 32 or 64
|
||||
# * on a 32-bit OS this option is ignored (always 32-bit)
|
||||
setenv WM_ARCH_OPTION 64
|
||||
|
||||
################################################################################
|
||||
|
||||
# Old directories to be cleaned from PATH, LD_LIBRARY_PATH
|
||||
|
@ -1281,7 +1281,7 @@ public:
|
||||
//- Deprecated(2018-10)
|
||||
// \deprecated(2018-10) - use keyType::option version
|
||||
entry*
|
||||
FOAM_DEPRECATED_FOR(2018-10, "lookupEntryPtr(keyType::option)")
|
||||
FOAM_DEPRECATED_FOR(2018-10, "findEntry(keyType::option)")
|
||||
lookupEntryPtr
|
||||
(
|
||||
const word& keyword,
|
||||
@ -1295,7 +1295,7 @@ public:
|
||||
//- Deprecated(2018-10)
|
||||
// \deprecated(2018-10) - use keyType::option version
|
||||
const entry*
|
||||
FOAM_DEPRECATED_FOR(2018-10, "lookupEntryPtr(keyType::option)")
|
||||
FOAM_DEPRECATED_FOR(2018-10, "findEntry(keyType::option)")
|
||||
lookupEntryPtr
|
||||
(
|
||||
const word& keyword,
|
||||
@ -1309,7 +1309,7 @@ public:
|
||||
//- Deprecated(2018-10)
|
||||
// \deprecated(2018-10) - use keyType::option version
|
||||
const entry*
|
||||
FOAM_DEPRECATED_FOR(2018-10, "lookupScopedEntryPtr(keyType::option)")
|
||||
FOAM_DEPRECATED_FOR(2018-10, "findScoped(keyType::option)")
|
||||
lookupScopedEntryPtr
|
||||
(
|
||||
const word& keyword,
|
||||
|
@ -83,13 +83,8 @@ Foam::token Foam::functionEntries::ifeqEntry::expand
|
||||
{
|
||||
const word varName(keyword.substr(1, keyword.size()-1));
|
||||
|
||||
// lookup the variable name in the given dictionary
|
||||
const entry* ePtr = dict.lookupScopedEntryPtr
|
||||
(
|
||||
varName,
|
||||
true,
|
||||
true
|
||||
);
|
||||
// Lookup the variable name in the given dictionary
|
||||
const entry* ePtr = dict.findScoped(varName, keyType::REGEX_RECURSIVE);
|
||||
if (ePtr)
|
||||
{
|
||||
return token(ePtr->stream());
|
||||
|
@ -27,6 +27,8 @@ License
|
||||
|
||||
#include "GAMGSolver.H"
|
||||
#include "GAMGInterface.H"
|
||||
#include "PCG.H"
|
||||
#include "PBiCGStab.H"
|
||||
|
||||
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
|
||||
|
||||
@ -249,11 +251,11 @@ Foam::GAMGSolver::GAMGSolver
|
||||
|
||||
if (matrixLevels_.size())
|
||||
{
|
||||
if (directSolveCoarsest_)
|
||||
{
|
||||
const label coarsestLevel = matrixLevels_.size() - 1;
|
||||
const label coarsestLevel = matrixLevels_.size() - 1;
|
||||
|
||||
if (matrixLevels_.set(coarsestLevel))
|
||||
if (matrixLevels_.set(coarsestLevel))
|
||||
{
|
||||
if (directSolveCoarsest_)
|
||||
{
|
||||
coarsestLUMatrixPtr_.reset
|
||||
(
|
||||
@ -265,6 +267,56 @@ Foam::GAMGSolver::GAMGSolver
|
||||
)
|
||||
);
|
||||
}
|
||||
else
|
||||
{
|
||||
entry* coarseEntry = controlDict_.findEntry
|
||||
(
|
||||
"coarsestLevelCorr",
|
||||
keyType::LITERAL_RECURSIVE
|
||||
);
|
||||
if (coarseEntry && coarseEntry->isDict())
|
||||
{
|
||||
coarsestSolverPtr_ = lduMatrix::solver::New
|
||||
(
|
||||
"coarsestLevelCorr",
|
||||
matrixLevels_[coarsestLevel],
|
||||
interfaceLevelsBouCoeffs_[coarsestLevel],
|
||||
interfaceLevelsIntCoeffs_[coarsestLevel],
|
||||
interfaceLevels_[coarsestLevel],
|
||||
coarseEntry->dict()
|
||||
);
|
||||
}
|
||||
else if (matrixLevels_[coarsestLevel].asymmetric())
|
||||
{
|
||||
coarsestSolverPtr_.set
|
||||
(
|
||||
new PBiCGStab
|
||||
(
|
||||
"coarsestLevelCorr",
|
||||
matrixLevels_[coarsestLevel],
|
||||
interfaceLevelsBouCoeffs_[coarsestLevel],
|
||||
interfaceLevelsIntCoeffs_[coarsestLevel],
|
||||
interfaceLevels_[coarsestLevel],
|
||||
PBiCGStabSolverDict(tolerance_, relTol_)
|
||||
)
|
||||
);
|
||||
}
|
||||
else
|
||||
{
|
||||
coarsestSolverPtr_.set
|
||||
(
|
||||
new PCG
|
||||
(
|
||||
"coarsestLevelCorr",
|
||||
matrixLevels_[coarsestLevel],
|
||||
interfaceLevelsBouCoeffs_[coarsestLevel],
|
||||
interfaceLevelsIntCoeffs_[coarsestLevel],
|
||||
interfaceLevels_[coarsestLevel],
|
||||
PCGsolverDict(tolerance_, relTol_)
|
||||
)
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
|
@ -135,6 +135,9 @@ class GAMGSolver
|
||||
//- LU decomposed coarsest matrix
|
||||
autoPtr<LUscalarMatrix> coarsestLUMatrixPtr_;
|
||||
|
||||
//- Sparse coarsest matrix solver
|
||||
autoPtr<lduMatrix::solver> coarsestSolverPtr_;
|
||||
|
||||
|
||||
// Private Member Functions
|
||||
|
||||
|
@ -26,8 +26,6 @@ License
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
#include "GAMGSolver.H"
|
||||
#include "PCG.H"
|
||||
#include "PBiCGStab.H"
|
||||
#include "SubField.H"
|
||||
#include "PrecisionAdaptor.H"
|
||||
|
||||
@ -695,42 +693,16 @@ void Foam::GAMGSolver::solveCoarsestLevel
|
||||
else
|
||||
{
|
||||
coarsestCorrField = 0;
|
||||
solverPerformance coarseSolverPerf;
|
||||
|
||||
if (matrixLevels_[coarsestLevel].asymmetric())
|
||||
{
|
||||
coarseSolverPerf = PBiCGStab
|
||||
(
|
||||
"coarsestLevelCorr",
|
||||
matrixLevels_[coarsestLevel],
|
||||
interfaceLevelsBouCoeffs_[coarsestLevel],
|
||||
interfaceLevelsIntCoeffs_[coarsestLevel],
|
||||
interfaceLevels_[coarsestLevel],
|
||||
PBiCGStabSolverDict(tolerance_, relTol_)
|
||||
).scalarSolve
|
||||
const solverPerformance coarseSolverPerf
|
||||
(
|
||||
coarsestSolverPtr_->solve
|
||||
(
|
||||
coarsestCorrField,
|
||||
coarsestSource
|
||||
);
|
||||
}
|
||||
else
|
||||
{
|
||||
coarseSolverPerf = PCG
|
||||
(
|
||||
"coarsestLevelCorr",
|
||||
matrixLevels_[coarsestLevel],
|
||||
interfaceLevelsBouCoeffs_[coarsestLevel],
|
||||
interfaceLevelsIntCoeffs_[coarsestLevel],
|
||||
interfaceLevels_[coarsestLevel],
|
||||
PCGsolverDict(tolerance_, relTol_)
|
||||
).scalarSolve
|
||||
(
|
||||
coarsestCorrField,
|
||||
coarsestSource
|
||||
);
|
||||
}
|
||||
)
|
||||
);
|
||||
|
||||
if (debug >= 2)
|
||||
if (debug)
|
||||
{
|
||||
coarseSolverPerf.print(Info.masterStream(coarseComm));
|
||||
}
|
||||
|
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2016-2017 OpenCFD Ltd.
|
||||
\\ / A nd | Copyright (C) 2016-2019 OpenCFD Ltd.
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
| Copyright (C) 2014-2016 OpenFOAM Foundation
|
||||
@ -46,6 +46,7 @@ SourceFiles
|
||||
#include "pTraits.H"
|
||||
#include "direction.H"
|
||||
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
namespace Foam
|
||||
@ -119,9 +120,11 @@ inline bool read(const std::string& str, int32_t& val)
|
||||
Istream& operator>>(Istream& is, int32_t& val);
|
||||
Ostream& operator<<(Ostream& os, const int32_t val);
|
||||
|
||||
// 32bit OS: long is not unambiguously (int32_t | int64_t)
|
||||
// 32bit compilation with long as int32_t
|
||||
// - resolve explicitly for input and output
|
||||
#if WM_ARCH_OPTION == 32
|
||||
//
|
||||
// Test works for gcc, icc, llvm.
|
||||
#if (__SIZEOF_LONG__ == 4)
|
||||
Istream& operator>>(Istream& is, long& val);
|
||||
Ostream& operator<<(Ostream& os, const long val);
|
||||
#endif
|
||||
|
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2016-2018 OpenCFD Ltd.
|
||||
\\ / A nd | Copyright (C) 2016-2019 OpenCFD Ltd.
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
| Copyright (C) 2014-2016 OpenFOAM Foundation
|
||||
@ -125,7 +125,7 @@ Foam::Ostream& Foam::operator<<(Ostream& os, const int32_t val)
|
||||
}
|
||||
|
||||
|
||||
#if WM_ARCH_OPTION == 32
|
||||
#if (__SIZEOF_LONG__ == 4)
|
||||
Foam::Istream& Foam::operator>>(Istream& is, long& val)
|
||||
{
|
||||
return operator>>(is, reinterpret_cast<int32_t&>(val));
|
||||
@ -133,8 +133,7 @@ Foam::Istream& Foam::operator>>(Istream& is, long& val)
|
||||
|
||||
Foam::Ostream& Foam::operator<<(Ostream& os, const long val)
|
||||
{
|
||||
os << int32_t(val);
|
||||
return os;
|
||||
return (os << int32_t(val));
|
||||
}
|
||||
#endif
|
||||
|
||||
|
@ -182,7 +182,7 @@ public:
|
||||
//- Vector part of the quaternion ( = axis of rotation)
|
||||
inline const vector& v() const;
|
||||
|
||||
//- The rotation tensor corresponding the quaternion
|
||||
//- The rotation tensor corresponding to the quaternion
|
||||
inline tensor R() const;
|
||||
|
||||
//- Return the Euler rotation angles corresponding to the
|
||||
|
@ -6,7 +6,7 @@
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
isoAdvector | Copyright (C) 2016-2017 DHI
|
||||
Modified work | Copyright (C) 2018 Johan Roenby
|
||||
Modified work | Copyright (C) 2019 Johan Roenby
|
||||
-------------------------------------------------------------------------------
|
||||
|
||||
License
|
||||
@ -852,6 +852,12 @@ void Foam::isoAdvection::advect()
|
||||
// Do the isoAdvection on surface cells
|
||||
timeIntegratedFlux();
|
||||
|
||||
// Adjust alpha for mesh motion
|
||||
if (mesh_.moving())
|
||||
{
|
||||
alpha1In_ *= (mesh_.Vsc0()/mesh_.Vsc());
|
||||
}
|
||||
|
||||
// Adjust dVf for unbounded cells
|
||||
limitFluxes();
|
||||
|
||||
|
@ -107,6 +107,7 @@ void Foam::functionObjects::forces::writeBinHeader
|
||||
writeHeader(os, header + " bins");
|
||||
writeHeaderValue(os, "bins", nBin_);
|
||||
writeHeaderValue(os, "start", binMin_);
|
||||
writeHeaderValue(os, "end", binMax_);
|
||||
writeHeaderValue(os, "delta", binDx_);
|
||||
writeHeaderValue(os, "direction", binDir_);
|
||||
|
||||
@ -249,14 +250,14 @@ void Foam::functionObjects::forces::initialiseBins()
|
||||
const polyBoundaryMesh& pbm = mesh_.boundaryMesh();
|
||||
|
||||
// Determine extents of patches
|
||||
binMin_ = GREAT;
|
||||
scalar binMax = -GREAT;
|
||||
scalar geomMin = GREAT;
|
||||
scalar geomMax = -GREAT;
|
||||
for (const label patchi : patchSet_)
|
||||
{
|
||||
const polyPatch& pp = pbm[patchi];
|
||||
scalarField d(pp.faceCentres() & binDir_);
|
||||
binMin_ = min(min(d), binMin_);
|
||||
binMax = max(max(d), binMax);
|
||||
geomMin = min(min(d), geomMin);
|
||||
geomMax = max(max(d), geomMax);
|
||||
}
|
||||
|
||||
// Include porosity
|
||||
@ -276,22 +277,31 @@ void Foam::functionObjects::forces::initialiseBins()
|
||||
{
|
||||
const cellZone& cZone = mesh_.cellZones()[zonei];
|
||||
const scalarField d(dd, cZone);
|
||||
binMin_ = min(min(d), binMin_);
|
||||
binMax = max(max(d), binMax);
|
||||
geomMin = min(min(d), geomMin);
|
||||
geomMax = max(max(d), geomMax);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
reduce(binMin_, minOp<scalar>());
|
||||
reduce(binMax, maxOp<scalar>());
|
||||
reduce(geomMin, minOp<scalar>());
|
||||
reduce(geomMax, maxOp<scalar>());
|
||||
|
||||
// Slightly boost binMax so that region of interest is fully
|
||||
// within bounds
|
||||
binMax = 1.0001*(binMax - binMin_) + binMin_;
|
||||
// Slightly boost max so that region of interest is fully within bounds
|
||||
geomMax = 1.0001*(geomMax - geomMin) + geomMin;
|
||||
|
||||
binDx_ = (binMax - binMin_)/scalar(nBin_);
|
||||
// Use geometry limits if not specified by the user
|
||||
if (binMin_ == GREAT)
|
||||
{
|
||||
binMin_ = geomMin;
|
||||
}
|
||||
if (binMax_ == GREAT)
|
||||
{
|
||||
binMax_ = geomMax;
|
||||
}
|
||||
|
||||
// Create the bin points used for writing
|
||||
binDx_ = (binMax_ - binMin_)/scalar(nBin_);
|
||||
|
||||
// Create the bin mid-points used for writing
|
||||
binPoints_.setSize(nBin_);
|
||||
forAll(binPoints_, i)
|
||||
{
|
||||
@ -712,19 +722,20 @@ Foam::functionObjects::forces::forces
|
||||
forceBinFilePtr_(),
|
||||
momentBinFilePtr_(),
|
||||
patchSet_(),
|
||||
pName_(word::null),
|
||||
UName_(word::null),
|
||||
rhoName_(word::null),
|
||||
pName_("p"),
|
||||
UName_("U"),
|
||||
rhoName_("rho"),
|
||||
directForceDensity_(false),
|
||||
fDName_(""),
|
||||
fDName_("fD"),
|
||||
rhoRef_(VGREAT),
|
||||
pRef_(0),
|
||||
coordSys_(),
|
||||
porosity_(false),
|
||||
nBin_(1),
|
||||
binDir_(Zero),
|
||||
binDx_(0.0),
|
||||
binDx_(0),
|
||||
binMin_(GREAT),
|
||||
binMax_(GREAT),
|
||||
binPoints_(),
|
||||
binCumulative_(true),
|
||||
writeFields_(false),
|
||||
@ -756,19 +767,20 @@ Foam::functionObjects::forces::forces
|
||||
forceBinFilePtr_(),
|
||||
momentBinFilePtr_(),
|
||||
patchSet_(),
|
||||
pName_(word::null),
|
||||
UName_(word::null),
|
||||
rhoName_(word::null),
|
||||
pName_("p"),
|
||||
UName_("U"),
|
||||
rhoName_("rho"),
|
||||
directForceDensity_(false),
|
||||
fDName_(""),
|
||||
fDName_("fD"),
|
||||
rhoRef_(VGREAT),
|
||||
pRef_(0),
|
||||
coordSys_(),
|
||||
porosity_(false),
|
||||
nBin_(1),
|
||||
binDir_(Zero),
|
||||
binDx_(0.0),
|
||||
binDx_(0),
|
||||
binMin_(GREAT),
|
||||
binMax_(GREAT),
|
||||
binPoints_(),
|
||||
binCumulative_(true),
|
||||
writeFields_(false),
|
||||
@ -814,14 +826,26 @@ bool Foam::functionObjects::forces::read(const dictionary& dict)
|
||||
if (directForceDensity_)
|
||||
{
|
||||
// Optional entry for fDName
|
||||
fDName_ = dict.lookupOrDefault<word>("fD", "fD");
|
||||
if (dict.readIfPresent<word>("fD", fDName_))
|
||||
{
|
||||
Info<< " fD: " << fDName_ << endl;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
// Optional entries U and p
|
||||
pName_ = dict.lookupOrDefault<word>("p", "p");
|
||||
UName_ = dict.lookupOrDefault<word>("U", "U");
|
||||
rhoName_ = dict.lookupOrDefault<word>("rho", "rho");
|
||||
// Optional field name entries
|
||||
if (dict.readIfPresent<word>("p", pName_))
|
||||
{
|
||||
Info<< " p: " << pName_ << endl;
|
||||
}
|
||||
if (dict.readIfPresent<word>("U", UName_))
|
||||
{
|
||||
Info<< " U: " << UName_ << endl;
|
||||
}
|
||||
if (dict.readIfPresent<word>("rho", rhoName_))
|
||||
{
|
||||
Info<< " rho: " << rhoName_ << endl;
|
||||
}
|
||||
|
||||
// Reference density needed for incompressible calculations
|
||||
if (rhoName_ == "rhoInf")
|
||||
@ -831,11 +855,12 @@ bool Foam::functionObjects::forces::read(const dictionary& dict)
|
||||
}
|
||||
|
||||
// Reference pressure, 0 by default
|
||||
pRef_ = dict.lookupOrDefault<scalar>("pRef", 0);
|
||||
Info<< " Reference pressure (pRef) set to " << pRef_ << endl;
|
||||
if (dict.readIfPresent<scalar>("pRef", pRef_))
|
||||
{
|
||||
Info<< " Reference pressure (pRef) set to " << pRef_ << endl;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
dict.readIfPresent("porosity", porosity_);
|
||||
if (porosity_)
|
||||
{
|
||||
@ -848,8 +873,9 @@ bool Foam::functionObjects::forces::read(const dictionary& dict)
|
||||
|
||||
if (dict.found("binData"))
|
||||
{
|
||||
Info<< " Activated data bins" << endl;
|
||||
const dictionary& binDict(dict.subDict("binData"));
|
||||
binDict.readEntry("nBin", nBin_);
|
||||
nBin_ = binDict.get<label>("nBin");
|
||||
|
||||
if (nBin_ < 0)
|
||||
{
|
||||
@ -865,9 +891,21 @@ bool Foam::functionObjects::forces::read(const dictionary& dict)
|
||||
else
|
||||
{
|
||||
Info<< " Employing " << nBin_ << " bins" << endl;
|
||||
binDict.readEntry("cumulative", binCumulative_);
|
||||
binDict.readEntry("direction", binDir_);
|
||||
if (binDict.readIfPresent("min", binMin_))
|
||||
{
|
||||
Info<< " - min : " << binMin_ << endl;
|
||||
}
|
||||
if (binDict.readIfPresent("max", binMax_))
|
||||
{
|
||||
Info<< " - max : " << binMax_ << endl;
|
||||
}
|
||||
|
||||
binCumulative_ = binDict.get<bool>("cumulative");
|
||||
Info<< " - cumuluative : " << binCumulative_ << endl;
|
||||
|
||||
binDir_ = binDict.get<vector>("direction");
|
||||
binDir_.normalise();
|
||||
Info<< " - direction : " << binDir_ << endl;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -34,21 +34,17 @@ Description
|
||||
skin-friction forces over a given list of patches, and the resistance
|
||||
from porous zones.
|
||||
|
||||
Forces and moments are calculated, with optional coordinate system and
|
||||
writing of binned data, where force and moment contributions are collected
|
||||
into a user-defined number of bins that span the input geometries for a
|
||||
user-defined direction vector.
|
||||
Forces and moments are calculated in a global Cartesian coordinate system
|
||||
by default, or using a user-defined system. Contributions can be 'binned'
|
||||
according to a user-defined number of uniform-width collection zones (bins)
|
||||
that span the input geometries, oriented by a user-defined direction vector.
|
||||
|
||||
Data is written into multiple files in the
|
||||
Results are written to multiple files as a function of time in the
|
||||
postProcessing/\<functionObjectName\> directory:
|
||||
- force.dat : forces in global Cartesian coordinate system
|
||||
- moment.dat : moments in global Cartesian coordinate system
|
||||
- forceBin.dat : force bins in global Cartesian coordinate system
|
||||
- momentBin.dat : moment bins in global Cartesian coordinate system
|
||||
- localForce.dat : forces in local Cartesian coordinate system
|
||||
- localMoment.dat : moments in local Cartesian coordinate system
|
||||
- localForceBin.dat : force bins in local Cartesian coordinate system
|
||||
- localMomentBin.dat : moment bins in local Cartesian coordinate system
|
||||
- force.dat : forces
|
||||
- moment.dat : moments
|
||||
- forceBin.dat : force bins
|
||||
- momentBin.dat : moment bins
|
||||
|
||||
Usage
|
||||
Example of function object specification:
|
||||
@ -240,6 +236,9 @@ protected:
|
||||
//- Minimum bin bounds
|
||||
scalar binMin_;
|
||||
|
||||
//- Maximum bin bounds
|
||||
scalar binMax_;
|
||||
|
||||
//- Bin positions along binDir
|
||||
List<point> binPoints_;
|
||||
|
||||
|
@ -53,7 +53,7 @@ void Foam::functionObjects::runTimePostPro::scalarBar::clear()
|
||||
bold_ = true;
|
||||
shadow_ = false;
|
||||
italic_ = false;
|
||||
titleHack_ = true;
|
||||
titleHack_ = false;
|
||||
position_ = {0.8, 0.1};
|
||||
size_ = {0.1, 0.5};
|
||||
title_ = "";
|
||||
|
@ -42,7 +42,7 @@ Description
|
||||
bold | Title in bold | no | yes
|
||||
italic | Title in italic font | no | no
|
||||
shadow | Title with shadowont | no | no
|
||||
titleHack | Alternative placement strategy | no | yes
|
||||
titleHack | Alternative placement strategy | no | no
|
||||
\endtable
|
||||
|
||||
Note
|
||||
|
@ -57,6 +57,10 @@ Foam::dimensionedScalar
|
||||
Foam::functionObjects::hydrostaticPressure::pRef() const
|
||||
{
|
||||
if (pRefName_ == "none")
|
||||
{
|
||||
return dimensionedScalar(dimPressure, Zero);
|
||||
}
|
||||
else if (pRefName_ == "pInf")
|
||||
{
|
||||
return dimensionedScalar("pRef", dimPressure, pRefValue_);
|
||||
}
|
||||
@ -217,10 +221,12 @@ bool Foam::functionObjects::hydrostaticPressure::read(const dictionary& dict)
|
||||
dict.readIfPresent("ghf", ghfName_);
|
||||
dict.readIfPresent("nCorrectors", nCorrectors_);
|
||||
|
||||
if (pRefName_ == "none")
|
||||
pRefValue_ = 0;
|
||||
if (pRefName_ == "pInf")
|
||||
{
|
||||
pRefValue_ = dict.get<scalar>("pRefValue");
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2018 OpenCFD Ltd.
|
||||
\\ / A nd | Copyright (C) 2018-2019 OpenCFD Ltd.
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -48,6 +48,7 @@ Usage
|
||||
p_rgh | Name of p_rgh field | no | p_rgh
|
||||
ph_rgh | Name of ph_rgh field | no | ph_rgh
|
||||
pRef | Name of pressure ref field | no | pRef
|
||||
pRefValue | Value of pressure ref when pRef set to pInf | no | 0
|
||||
rho | Name of density field | no | rho
|
||||
U | Name of velocity field | no | U
|
||||
gh | Name of gravity*height volume field | no | gh
|
||||
@ -97,10 +98,10 @@ protected:
|
||||
word ph_rghName_;
|
||||
|
||||
//- Name of uniform pressure reference field, default is "pRef"
|
||||
// Set to "none" to set to zero
|
||||
// Set to "none" to set to zero or pInf to set according to pRefValue
|
||||
word pRefName_;
|
||||
|
||||
//- Reference pressure if pRef is set to "none"
|
||||
//- Reference pressure if pRefName is set to "pInf"
|
||||
scalar pRefValue_;
|
||||
|
||||
//- Name of density field, default is "rho"
|
||||
|
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2016-2018 OpenCFD Ltd.
|
||||
\\ / A nd | Copyright (C) 2016-2019 OpenCFD Ltd.
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -25,10 +25,8 @@ License
|
||||
|
||||
#include "lumpedPointState.H"
|
||||
#include "demandDrivenData.H"
|
||||
#include "EulerCoordinateRotation.H"
|
||||
#include "unitConversion.H"
|
||||
|
||||
#include "ISstream.H"
|
||||
#include "EulerCoordinateRotation.H"
|
||||
#include "IFstream.H"
|
||||
|
||||
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
|
||||
@ -70,13 +68,15 @@ static Foam::string getLineNoComment
|
||||
void Foam::lumpedPointState::calcRotations() const
|
||||
{
|
||||
rotationPtr_ = new tensorField(angles_.size());
|
||||
forAll(angles_, itemi)
|
||||
|
||||
auto rotIter = rotationPtr_->begin();
|
||||
|
||||
for (const vector& angles : angles_)
|
||||
{
|
||||
rotationPtr_->operator[](itemi) = EulerCoordinateRotation
|
||||
(
|
||||
angles_[itemi],
|
||||
degrees_ // true=degrees, false=radians
|
||||
).R();
|
||||
*rotIter =
|
||||
coordinateRotations::euler::rotation(order_, angles, degrees_);
|
||||
|
||||
++rotIter;
|
||||
}
|
||||
}
|
||||
|
||||
@ -85,7 +85,15 @@ void Foam::lumpedPointState::readDict(const dictionary& dict)
|
||||
{
|
||||
dict.readEntry("points", points_);
|
||||
dict.readEntry("angles", angles_);
|
||||
order_ =
|
||||
quaternion::eulerOrderNames.getOrDefault
|
||||
(
|
||||
"order",
|
||||
dict,
|
||||
quaternion::eulerOrder::ZXZ
|
||||
);
|
||||
degrees_ = dict.lookupOrDefault("degrees", false);
|
||||
|
||||
deleteDemandDrivenData(rotationPtr_);
|
||||
}
|
||||
|
||||
@ -96,6 +104,7 @@ Foam::lumpedPointState::lumpedPointState()
|
||||
:
|
||||
points_(),
|
||||
angles_(),
|
||||
order_(quaternion::eulerOrder::ZXZ),
|
||||
degrees_(false),
|
||||
rotationPtr_(nullptr)
|
||||
{}
|
||||
@ -105,6 +114,7 @@ Foam::lumpedPointState::lumpedPointState(const lumpedPointState& rhs)
|
||||
:
|
||||
points_(rhs.points_),
|
||||
angles_(rhs.angles_),
|
||||
order_(rhs.order_),
|
||||
degrees_(rhs.degrees_),
|
||||
rotationPtr_(nullptr)
|
||||
{}
|
||||
@ -114,6 +124,7 @@ Foam::lumpedPointState::lumpedPointState(const pointField& pts)
|
||||
:
|
||||
points_(pts),
|
||||
angles_(points_.size(), Zero),
|
||||
order_(quaternion::eulerOrder::ZXZ),
|
||||
degrees_(false),
|
||||
rotationPtr_(nullptr)
|
||||
{}
|
||||
@ -123,6 +134,7 @@ Foam::lumpedPointState::lumpedPointState(tmp<pointField>& pts)
|
||||
:
|
||||
points_(pts),
|
||||
angles_(points_.size(), Zero),
|
||||
order_(quaternion::eulerOrder::ZXZ),
|
||||
degrees_(false),
|
||||
rotationPtr_(nullptr)
|
||||
{}
|
||||
@ -132,6 +144,7 @@ Foam::lumpedPointState::lumpedPointState(const dictionary& dict)
|
||||
:
|
||||
points_(),
|
||||
angles_(),
|
||||
order_(quaternion::eulerOrder::ZXZ),
|
||||
degrees_(false),
|
||||
rotationPtr_(nullptr)
|
||||
{
|
||||
@ -153,6 +166,7 @@ void Foam::lumpedPointState::operator=(const lumpedPointState& rhs)
|
||||
{
|
||||
points_ = rhs.points_;
|
||||
angles_ = rhs.angles_;
|
||||
order_ = rhs.order_;
|
||||
degrees_ = rhs.degrees_;
|
||||
|
||||
deleteDemandDrivenData(rotationPtr_);
|
||||
@ -228,6 +242,7 @@ bool Foam::lumpedPointState::readPlain(Istream& is)
|
||||
|
||||
points_.setSize(count);
|
||||
angles_.setSize(count);
|
||||
order_ = quaternion::eulerOrder::ZXZ;
|
||||
degrees_ = false;
|
||||
|
||||
deleteDemandDrivenData(rotationPtr_);
|
||||
@ -256,9 +271,13 @@ void Foam::lumpedPointState::writeDict(Ostream& os) const
|
||||
{
|
||||
os.writeEntry("points", points_);
|
||||
os.writeEntry("angles", angles_);
|
||||
if (order_ != quaternion::eulerOrder::ZXZ)
|
||||
{
|
||||
os.writeEntry("order", quaternion::eulerOrderNames[order_]);
|
||||
}
|
||||
if (degrees_)
|
||||
{
|
||||
os.writeEntry("degrees", word("true"));
|
||||
os.writeEntry("degrees", "true");
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2016-2018 OpenCFD Ltd.
|
||||
\\ / A nd | Copyright (C) 2016-2019 OpenCFD Ltd.
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -35,6 +35,7 @@ Description
|
||||
Property | Description | Required | Default
|
||||
points | List of points | yes |
|
||||
angles | List of Euler rotation angles | yes |
|
||||
order | The Euler-angle rotation order | no | zxz
|
||||
degrees | Rotation angles in degrees | no | false
|
||||
\endtable
|
||||
|
||||
@ -49,10 +50,11 @@ Description
|
||||
\endverbatim
|
||||
|
||||
SeeAlso
|
||||
EulerCoordinateRotation
|
||||
Foam::coordinateRotations::euler, Foam::quaternion
|
||||
|
||||
SourceFiles
|
||||
lumpedPointState.C
|
||||
lumpedPointStateI.H
|
||||
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
@ -65,6 +67,7 @@ SourceFiles
|
||||
#include "scalarField.H"
|
||||
#include "vectorField.H"
|
||||
#include "tensorField.H"
|
||||
#include "quaternion.H"
|
||||
#include "Enum.H"
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
@ -98,7 +101,7 @@ public:
|
||||
|
||||
private:
|
||||
|
||||
// Private data
|
||||
// Private Data
|
||||
|
||||
//- Positions of lumped points
|
||||
pointField points_;
|
||||
@ -106,7 +109,10 @@ private:
|
||||
//- Orientation of lumped points (as Euler angles)
|
||||
vectorField angles_;
|
||||
|
||||
//- Euler angles in degrees instead radians
|
||||
//- The Euler-angle rotation order (default: zxz)
|
||||
quaternion::eulerOrder order_;
|
||||
|
||||
//- Euler angles measured in degrees
|
||||
bool degrees_;
|
||||
|
||||
//- Tensor rotation of lumped points
|
||||
|
@ -51,7 +51,7 @@ namespace Foam
|
||||
|
||||
// * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * //
|
||||
|
||||
Foam::labelList Foam::randomDecomp::decompose(const label nCells) const
|
||||
Foam::labelList Foam::randomDecomp::randomMap(const label nCells) const
|
||||
{
|
||||
Random rndGen(0);
|
||||
|
||||
@ -93,7 +93,7 @@ Foam::labelList Foam::randomDecomp::decompose
|
||||
const scalarField&
|
||||
) const
|
||||
{
|
||||
return decompose(mesh.nCells()); // or cc.size()
|
||||
return randomMap(mesh.nCells()); // or cc.size()
|
||||
}
|
||||
|
||||
|
||||
@ -104,7 +104,7 @@ Foam::labelList Foam::randomDecomp::decompose
|
||||
const scalarField&
|
||||
) const
|
||||
{
|
||||
return decompose(globalCellCells.size()); // or cc.size()
|
||||
return randomMap(globalCellCells.size()); // or cc.size()
|
||||
}
|
||||
|
||||
|
||||
|
@ -51,7 +51,7 @@ class randomDecomp
|
||||
// Private Member Functions
|
||||
|
||||
//- Random distribution on the 0-nCells interval
|
||||
labelList decompose(const label nCells) const;
|
||||
labelList randomMap(const label nCells) const;
|
||||
|
||||
//- No copy construct
|
||||
void operator=(const randomDecomp&) = delete;
|
||||
|
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2016-2018 OpenCFD Ltd.
|
||||
\\ / A nd | Copyright (C) 2016-2019 OpenCFD Ltd.
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
| Copyright (C) 2011-2016 OpenFOAM Foundation
|
||||
@ -36,15 +36,16 @@ License
|
||||
|
||||
#include "metis.h"
|
||||
|
||||
// Provide a clear error message if we have a size mismatch
|
||||
// Provide a clear error message if we have a severe size mismatch
|
||||
// Allow widening, but not narrowing
|
||||
//
|
||||
// Metis has an 'idx_t' type, but the IDXTYPEWIDTH define is perhaps
|
||||
// more future-proof?
|
||||
//#ifdef IDXTYPEWIDTH
|
||||
//static_assert
|
||||
//(
|
||||
// sizeof(Foam::label) == (IDXTYPEWIDTH/8),
|
||||
// "sizeof(Foam::label) == (IDXTYPEWIDTH/8), check your metis headers"
|
||||
// sizeof(Foam::label) > (IDXTYPEWIDTH/8),
|
||||
// "sizeof(Foam::label) > (IDXTYPEWIDTH/8), check your metis headers"
|
||||
//);
|
||||
//#endif
|
||||
|
||||
@ -91,7 +92,7 @@ Foam::label Foam::metisDecomp::decomposeSerial
|
||||
|
||||
// Decomposition options
|
||||
List<idx_t> options(METIS_NOPTIONS);
|
||||
METIS_SetDefaultOptions(options.begin());
|
||||
METIS_SetDefaultOptions(options.data());
|
||||
|
||||
// Processor weights initialised with no size, only used if specified in
|
||||
// a file
|
||||
@ -128,7 +129,7 @@ Foam::label Foam::metisDecomp::decomposeSerial
|
||||
cellWeights.setSize(cWeights.size());
|
||||
forAll(cellWeights, i)
|
||||
{
|
||||
cellWeights[i] = int(cWeights[i]/minWeights);
|
||||
cellWeights[i] = idx_t(cWeights[i]/minWeights);
|
||||
}
|
||||
}
|
||||
|
||||
@ -205,17 +206,17 @@ Foam::label Foam::metisDecomp::decomposeSerial
|
||||
(
|
||||
&numCells, // num vertices in graph
|
||||
&ncon, // num balancing constraints
|
||||
xadj_metis.ref().begin(), // indexing into adjncy
|
||||
adjncy_metis.ref().begin(), // neighbour info
|
||||
cellWeights.begin(), // vertex wts
|
||||
xadj_metis.ref().data(), // indexing into adjncy
|
||||
adjncy_metis.ref().data(), // neighbour info
|
||||
cellWeights.data(), // vertex wts
|
||||
nullptr, // vsize: total communication vol
|
||||
faceWeights.begin(), // edge wts
|
||||
faceWeights.data(), // edge wts
|
||||
&nProcs, // nParts
|
||||
processorWeights.begin(), // tpwgts
|
||||
processorWeights.data(), // tpwgts
|
||||
nullptr, // ubvec: processor imbalance (default)
|
||||
options.begin(),
|
||||
options.data(),
|
||||
&edgeCut,
|
||||
decomp_metis.ref().begin()
|
||||
decomp_metis.ref().data()
|
||||
);
|
||||
}
|
||||
else
|
||||
@ -224,17 +225,17 @@ Foam::label Foam::metisDecomp::decomposeSerial
|
||||
(
|
||||
&numCells, // num vertices in graph
|
||||
&ncon, // num balancing constraints
|
||||
xadj_metis.ref().begin(), // indexing into adjncy
|
||||
adjncy_metis.ref().begin(), // neighbour info
|
||||
cellWeights.begin(), // vertex wts
|
||||
xadj_metis.ref().data(), // indexing into adjncy
|
||||
adjncy_metis.ref().data(), // neighbour info
|
||||
cellWeights.data(), // vertex wts
|
||||
nullptr, // vsize: total communication vol
|
||||
faceWeights.begin(), // edge wts
|
||||
faceWeights.data(), // edge wts
|
||||
&nProcs, // nParts
|
||||
processorWeights.begin(), // tpwgts
|
||||
processorWeights.data(), // tpwgts
|
||||
nullptr, // ubvec: processor imbalance (default)
|
||||
options.begin(),
|
||||
options.data(),
|
||||
&edgeCut,
|
||||
decomp_metis.ref().begin()
|
||||
decomp_metis.ref().data()
|
||||
);
|
||||
}
|
||||
|
||||
|
@ -1,13 +1,23 @@
|
||||
#!/bin/sh
|
||||
cd ${0%/*} || exit 1 # Run from this directory
|
||||
|
||||
# Parse arguments for library compilation
|
||||
cd ${0%/*} || exit 1 # Run from this directory
|
||||
. $WM_PROJECT_DIR/wmake/scripts/AllwmakeParseArguments
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
|
||||
wmakeLnInclude reactingEulerFoam/interfacialCompositionModels
|
||||
wmakeLnInclude reactingEulerFoam/interfacialModels
|
||||
wmakeLnInclude reactingEulerFoam/derivedFvPatchFields
|
||||
|
||||
case "$WM_COMPILER" in
|
||||
Mingw*)
|
||||
echo "Skipping $WM_COMPILER compilation of $PWD"
|
||||
echo "... needs further resolution of cyclic dependencies"
|
||||
exit 0
|
||||
;;
|
||||
esac
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
|
||||
wmake $targetType reactingEulerFoam/phaseSystems
|
||||
wmake $targetType reactingEulerFoam/interfacialModels
|
||||
wmake $targetType reactingEulerFoam/interfacialCompositionModels
|
||||
@ -19,5 +29,4 @@ wmake $targetType reactingEulerFoam/reactingMultiphaseEulerFoam/multiphaseCompr
|
||||
wmake $targetType reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseSystem
|
||||
wmake $targetType reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels
|
||||
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
|
@ -1,9 +1,9 @@
|
||||
EXE_INC = \
|
||||
-I$(LIB_SRC)/finiteVolume/lnInclude \
|
||||
-I$(LIB_SRC)/meshTools/lnInclude \
|
||||
-I../phaseSystems/lnInclude \
|
||||
-I../interfacialModels/lnInclude\
|
||||
-I../interfacialCompositionModels/lnInclude \
|
||||
-I$(LIB_SRC)/finiteVolume/lnInclude \
|
||||
-I$(LIB_SRC)/meshTools/lnInclude \
|
||||
-I$(LIB_SRC)/transportModels/compressible/lnInclude \
|
||||
-I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \
|
||||
-I$(LIB_SRC)/transportModels/incompressible/transportModel \
|
||||
@ -17,4 +17,6 @@ LIB_LIBS = \
|
||||
-lmeshTools \
|
||||
-lreactingPhaseSystem \
|
||||
-lreactingEulerianInterfacialModels \
|
||||
-lreactingEulerianInterfacialCompositionModels
|
||||
-lreactingEulerianInterfacialCompositionModels \
|
||||
-lturbulenceModels \
|
||||
-lcompressibleTurbulenceModels
|
||||
|
@ -16,6 +16,7 @@ EXE_INC = \
|
||||
|
||||
LIB_LIBS = \
|
||||
-lfiniteVolume \
|
||||
-lmeshTools \
|
||||
-lfluidThermophysicalModels \
|
||||
-lreactionThermophysicalModels \
|
||||
-lspecie
|
||||
|
@ -11,7 +11,10 @@ EXE_INC = \
|
||||
|
||||
LIB_LIBS = \
|
||||
-lfiniteVolume \
|
||||
-lmeshTools \
|
||||
-lfluidThermophysicalModels \
|
||||
-lcompressibleTransportModels \
|
||||
-lspecie \
|
||||
-lreactingPhaseSystem
|
||||
-lreactingPhaseSystem \
|
||||
-lturbulenceModels \
|
||||
-lcompressibleTurbulenceModels
|
||||
|
@ -1,10 +1,10 @@
|
||||
EXE_INC = \
|
||||
-I$(LIB_SRC)/finiteVolume/lnInclude \
|
||||
-I$(LIB_SRC)/meshTools/lnInclude \
|
||||
-I$(LIB_SRC)/sampling/lnInclude \
|
||||
-I../interfacialModels/lnInclude \
|
||||
-I../interfacialCompositionModels/lnInclude \
|
||||
-I../derivedFvPatchFields/lnInclude \
|
||||
-I$(LIB_SRC)/finiteVolume/lnInclude \
|
||||
-I$(LIB_SRC)/meshTools/lnInclude \
|
||||
-I$(LIB_SRC)/sampling/lnInclude \
|
||||
-I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \
|
||||
-I$(LIB_SRC)/thermophysicalModels/specie/lnInclude \
|
||||
-I$(LIB_SRC)/thermophysicalModels/reactionThermo/lnInclude \
|
||||
@ -16,6 +16,8 @@ EXE_INC = \
|
||||
|
||||
LIB_LIBS = \
|
||||
-lfiniteVolume \
|
||||
-lmeshTools \
|
||||
-lsampling \
|
||||
-lfluidThermophysicalModels \
|
||||
-lspecie \
|
||||
-lreactionThermophysicalModels \
|
||||
|
@ -4,6 +4,8 @@ EXE_INC = \
|
||||
-I../../interfacialModels/lnInclude\
|
||||
-I../../interfacialCompositionModels/lnInclude \
|
||||
-I../../derivedFvPatchFields/lnInclude \
|
||||
-I$(LIB_SRC)/finiteVolume/lnInclude \
|
||||
-I$(LIB_SRC)/meshTools/lnInclude \
|
||||
-I$(LIB_SRC)/transportModels/compressible/lnInclude \
|
||||
-I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \
|
||||
-I$(LIB_SRC)/thermophysicalModels/specie/lnInclude \
|
||||
@ -11,16 +13,16 @@ EXE_INC = \
|
||||
-I$(LIB_SRC)/transportModels/incompressible/transportModel \
|
||||
-I$(LIB_SRC)/TurbulenceModels/compressible/lnInclude \
|
||||
-I$(LIB_SRC)/TurbulenceModels/turbulenceModels/lnInclude \
|
||||
-I$(LIB_SRC)/TurbulenceModels/phaseCompressible/lnInclude \
|
||||
-I$(LIB_SRC)/finiteVolume/lnInclude \
|
||||
-I$(LIB_SRC)/meshTools/lnInclude
|
||||
-I$(LIB_SRC)/TurbulenceModels/phaseCompressible/lnInclude
|
||||
|
||||
LIB_LIBS = \
|
||||
-lfiniteVolume \
|
||||
-lfvOptions \
|
||||
-lmeshTools \
|
||||
-lreactingPhaseSystem \
|
||||
-lreactingMultiphaseSystem \
|
||||
-lreactingEulerianInterfacialModels \
|
||||
-lreactingEulerianInterfacialCompositionModels \
|
||||
-lreactingEulerianFvPatchFields \
|
||||
-lfiniteVolume \
|
||||
-lfvOptions \
|
||||
-lmeshTools
|
||||
-lturbulenceModels \
|
||||
-lcompressibleTurbulenceModels
|
||||
|
@ -5,6 +5,9 @@ EXE_INC = \
|
||||
-I../multiphaseCompressibleTurbulenceModels/lnInclude \
|
||||
-I../../derivedFvPatchFields/lnInclude \
|
||||
-IalphaContactAngle \
|
||||
-I$(LIB_SRC)/finiteVolume/lnInclude \
|
||||
-I$(LIB_SRC)/meshTools/lnInclude \
|
||||
-I$(LIB_SRC)/sampling/lnInclude \
|
||||
-I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \
|
||||
-I$(LIB_SRC)/thermophysicalModels/specie/lnInclude \
|
||||
-I$(LIB_SRC)/thermophysicalModels/reactionThermo/lnInclude \
|
||||
@ -12,11 +15,12 @@ EXE_INC = \
|
||||
-I$(LIB_SRC)/TurbulenceModels/turbulenceModels/lnInclude \
|
||||
-I$(LIB_SRC)/TurbulenceModels/compressible/lnInclude \
|
||||
-I$(LIB_SRC)/TurbulenceModels/phaseCompressible/lnInclude \
|
||||
-I$(LIB_SRC)/combustionModels/lnInclude \
|
||||
-I$(LIB_SRC)/finiteVolume/lnInclude \
|
||||
-I$(LIB_SRC)/meshTools/lnInclude \
|
||||
-I$(LIB_SRC)/sampling/lnInclude
|
||||
-I$(LIB_SRC)/combustionModels/lnInclude
|
||||
|
||||
LIB_LIBS = \
|
||||
-lfiniteVolume \
|
||||
-lfvOptions \
|
||||
-lmeshTools \
|
||||
-lsampling \
|
||||
-lcombustionModels \
|
||||
-lreactingPhaseSystem
|
||||
|
@ -1,11 +1,11 @@
|
||||
EXE_INC = \
|
||||
-I$(LIB_SRC)/finiteVolume/lnInclude \
|
||||
-I$(LIB_SRC)/meshTools/lnInclude \
|
||||
-I../twoPhaseSystem/lnInclude \
|
||||
-I../../phaseSystems/lnInclude \
|
||||
-I../../interfacialModels/lnInclude\
|
||||
-I../../interfacialCompositionModels/lnInclude \
|
||||
-I../../derivedFvPatchFields/lnInclude \
|
||||
-I$(LIB_SRC)/finiteVolume/lnInclude \
|
||||
-I$(LIB_SRC)/meshTools/lnInclude \
|
||||
-I$(LIB_SRC)/transportModels/compressible/lnInclude \
|
||||
-I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \
|
||||
-I$(LIB_SRC)/transportModels/incompressible/transportModel \
|
||||
|
@ -4,6 +4,9 @@ EXE_INC = \
|
||||
-I../../phaseSystems/lnInclude \
|
||||
-I../twoPhaseCompressibleTurbulenceModels/lnInclude \
|
||||
-I../../derivedFvPatchFields/lnInclude \
|
||||
-I$(LIB_SRC)/finiteVolume/lnInclude \
|
||||
-I$(LIB_SRC)/meshTools/lnInclude \
|
||||
-I$(LIB_SRC)/sampling/lnInclude \
|
||||
-I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \
|
||||
-I$(LIB_SRC)/thermophysicalModels/specie/lnInclude \
|
||||
-I$(LIB_SRC)/thermophysicalModels/reactionThermo/lnInclude \
|
||||
@ -12,10 +15,12 @@ EXE_INC = \
|
||||
-I$(LIB_SRC)/TurbulenceModels/compressible/lnInclude \
|
||||
-I$(LIB_SRC)/TurbulenceModels/phaseCompressible/lnInclude \
|
||||
-I$(LIB_SRC)/combustionModels/lnInclude \
|
||||
-I$(LIB_SRC)/finiteVolume/lnInclude \
|
||||
-I$(LIB_SRC)/meshTools/lnInclude \
|
||||
-I$(LIB_SRC)/sampling/lnInclude
|
||||
|
||||
LIB_LIBS = \
|
||||
-lfiniteVolume \
|
||||
-lmeshTools \
|
||||
-lsampling \
|
||||
-lcombustionModels \
|
||||
-lreactingPhaseSystem
|
||||
-lreactingPhaseSystem \
|
||||
-lturbulenceModels \
|
||||
-lcompressibleTurbulenceModels
|
||||
|
@ -105,6 +105,7 @@ Foam::waveMakerPointPatchVectorField::waveMakerPointPatchVectorField
|
||||
waveHeight_(0),
|
||||
wavePhase_(0),
|
||||
waveLength_(0),
|
||||
startTime_(0),
|
||||
rampTime_(1),
|
||||
secondOrder_(false)
|
||||
{}
|
||||
@ -126,6 +127,14 @@ Foam::waveMakerPointPatchVectorField::waveMakerPointPatchVectorField
|
||||
waveHeight_(dict.get<scalar>("waveHeight")),
|
||||
wavePhase_(dict.get<scalar>("wavePhase")),
|
||||
waveLength_(this->waveLength(initialDepth_, wavePeriod_)),
|
||||
startTime_
|
||||
(
|
||||
dict.lookupOrDefault<scalar>
|
||||
(
|
||||
"startTime",
|
||||
db().time().startTime().value()
|
||||
)
|
||||
),
|
||||
rampTime_(dict.get<scalar>("rampTime")),
|
||||
secondOrder_(dict.lookupOrDefault<bool>("secondOrder", false))
|
||||
{
|
||||
@ -165,6 +174,7 @@ Foam::waveMakerPointPatchVectorField::waveMakerPointPatchVectorField
|
||||
waveHeight_(ptf.waveHeight_),
|
||||
wavePhase_(ptf.wavePhase_),
|
||||
waveLength_(ptf.waveLength_),
|
||||
startTime_(ptf.startTime_),
|
||||
rampTime_(ptf.rampTime_),
|
||||
secondOrder_(ptf.secondOrder_)
|
||||
{}
|
||||
@ -185,6 +195,7 @@ Foam::waveMakerPointPatchVectorField::waveMakerPointPatchVectorField
|
||||
waveHeight_(ptf.waveHeight_),
|
||||
wavePhase_(ptf.wavePhase_),
|
||||
waveLength_(ptf.waveLength_),
|
||||
startTime_(ptf.startTime_),
|
||||
rampTime_(ptf.rampTime_),
|
||||
secondOrder_(ptf.secondOrder_)
|
||||
{}
|
||||
@ -199,7 +210,7 @@ void Foam::waveMakerPointPatchVectorField::updateCoeffs()
|
||||
return;
|
||||
}
|
||||
|
||||
const scalar t = db().time().value();
|
||||
const scalar t = db().time().value() - startTime_;
|
||||
|
||||
const scalar waveK = constant::mathematical::twoPi/waveLength_;
|
||||
const scalar sigma = constant::mathematical::twoPi/wavePeriod_;
|
||||
@ -259,9 +270,7 @@ void Foam::waveMakerPointPatchVectorField::updateCoeffs()
|
||||
const scalar stroke = sqrt(16.0*waveHeight_*initialDepth_/3.0);
|
||||
const scalar hr = waveHeight_/initialDepth_;
|
||||
wavePeriod_ = (2.0/(kappa*waveCelerity))*(3.8 + hr);
|
||||
|
||||
const scalar tSolitary =
|
||||
-0.5*wavePeriod_ + t - db().time().startTime().value();
|
||||
const scalar tSolitary = -0.5*wavePeriod_ + t;
|
||||
|
||||
// Newton-Rapshon
|
||||
scalar theta1 = 0;
|
||||
@ -308,6 +317,7 @@ void Foam::waveMakerPointPatchVectorField::write(Ostream& os) const
|
||||
os.writeEntry("wavePeriod", wavePeriod_);
|
||||
os.writeEntry("waveHeight", waveHeight_);
|
||||
os.writeEntry("wavePhase", wavePhase_);
|
||||
os.writeEntry("startTime", startTime_);
|
||||
os.writeEntry("rampTime", rampTime_);
|
||||
os.writeEntry("secondOrder", secondOrder_);
|
||||
writeEntry("value", os);
|
||||
|
@ -63,6 +63,7 @@ Usage
|
||||
wavePeriod | wave period | yes |
|
||||
waveHeight | Wave height | yes |
|
||||
wavePhase | wave phase | yes |
|
||||
startTime | Start time | no | case start time
|
||||
rampTime | Time to reach maximum motion | yes |
|
||||
secondOrder | Second order calculation | no | no
|
||||
\endtable
|
||||
@ -137,6 +138,9 @@ class waveMakerPointPatchVectorField
|
||||
//- Wave length
|
||||
scalar waveLength_;
|
||||
|
||||
//- Start time
|
||||
scalar startTime_;
|
||||
|
||||
//- Ramp time
|
||||
scalar rampTime_;
|
||||
|
||||
|
@ -33,6 +33,15 @@ solvers
|
||||
{
|
||||
$p;
|
||||
relTol 0;
|
||||
|
||||
// Explicit specify solver for coarse-level correction to override
|
||||
// solution tolerance
|
||||
coarsestLevelCorr
|
||||
{
|
||||
solver PCG;
|
||||
preconditioner DIC;
|
||||
relTol 0.05;
|
||||
}
|
||||
}
|
||||
|
||||
"(U|k|B|nuTilda)"
|
||||
|
@ -7,7 +7,7 @@ RANLIB = ranlib
|
||||
CPP = cpp
|
||||
LD = ld
|
||||
|
||||
GFLAGS = -D$(WM_VERSION) -DWM_ARCH_OPTION=$(WM_ARCH_OPTION) \
|
||||
GFLAGS = -D$(WM_VERSION) \
|
||||
-DWM_$(WM_PRECISION_OPTION) -DWM_LABEL_SIZE=$(WM_LABEL_SIZE)
|
||||
GINC =
|
||||
GLIBS = -lm
|
||||
|
Loading…
Reference in New Issue
Block a user