Commit c97b23e2 authored by sergio's avatar sergio Committed by Andrew Heather
Browse files

Merge branch 'develop' of develop.openfoam.com:Development/OpenFOAM-plus into develop

parents 6bd3cee6 e7b8b7d6
{
// 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
#!/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
#------------------------------------------------------------------------------
......@@ -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
......
......@@ -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
(
coarsestCorrField,
coarsestSource
);
}
else
{
coarseSolverPerf = PCG
(
"coarsestLevelCorr",
matrixLevels_[coarsestLevel],
interfaceLevelsBouCoeffs_[coarsestLevel],
interfaceLevelsIntCoeffs_[coarsestLevel],
interfaceLevels_[coarsestLevel],
PCGsolverDict(tolerance_, relTol_)
).scalarSolve
const solverPerformance coarseSolverPerf
(
coarsestSolverPtr_->solve
(
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_);