From da8679d8c7811f74dd102e38c7fffa3c6597f904 Mon Sep 17 00:00:00 2001 From: mattijs Date: Fri, 3 May 2013 17:15:03 +0100 Subject: [PATCH 1/8] COMP: lduPrimitiveMesh: renamed size to totalSize --- src/OpenFOAM/meshes/lduMesh/lduPrimitiveMesh.C | 4 ++-- src/OpenFOAM/meshes/lduMesh/lduPrimitiveMesh.H | 2 +- .../MGridGenGamgAgglomeration/MGridGenGAMGAgglomeration.C | 6 ++++-- 3 files changed, 7 insertions(+), 5 deletions(-) diff --git a/src/OpenFOAM/meshes/lduMesh/lduPrimitiveMesh.C b/src/OpenFOAM/meshes/lduMesh/lduPrimitiveMesh.C index 426182f176..68069c88cf 100644 --- a/src/OpenFOAM/meshes/lduMesh/lduPrimitiveMesh.C +++ b/src/OpenFOAM/meshes/lduMesh/lduPrimitiveMesh.C @@ -122,7 +122,7 @@ void Foam::lduPrimitiveMesh::checkUpperTriangular } -Foam::label Foam::lduPrimitiveMesh::size +Foam::label Foam::lduPrimitiveMesh::totalSize ( const PtrList& meshes ) @@ -294,7 +294,7 @@ Foam::lduPrimitiveMesh::lduPrimitiveMesh labelListListList& boundaryFaceMap ) : - lduAddressing(myMesh.lduAddr().size() + size(otherMeshes)), + lduAddressing(myMesh.lduAddr().size() + totalSize(otherMeshes)), lowerAddr_(0), upperAddr_(0), interfaces_(0), diff --git a/src/OpenFOAM/meshes/lduMesh/lduPrimitiveMesh.H b/src/OpenFOAM/meshes/lduMesh/lduPrimitiveMesh.H index 36b7e93d3c..66c26dc37e 100644 --- a/src/OpenFOAM/meshes/lduMesh/lduPrimitiveMesh.H +++ b/src/OpenFOAM/meshes/lduMesh/lduPrimitiveMesh.H @@ -76,7 +76,7 @@ class lduPrimitiveMesh // Private Member Functions //- Get size of all meshes - static label size(const PtrList&); + static label totalSize(const PtrList&); static labelList upperTriOrder ( diff --git a/src/fvAgglomerationMethods/MGridGenGamgAgglomeration/MGridGenGAMGAgglomeration.C b/src/fvAgglomerationMethods/MGridGenGamgAgglomeration/MGridGenGAMGAgglomeration.C index 25df8d29d1..46bcbc8953 100644 --- a/src/fvAgglomerationMethods/MGridGenGamgAgglomeration/MGridGenGAMGAgglomeration.C +++ b/src/fvAgglomerationMethods/MGridGenGamgAgglomeration/MGridGenGAMGAgglomeration.C @@ -119,7 +119,8 @@ Foam::MGridGenGAMGAgglomeration::MGridGenGAMGAgglomeration new scalarField(meshLevels_[nCreatedLevels].size()) ); - restrictField(*aggVPtr, *VPtr, nCreatedLevels); + // Restrict but no parallel agglomeration (not supported) + restrictField(*aggVPtr, *VPtr, nCreatedLevels, false); if (nCreatedLevels) { @@ -157,7 +158,8 @@ Foam::MGridGenGAMGAgglomeration::MGridGenGAMGAgglomeration new scalarField(meshLevels_[nCreatedLevels].size()) ); - restrictField(*aggSbPtr, *SbPtr, nCreatedLevels); + // Restrict but no parallel agglomeration (not supported) + restrictField(*aggSbPtr, *SbPtr, nCreatedLevels, false); delete SbPtr; SbPtr = aggSbPtr; From 2caa044ad6adba8533a861c675acff340a42458a Mon Sep 17 00:00:00 2001 From: Henry Date: Mon, 6 May 2013 22:25:25 +0100 Subject: [PATCH 2/8] wmake: Added support for gcc-4.8.? --- wmake/rules/linux64Gcc48/c | 16 ++++++++++++++++ wmake/rules/linux64Gcc48/c++ | 21 +++++++++++++++++++++ wmake/rules/linux64Gcc48/c++Debug | 2 ++ wmake/rules/linux64Gcc48/c++Opt | 2 ++ wmake/rules/linux64Gcc48/c++Prof | 2 ++ wmake/rules/linux64Gcc48/cDebug | 2 ++ wmake/rules/linux64Gcc48/cOpt | 2 ++ wmake/rules/linux64Gcc48/cProf | 2 ++ wmake/rules/linux64Gcc48/general | 8 ++++++++ wmake/rules/linux64Gcc48/mplibHPMPI | 3 +++ wmake/rules/linux64Gcc48/mplibINTELMPI | 3 +++ wmake/rules/linuxGcc48/c | 16 ++++++++++++++++ wmake/rules/linuxGcc48/c++ | 21 +++++++++++++++++++++ wmake/rules/linuxGcc48/c++Debug | 2 ++ wmake/rules/linuxGcc48/c++Opt | 2 ++ wmake/rules/linuxGcc48/c++Prof | 2 ++ wmake/rules/linuxGcc48/cDebug | 2 ++ wmake/rules/linuxGcc48/cOpt | 2 ++ wmake/rules/linuxGcc48/cProf | 2 ++ wmake/rules/linuxGcc48/general | 9 +++++++++ wmake/rules/linuxGcc48/mplibHPMPI | 3 +++ 21 files changed, 124 insertions(+) create mode 100644 wmake/rules/linux64Gcc48/c create mode 100644 wmake/rules/linux64Gcc48/c++ create mode 100644 wmake/rules/linux64Gcc48/c++Debug create mode 100644 wmake/rules/linux64Gcc48/c++Opt create mode 100644 wmake/rules/linux64Gcc48/c++Prof create mode 100644 wmake/rules/linux64Gcc48/cDebug create mode 100644 wmake/rules/linux64Gcc48/cOpt create mode 100644 wmake/rules/linux64Gcc48/cProf create mode 100644 wmake/rules/linux64Gcc48/general create mode 100644 wmake/rules/linux64Gcc48/mplibHPMPI create mode 100644 wmake/rules/linux64Gcc48/mplibINTELMPI create mode 100644 wmake/rules/linuxGcc48/c create mode 100644 wmake/rules/linuxGcc48/c++ create mode 100644 wmake/rules/linuxGcc48/c++Debug create mode 100644 wmake/rules/linuxGcc48/c++Opt create mode 100644 wmake/rules/linuxGcc48/c++Prof create mode 100644 wmake/rules/linuxGcc48/cDebug create mode 100644 wmake/rules/linuxGcc48/cOpt create mode 100644 wmake/rules/linuxGcc48/cProf create mode 100644 wmake/rules/linuxGcc48/general create mode 100644 wmake/rules/linuxGcc48/mplibHPMPI diff --git a/wmake/rules/linux64Gcc48/c b/wmake/rules/linux64Gcc48/c new file mode 100644 index 0000000000..f4114be314 --- /dev/null +++ b/wmake/rules/linux64Gcc48/c @@ -0,0 +1,16 @@ +.SUFFIXES: .c .h + +cWARN = -Wall + +cc = gcc -m64 + +include $(RULES)/c$(WM_COMPILE_OPTION) + +cFLAGS = $(GFLAGS) $(cWARN) $(cOPT) $(cDBUG) $(LIB_HEADER_DIRS) -fPIC + +ctoo = $(WM_SCHEDULER) $(cc) $(cFLAGS) -c $$SOURCE -o $@ + +LINK_LIBS = $(cDBUG) + +LINKLIBSO = $(cc) -shared +LINKEXE = $(cc) -Xlinker --add-needed -Xlinker -z -Xlinker nodefs diff --git a/wmake/rules/linux64Gcc48/c++ b/wmake/rules/linux64Gcc48/c++ new file mode 100644 index 0000000000..98b25ed1fe --- /dev/null +++ b/wmake/rules/linux64Gcc48/c++ @@ -0,0 +1,21 @@ +.SUFFIXES: .C .cxx .cc .cpp + +c++WARN = -Wall -Wextra -Wno-unused-parameter -Wold-style-cast + +CC = g++ -m64 + +include $(RULES)/c++$(WM_COMPILE_OPTION) + +ptFLAGS = -DNoRepository -ftemplate-depth-100 + +c++FLAGS = $(GFLAGS) $(c++WARN) $(c++OPT) $(c++DBUG) $(ptFLAGS) $(LIB_HEADER_DIRS) -fPIC + +Ctoo = $(WM_SCHEDULER) $(CC) $(c++FLAGS) -c $$SOURCE -o $@ +cxxtoo = $(Ctoo) +cctoo = $(Ctoo) +cpptoo = $(Ctoo) + +LINK_LIBS = $(c++DBUG) + +LINKLIBSO = $(CC) $(c++FLAGS) -shared -Xlinker --add-needed -Xlinker --no-as-needed +LINKEXE = $(CC) $(c++FLAGS) -Xlinker --add-needed -Xlinker --no-as-needed diff --git a/wmake/rules/linux64Gcc48/c++Debug b/wmake/rules/linux64Gcc48/c++Debug new file mode 100644 index 0000000000..19bdb9c334 --- /dev/null +++ b/wmake/rules/linux64Gcc48/c++Debug @@ -0,0 +1,2 @@ +c++DBUG = -ggdb3 -DFULLDEBUG +c++OPT = -O0 -fdefault-inline diff --git a/wmake/rules/linux64Gcc48/c++Opt b/wmake/rules/linux64Gcc48/c++Opt new file mode 100644 index 0000000000..2aedabd628 --- /dev/null +++ b/wmake/rules/linux64Gcc48/c++Opt @@ -0,0 +1,2 @@ +c++DBUG = +c++OPT = -O3 diff --git a/wmake/rules/linux64Gcc48/c++Prof b/wmake/rules/linux64Gcc48/c++Prof new file mode 100644 index 0000000000..3bda4dad55 --- /dev/null +++ b/wmake/rules/linux64Gcc48/c++Prof @@ -0,0 +1,2 @@ +c++DBUG = -pg +c++OPT = -O2 diff --git a/wmake/rules/linux64Gcc48/cDebug b/wmake/rules/linux64Gcc48/cDebug new file mode 100644 index 0000000000..72b638f458 --- /dev/null +++ b/wmake/rules/linux64Gcc48/cDebug @@ -0,0 +1,2 @@ +cDBUG = -ggdb -DFULLDEBUG +cOPT = -O1 -fdefault-inline -finline-functions diff --git a/wmake/rules/linux64Gcc48/cOpt b/wmake/rules/linux64Gcc48/cOpt new file mode 100644 index 0000000000..17318709f1 --- /dev/null +++ b/wmake/rules/linux64Gcc48/cOpt @@ -0,0 +1,2 @@ +cDBUG = +cOPT = -O3 diff --git a/wmake/rules/linux64Gcc48/cProf b/wmake/rules/linux64Gcc48/cProf new file mode 100644 index 0000000000..ca3ac9bf5f --- /dev/null +++ b/wmake/rules/linux64Gcc48/cProf @@ -0,0 +1,2 @@ +cDBUG = -pg +cOPT = -O2 diff --git a/wmake/rules/linux64Gcc48/general b/wmake/rules/linux64Gcc48/general new file mode 100644 index 0000000000..4a42b11b1e --- /dev/null +++ b/wmake/rules/linux64Gcc48/general @@ -0,0 +1,8 @@ +CPP = cpp -traditional-cpp + +PROJECT_LIBS = -l$(WM_PROJECT) -ldl + +include $(GENERAL_RULES)/standard + +include $(RULES)/c +include $(RULES)/c++ diff --git a/wmake/rules/linux64Gcc48/mplibHPMPI b/wmake/rules/linux64Gcc48/mplibHPMPI new file mode 100644 index 0000000000..574492a236 --- /dev/null +++ b/wmake/rules/linux64Gcc48/mplibHPMPI @@ -0,0 +1,3 @@ +PFLAGS = +PINC = -I$(MPI_ARCH_PATH)/include -D_MPICC_H +PLIBS = -L$(MPI_ARCH_PATH)/lib/linux_amd64 -lmpi diff --git a/wmake/rules/linux64Gcc48/mplibINTELMPI b/wmake/rules/linux64Gcc48/mplibINTELMPI new file mode 100644 index 0000000000..cf80ec2eaf --- /dev/null +++ b/wmake/rules/linux64Gcc48/mplibINTELMPI @@ -0,0 +1,3 @@ +PFLAGS = -DMPICH_SKIP_MPICXX +PINC = -I$(MPI_ARCH_PATH)/include64 +PLIBS = -L$(MPI_ARCH_PATH)/lib64 -lmpi diff --git a/wmake/rules/linuxGcc48/c b/wmake/rules/linuxGcc48/c new file mode 100644 index 0000000000..d914fcd37d --- /dev/null +++ b/wmake/rules/linuxGcc48/c @@ -0,0 +1,16 @@ +.SUFFIXES: .c .h + +cWARN = -Wall + +cc = gcc -m32 + +include $(RULES)/c$(WM_COMPILE_OPTION) + +cFLAGS = $(GFLAGS) $(cWARN) $(cOPT) $(cDBUG) $(LIB_HEADER_DIRS) -fPIC + +ctoo = $(WM_SCHEDULER) $(cc) $(cFLAGS) -c $$SOURCE -o $@ + +LINK_LIBS = $(cDBUG) + +LINKLIBSO = $(cc) -shared +LINKEXE = $(cc) -Xlinker --add-needed -Xlinker -z -Xlinker nodefs diff --git a/wmake/rules/linuxGcc48/c++ b/wmake/rules/linuxGcc48/c++ new file mode 100644 index 0000000000..357f4106e1 --- /dev/null +++ b/wmake/rules/linuxGcc48/c++ @@ -0,0 +1,21 @@ +.SUFFIXES: .C .cxx .cc .cpp + +c++WARN = -Wall -Wextra -Wno-unused-parameter -Wold-style-cast + +CC = g++ -m32 + +include $(RULES)/c++$(WM_COMPILE_OPTION) + +ptFLAGS = -DNoRepository -ftemplate-depth-100 + +c++FLAGS = $(GFLAGS) $(c++WARN) $(c++OPT) $(c++DBUG) $(ptFLAGS) $(LIB_HEADER_DIRS) -fPIC + +Ctoo = $(WM_SCHEDULER) $(CC) $(c++FLAGS) -c $$SOURCE -o $@ +cxxtoo = $(Ctoo) +cctoo = $(Ctoo) +cpptoo = $(Ctoo) + +LINK_LIBS = $(c++DBUG) + +LINKLIBSO = $(CC) $(c++FLAGS) -shared -Xlinker --add-needed -Xlinker --no-as-needed +LINKEXE = $(CC) $(c++FLAGS) -Xlinker --add-needed -Xlinker --no-as-needed diff --git a/wmake/rules/linuxGcc48/c++Debug b/wmake/rules/linuxGcc48/c++Debug new file mode 100644 index 0000000000..19bdb9c334 --- /dev/null +++ b/wmake/rules/linuxGcc48/c++Debug @@ -0,0 +1,2 @@ +c++DBUG = -ggdb3 -DFULLDEBUG +c++OPT = -O0 -fdefault-inline diff --git a/wmake/rules/linuxGcc48/c++Opt b/wmake/rules/linuxGcc48/c++Opt new file mode 100644 index 0000000000..2aedabd628 --- /dev/null +++ b/wmake/rules/linuxGcc48/c++Opt @@ -0,0 +1,2 @@ +c++DBUG = +c++OPT = -O3 diff --git a/wmake/rules/linuxGcc48/c++Prof b/wmake/rules/linuxGcc48/c++Prof new file mode 100644 index 0000000000..3bda4dad55 --- /dev/null +++ b/wmake/rules/linuxGcc48/c++Prof @@ -0,0 +1,2 @@ +c++DBUG = -pg +c++OPT = -O2 diff --git a/wmake/rules/linuxGcc48/cDebug b/wmake/rules/linuxGcc48/cDebug new file mode 100644 index 0000000000..72b638f458 --- /dev/null +++ b/wmake/rules/linuxGcc48/cDebug @@ -0,0 +1,2 @@ +cDBUG = -ggdb -DFULLDEBUG +cOPT = -O1 -fdefault-inline -finline-functions diff --git a/wmake/rules/linuxGcc48/cOpt b/wmake/rules/linuxGcc48/cOpt new file mode 100644 index 0000000000..17318709f1 --- /dev/null +++ b/wmake/rules/linuxGcc48/cOpt @@ -0,0 +1,2 @@ +cDBUG = +cOPT = -O3 diff --git a/wmake/rules/linuxGcc48/cProf b/wmake/rules/linuxGcc48/cProf new file mode 100644 index 0000000000..ca3ac9bf5f --- /dev/null +++ b/wmake/rules/linuxGcc48/cProf @@ -0,0 +1,2 @@ +cDBUG = -pg +cOPT = -O2 diff --git a/wmake/rules/linuxGcc48/general b/wmake/rules/linuxGcc48/general new file mode 100644 index 0000000000..4b051e6b98 --- /dev/null +++ b/wmake/rules/linuxGcc48/general @@ -0,0 +1,9 @@ +CPP = cpp -traditional-cpp +LD = ld -melf_i386 + +PROJECT_LIBS = -l$(WM_PROJECT) -ldl + +include $(GENERAL_RULES)/standard + +include $(RULES)/c +include $(RULES)/c++ diff --git a/wmake/rules/linuxGcc48/mplibHPMPI b/wmake/rules/linuxGcc48/mplibHPMPI new file mode 100644 index 0000000000..8aff40632b --- /dev/null +++ b/wmake/rules/linuxGcc48/mplibHPMPI @@ -0,0 +1,3 @@ +PFLAGS = +PINC = -I$(MPI_ARCH_PATH)/include -D_MPICC_H +PLIBS = -L$(MPI_ARCH_PATH)/lib/linux_ia32 -lmpi From 15e553b88109e6646cf66775e13f4c2ab786654d Mon Sep 17 00:00:00 2001 From: Henry Date: Mon, 6 May 2013 22:25:57 +0100 Subject: [PATCH 3/8] compressibleTwoPhaseEulerFoam: Corrected pressure work due to interface motion in EEqns --- .../compressibleTwoPhaseEulerFoam/EEqns.H | 8 ++++---- .../createFields.H | 18 +++--------------- .../compressibleTwoPhaseEulerFoam/pEqn.H | 9 ++------- 3 files changed, 9 insertions(+), 26 deletions(-) diff --git a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/EEqns.H b/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/EEqns.H index 1f12fc9a12..1810bdd4d9 100644 --- a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/EEqns.H +++ b/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/EEqns.H @@ -28,8 +28,8 @@ + ( he1.name() == thermo1.phasePropertyName("e") - ? fvc::div(alphaPhi1, p) - : -dalpha1pdt + ? fvc::ddt(alpha1)*p + fvc::div(alphaPhi1, p) + : -alpha1*dpdt )/rho1 - fvm::laplacian(k1, he1) @@ -50,8 +50,8 @@ + ( he2.name() == thermo2.phasePropertyName("e") - ? fvc::div(alphaPhi2, p) - : -dalpha2pdt + ? fvc::ddt(alpha2)*p + fvc::div(alphaPhi2, p) + : -alpha2*dpdt )/rho2 - fvm::laplacian(k2, he2) diff --git a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/createFields.H b/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/createFields.H index cc5b3ebe21..5b030b95ea 100644 --- a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/createFields.H +++ b/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/createFields.H @@ -275,8 +275,8 @@ ); - Info<< "Creating field dalpha1pdt\n" << endl; - volScalarField dalpha1pdt + Info<< "Creating field dpdt\n" << endl; + volScalarField dpdt ( IOobject ( @@ -285,21 +285,9 @@ mesh ), mesh, - dimensionedScalar("dalpha1pdt", p.dimensions()/dimTime, 0) + dimensionedScalar("dpdt", p.dimensions()/dimTime, 0) ); - Info<< "Creating field dalpha2pdt\n" << endl; - volScalarField dalpha2pdt - ( - IOobject - ( - "dpdt", - runTime.timeName(), - mesh - ), - mesh, - dimensionedScalar("dalpha2pdt", p.dimensions()/dimTime, 0) - ); Info<< "Creating field kinetic energy K\n" << endl; volScalarField K1("K" + phase1Name, 0.5*magSqr(U1)); diff --git a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/pEqn.H b/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/pEqn.H index 02e49b5661..756a231fc2 100644 --- a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/pEqn.H +++ b/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/pEqn.H @@ -208,13 +208,8 @@ K1 = 0.5*magSqr(U1); K2 = 0.5*magSqr(U2); - if (thermo1.dpdt()) + if (thermo1.dpdt() || thermo2.dpdt()) { - dalpha1pdt = fvc::ddt(alpha1, p); - } - - if (thermo2.dpdt()) - { - dalpha2pdt = fvc::ddt(alpha2, p); + dpdt = fvc::ddt(p); } } From 364eabc786479b29a1b71cb8c2f6b0b28196ed37 Mon Sep 17 00:00:00 2001 From: Henry Date: Mon, 6 May 2013 22:26:06 +0100 Subject: [PATCH 4/8] wmake: Added support for gcc-4.8.? --- etc/config/settings.csh | 7 +++++++ etc/config/settings.sh | 6 ++++++ 2 files changed, 13 insertions(+) diff --git a/etc/config/settings.csh b/etc/config/settings.csh index a909e02de6..a276a97167 100644 --- a/etc/config/settings.csh +++ b/etc/config/settings.csh @@ -224,6 +224,13 @@ case ThirdParty: set mpfr_version=mpfr-3.1.0 set mpc_version=mpc-0.9 breaksw + case Gcc48: + case Gcc48++0x: + set gcc_version=gcc-4.8.0 + set gmp_version=gmp-5.0.4 + set mpfr_version=mpfr-3.1.0 + set mpc_version=mpc-0.9 + breaksw case Gcc47: case Gcc47++0x: set gcc_version=gcc-4.7.2 diff --git a/etc/config/settings.sh b/etc/config/settings.sh index 1d4800d471..0a46c308a9 100644 --- a/etc/config/settings.sh +++ b/etc/config/settings.sh @@ -246,6 +246,12 @@ OpenFOAM | ThirdParty) mpfr_version=mpfr-3.1.0 mpc_version=mpc-0.9 ;; + Gcc48 | Gcc48++0x) + gcc_version=gcc-4.8.0 + gmp_version=gmp-5.0.4 + mpfr_version=mpfr-3.1.0 + mpc_version=mpc-0.9 + ;; Gcc47 | Gcc47++0x) gcc_version=gcc-4.7.2 gmp_version=gmp-5.0.4 From b470fb321b4d87beaf3f7c75e2195987d00f5755 Mon Sep 17 00:00:00 2001 From: Henry Date: Mon, 6 May 2013 22:26:16 +0100 Subject: [PATCH 5/8] Updated --- .../fluidisedBed/system/fvSolution | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/fluidisedBed/system/fvSolution b/tutorials/multiphase/compressibleTwoPhaseEulerFoam/fluidisedBed/system/fvSolution index a2906e9722..e0cc208e4e 100644 --- a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/fluidisedBed/system/fvSolution +++ b/tutorials/multiphase/compressibleTwoPhaseEulerFoam/fluidisedBed/system/fvSolution @@ -17,6 +17,12 @@ FoamFile solvers { + alpha1 + { + nAlphaCorr 1; + nAlphaSubCycles 2; + } + p { solver GAMG; @@ -90,11 +96,9 @@ solvers PIMPLE { - nOuterCorrectors 3; - nCorrectors 1; + nOuterCorrectors 1; + nCorrectors 3; nNonOrthogonalCorrectors 0; - nAlphaCorr 1; - nAlphaSubCycles 2; } relaxationFactors From 0e7a8770b46c93d6a709d1f88b18bf739b49f03b Mon Sep 17 00:00:00 2001 From: mattijs Date: Tue, 7 May 2013 10:58:04 +0100 Subject: [PATCH 6/8] BUG: IOdictionary: account for communicator in OPstream call --- .../IOobjects/IOdictionary/IOdictionaryIO.C | 2 + src/OpenFOAM/db/regIOobject/regIOobjectRead.C | 2 + .../processorCyclicPointPatchField.C | 9 +++-- .../processor/processorPointPatch.H | 8 +++- .../constraint/processor/processorPolyPatch.H | 38 +++---------------- 5 files changed, 23 insertions(+), 36 deletions(-) diff --git a/src/OpenFOAM/db/IOobjects/IOdictionary/IOdictionaryIO.C b/src/OpenFOAM/db/IOobjects/IOdictionary/IOdictionaryIO.C index bd5c4cc598..d18a0e2934 100644 --- a/src/OpenFOAM/db/IOobjects/IOdictionary/IOdictionaryIO.C +++ b/src/OpenFOAM/db/IOobjects/IOdictionary/IOdictionaryIO.C @@ -105,6 +105,7 @@ void Foam::IOdictionary::readFile(const bool masterOnly) myComm.above(), 0, Pstream::msgType(), + Pstream::worldComm, IOstream::ASCII ); IOdictionary::readData(fromAbove); @@ -124,6 +125,7 @@ void Foam::IOdictionary::readFile(const bool masterOnly) myComm.below()[belowI], 0, Pstream::msgType(), + Pstream::worldComm, IOstream::ASCII ); IOdictionary::writeData(toBelow); diff --git a/src/OpenFOAM/db/regIOobject/regIOobjectRead.C b/src/OpenFOAM/db/regIOobject/regIOobjectRead.C index 91827479a4..bc950e518f 100644 --- a/src/OpenFOAM/db/regIOobject/regIOobjectRead.C +++ b/src/OpenFOAM/db/regIOobject/regIOobjectRead.C @@ -243,6 +243,7 @@ bool Foam::regIOobject::read() myComm.above(), 0, Pstream::msgType(), + Pstream::worldComm, IOstream::ASCII ); ok = readData(fromAbove); @@ -257,6 +258,7 @@ bool Foam::regIOobject::read() myComm.below()[belowI], 0, Pstream::msgType(), + Pstream::worldComm, IOstream::ASCII ); writeData(toBelow); diff --git a/src/OpenFOAM/fields/pointPatchFields/constraint/processorCyclic/processorCyclicPointPatchField.C b/src/OpenFOAM/fields/pointPatchFields/constraint/processorCyclic/processorCyclicPointPatchField.C index 6bea99a1bc..74707a9a93 100644 --- a/src/OpenFOAM/fields/pointPatchFields/constraint/processorCyclic/processorCyclicPointPatchField.C +++ b/src/OpenFOAM/fields/pointPatchFields/constraint/processorCyclic/processorCyclicPointPatchField.C @@ -122,7 +122,8 @@ void Foam::processorCyclicPointPatchField::initSwapAddSeparated procPatch_.neighbProcNo(), reinterpret_cast(receiveBuf_.begin()), receiveBuf_.byteSize(), - procPatch_.tag() + procPatch_.tag(), + procPatch_.comm() ); } OPstream::write @@ -131,7 +132,8 @@ void Foam::processorCyclicPointPatchField::initSwapAddSeparated procPatch_.neighbProcNo(), reinterpret_cast(pf.begin()), pf.byteSize(), - procPatch_.tag() + procPatch_.tag(), + procPatch_.comm() ); } } @@ -156,7 +158,8 @@ void Foam::processorCyclicPointPatchField::swapAddSeparated procPatch_.neighbProcNo(), reinterpret_cast(receiveBuf_.begin()), receiveBuf_.byteSize(), - procPatch_.tag() + procPatch_.tag(), + procPatch_.comm() ); } diff --git a/src/OpenFOAM/meshes/pointMesh/pointPatches/constraint/processor/processorPointPatch.H b/src/OpenFOAM/meshes/pointMesh/pointPatches/constraint/processor/processorPointPatch.H index 992a5b0c24..da777d683c 100644 --- a/src/OpenFOAM/meshes/pointMesh/pointPatches/constraint/processor/processorPointPatch.H +++ b/src/OpenFOAM/meshes/pointMesh/pointPatches/constraint/processor/processorPointPatch.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -134,6 +134,12 @@ public: return procPolyPatch_.tag(); } + //- Return communicator used for communication + virtual label comm() const + { + return procPolyPatch_.comm(); + } + //- Return the constraint type this pointPatch implements. virtual const word& constraintType() const { diff --git a/src/OpenFOAM/meshes/polyMesh/polyPatches/constraint/processor/processorPolyPatch.H b/src/OpenFOAM/meshes/polyMesh/polyPatches/constraint/processor/processorPolyPatch.H index 3bd72a7cf2..c5a6226dc8 100644 --- a/src/OpenFOAM/meshes/polyMesh/polyPatches/constraint/processor/processorPolyPatch.H +++ b/src/OpenFOAM/meshes/polyMesh/polyPatches/constraint/processor/processorPolyPatch.H @@ -246,14 +246,6 @@ public: } } - - //- Return communicator used for communication - label comm() const - { - //return comm_; - return boundaryMesh().mesh().comm(); - } - //- Return processor number int myProcNo() const { @@ -266,30 +258,6 @@ public: return neighbProcNo_; } - - // For testing - -// //- Return communicator used for communication -// label& comm() -// { -// return comm_; -// } - - //- Return processor number - int& myProcNo() - { - return myProcNo_; - } - - //- Return neigbour processor number - int& neighbProcNo() - { - return neighbProcNo_; - } - - - - //- Does the processor own the patch ? virtual bool owner() const { @@ -332,6 +300,12 @@ public: return Pstream::msgType(); } + //- Return communicator used for communication + virtual label comm() const + { + return boundaryMesh().mesh().comm(); + } + //- Transform a patch-based position from other side to this side virtual void transformPosition(pointField& l) const {} From 5414fd3058db34c8c64fb9b5b188a48c1841b259 Mon Sep 17 00:00:00 2001 From: Henry Date: Tue, 7 May 2013 12:15:18 +0100 Subject: [PATCH 7/8] Update header --- .../threePhaseInterfaceProperties.C | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/applications/solvers/multiphase/interFoam/interMixingFoam/threePhaseInterfaceProperties/threePhaseInterfaceProperties.C b/applications/solvers/multiphase/interFoam/interMixingFoam/threePhaseInterfaceProperties/threePhaseInterfaceProperties.C index f7edec6415..f812b472e0 100644 --- a/applications/solvers/multiphase/interFoam/interMixingFoam/threePhaseInterfaceProperties/threePhaseInterfaceProperties.C +++ b/applications/solvers/multiphase/interFoam/interMixingFoam/threePhaseInterfaceProperties/threePhaseInterfaceProperties.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011-2012 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License From b6b6bbef894a79ee3055c0a0ec2928ee74bc615f Mon Sep 17 00:00:00 2001 From: Henry Date: Tue, 7 May 2013 12:17:43 +0100 Subject: [PATCH 8/8] Bird-Carreau extended to Bird-Carreau-Yasuda by the addition of the "a" coefficient "a" defaults to 2 (Bird-Carreau) --- .../viscosityModels/BirdCarreau/BirdCarreau.C | 17 +++++++++++++++-- .../viscosityModels/BirdCarreau/BirdCarreau.H | 6 +++++- 2 files changed, 20 insertions(+), 3 deletions(-) diff --git a/src/transportModels/incompressible/viscosityModels/BirdCarreau/BirdCarreau.C b/src/transportModels/incompressible/viscosityModels/BirdCarreau/BirdCarreau.C index 730dbe5ec4..0f2213b686 100644 --- a/src/transportModels/incompressible/viscosityModels/BirdCarreau/BirdCarreau.C +++ b/src/transportModels/incompressible/viscosityModels/BirdCarreau/BirdCarreau.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -52,7 +52,7 @@ Foam::viscosityModels::BirdCarreau::calcNu() const return nuInf_ + (nu0_ - nuInf_) - *pow(scalar(1) + sqr(k_*strainRate()), (n_ - 1.0)/2.0); + *pow(scalar(1) + pow(k_*strainRate(), a_), (n_ - 1.0)/a_); } @@ -72,6 +72,14 @@ Foam::viscosityModels::BirdCarreau::BirdCarreau nuInf_(BirdCarreauCoeffs_.lookup("nuInf")), k_(BirdCarreauCoeffs_.lookup("k")), n_(BirdCarreauCoeffs_.lookup("n")), + a_ + ( + BirdCarreauCoeffs_.lookupOrDefault + ( + "a", + dimensionedScalar("a", dimless, 2) + ) + ), nu_ ( IOobject @@ -102,6 +110,11 @@ bool Foam::viscosityModels::BirdCarreau::read BirdCarreauCoeffs_.lookup("nuInf") >> nuInf_; BirdCarreauCoeffs_.lookup("k") >> k_; BirdCarreauCoeffs_.lookup("n") >> n_; + a_ = BirdCarreauCoeffs_.lookupOrDefault + ( + "a", + dimensionedScalar("a", dimless, 2) + ); return true; } diff --git a/src/transportModels/incompressible/viscosityModels/BirdCarreau/BirdCarreau.H b/src/transportModels/incompressible/viscosityModels/BirdCarreau/BirdCarreau.H index 14589cae12..e235041087 100644 --- a/src/transportModels/incompressible/viscosityModels/BirdCarreau/BirdCarreau.H +++ b/src/transportModels/incompressible/viscosityModels/BirdCarreau/BirdCarreau.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -27,6 +27,9 @@ Class Description An incompressible Bird-Carreau non-Newtonian viscosity model. + The Bird-Carreau-Yasuda form is also supported if the optional "a" + coefficient is specified. "a" defaults to 2 for the Bird-Carreau model. + SourceFiles BirdCarreau.C @@ -62,6 +65,7 @@ class BirdCarreau dimensionedScalar nuInf_; dimensionedScalar k_; dimensionedScalar n_; + dimensionedScalar a_; volScalarField nu_;