mirror of
https://develop.openfoam.com/Development/openfoam.git
synced 2025-11-28 03:28:01 +00:00
Merge branch 'master' of ssh://dm/home/dm4/OpenFOAM/repositories/OpenFOAM-dev
This commit is contained in:
@ -457,8 +457,9 @@ int main(int argc, char *argv[])
|
||||
}
|
||||
}
|
||||
|
||||
// Collect remote Cf and Sf on coarse mesh
|
||||
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
// Distribute local coarse Cf and Sf for shooting rays
|
||||
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
List<pointField> remoteCoarseCf(Pstream::nProcs());
|
||||
List<pointField> remoteCoarseSf(Pstream::nProcs());
|
||||
@ -468,19 +469,6 @@ int main(int argc, char *argv[])
|
||||
remoteCoarseSf[Pstream::myProcNo()] = localCoarseSf;
|
||||
remoteCoarseAgg[Pstream::myProcNo()] = localAgg;
|
||||
|
||||
|
||||
// Collect remote Cf and Sf on fine mesh
|
||||
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
List<pointField> remoteFineCf(Pstream::nProcs());
|
||||
List<pointField> remoteFineSf(Pstream::nProcs());
|
||||
|
||||
remoteCoarseCf[Pstream::myProcNo()] = localCoarseCf;
|
||||
remoteCoarseSf[Pstream::myProcNo()] = localCoarseSf;
|
||||
|
||||
// Distribute local coarse Cf and Sf for shooting rays
|
||||
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
Pstream::gatherList(remoteCoarseCf);
|
||||
Pstream::scatterList(remoteCoarseCf);
|
||||
Pstream::gatherList(remoteCoarseSf);
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation
|
||||
\\ / A nd | Copyright (C) 2011-2014 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -74,26 +74,6 @@ const Foam::NamedEnum<Foam::distributedTriSurfaceMesh::distributionType, 3>
|
||||
// Read my additional data from the dictionary
|
||||
bool Foam::distributedTriSurfaceMesh::read()
|
||||
{
|
||||
|
||||
if
|
||||
(
|
||||
Pstream::parRun()
|
||||
&&
|
||||
(
|
||||
regIOobject::fileModificationChecking == timeStampMaster
|
||||
|| regIOobject::fileModificationChecking == inotifyMaster
|
||||
)
|
||||
)
|
||||
{
|
||||
FatalErrorIn("Foam::distributedTriSurfaceMesh::read()")
|
||||
<< " distributedTriSurfaceMesh is being constructed\n"
|
||||
<< " using 'timeStampMaster' or 'inotifyMaster.'\n"
|
||||
<< " Modify the entry fileModificationChecking\n"
|
||||
<< " in the etc/controlDict.\n"
|
||||
<< " Use 'timeStamp' instead."
|
||||
<< exit(FatalError);
|
||||
}
|
||||
|
||||
// Get bb of all domains.
|
||||
procBb_.setSize(Pstream::nProcs());
|
||||
|
||||
@ -1388,6 +1368,28 @@ Foam::distributedTriSurfaceMesh::distributedTriSurfaceMesh(const IOobject& io)
|
||||
)
|
||||
)
|
||||
{
|
||||
if
|
||||
(
|
||||
Pstream::parRun()
|
||||
&& (
|
||||
dict_.readOpt() == IOobject::MUST_READ
|
||||
|| dict_.readOpt() == IOobject::MUST_READ_IF_MODIFIED
|
||||
)
|
||||
&& (
|
||||
regIOobject::fileModificationChecking == timeStampMaster
|
||||
|| regIOobject::fileModificationChecking == inotifyMaster
|
||||
)
|
||||
)
|
||||
{
|
||||
FatalErrorIn("Foam::distributedTriSurfaceMesh::read()")
|
||||
<< " distributedTriSurfaceMesh is being constructed\n"
|
||||
<< " using 'timeStampMaster' or 'inotifyMaster.'\n"
|
||||
<< " Modify the entry fileModificationChecking\n"
|
||||
<< " in the etc/controlDict.\n"
|
||||
<< " Use 'timeStamp' instead."
|
||||
<< exit(FatalError);
|
||||
}
|
||||
|
||||
read();
|
||||
|
||||
reduce(bounds().min(), minOp<point>());
|
||||
@ -1450,6 +1452,28 @@ Foam::distributedTriSurfaceMesh::distributedTriSurfaceMesh
|
||||
)
|
||||
)
|
||||
{
|
||||
if
|
||||
(
|
||||
Pstream::parRun()
|
||||
&& (
|
||||
dict_.readOpt() == IOobject::MUST_READ
|
||||
|| dict_.readOpt() == IOobject::MUST_READ_IF_MODIFIED
|
||||
)
|
||||
&& (
|
||||
regIOobject::fileModificationChecking == timeStampMaster
|
||||
|| regIOobject::fileModificationChecking == inotifyMaster
|
||||
)
|
||||
)
|
||||
{
|
||||
FatalErrorIn("Foam::distributedTriSurfaceMesh::read()")
|
||||
<< " distributedTriSurfaceMesh is being constructed\n"
|
||||
<< " using 'timeStampMaster' or 'inotifyMaster.'\n"
|
||||
<< " Modify the entry fileModificationChecking\n"
|
||||
<< " in the etc/controlDict.\n"
|
||||
<< " Use 'timeStamp' instead."
|
||||
<< exit(FatalError);
|
||||
}
|
||||
|
||||
read();
|
||||
|
||||
reduce(bounds().min(), minOp<point>());
|
||||
|
||||
@ -5,56 +5,27 @@ cd ${0%/*} || exit 1 # run from this directory
|
||||
# Source tutorial run functions
|
||||
. $WM_PROJECT_DIR/bin/tools/RunFunctions
|
||||
|
||||
runApplication blockMesh
|
||||
runApplication topoSet
|
||||
runApplication splitMeshRegions -cellZones -overwrite
|
||||
|
||||
# remove fluid fields from solid regions (important for post-processing)
|
||||
for i in heater leftSolid rightSolid
|
||||
do
|
||||
rm -f 0*/$i/{rho,mut,alphat,epsilon,k,U,p_rgh,Qr,G,IDefault}
|
||||
done
|
||||
|
||||
for i in bottomAir topAir heater leftSolid rightSolid
|
||||
do
|
||||
changeDictionary -region $i > log.changeDictionary.$i 2>&1
|
||||
done
|
||||
# Setup case
|
||||
./Allrun.pre
|
||||
|
||||
|
||||
#-- Run on single processor
|
||||
|
||||
# Agglomerate patch faces
|
||||
for i in bottomAir topAir
|
||||
do
|
||||
faceAgglomerate -region $i -dict constant/viewFactorsDict > log.faceAgglomerate.$i 2>&1
|
||||
done
|
||||
|
||||
# Generate view factors
|
||||
for i in bottomAir topAir
|
||||
do
|
||||
viewFactorsGen -region $i > log.viewFactorsGen.$i 2>&1
|
||||
done
|
||||
|
||||
|
||||
|
||||
#-- Run on single processor
|
||||
runApplication `getApplication`
|
||||
|
||||
## Run in parallel
|
||||
## Decompose
|
||||
#runApplication decomposePar -allRegions
|
||||
#
|
||||
#for i in bottomAir topAir
|
||||
#do
|
||||
# mpirun -np 4 faceAgglomerate -region $i -dict constant/viewFactorsDict -parallel> log.faceAgglomerate.$i 2>&1
|
||||
#done
|
||||
|
||||
#for i in bottomAir topAir
|
||||
#do
|
||||
# mpirun -np 4 viewFactorsGen -region $i -parallel > log.viewFactorsGen.$i 2>&1
|
||||
#done
|
||||
|
||||
## Run
|
||||
#runParallel `getApplication` 4
|
||||
#
|
||||
## Reconstruct
|
||||
#runApplication reconstructPar -allRegions
|
||||
|
||||
|
||||
echo
|
||||
|
||||
@ -0,0 +1,43 @@
|
||||
#!/bin/sh
|
||||
cd ${0%/*} || exit 1 # run from this directory
|
||||
|
||||
|
||||
# Source tutorial run functions
|
||||
. $WM_PROJECT_DIR/bin/tools/RunFunctions
|
||||
|
||||
|
||||
# Setup case
|
||||
./Allrun.pre
|
||||
|
||||
|
||||
#-- Run in parallel
|
||||
|
||||
# Decompose
|
||||
runApplication decomposePar -allRegions
|
||||
|
||||
# Agglomerate patch faces
|
||||
for i in bottomAir topAir
|
||||
do
|
||||
mpirun -np 4 faceAgglomerate -region $i -dict constant/viewFactorsDict -parallel> log.faceAgglomerate.$i 2>&1
|
||||
done
|
||||
|
||||
# Generate view factors
|
||||
for i in bottomAir topAir
|
||||
do
|
||||
mpirun -np 4 viewFactorsGen -region $i -parallel > log.viewFactorsGen.$i 2>&1
|
||||
done
|
||||
|
||||
# Run
|
||||
runParallel `getApplication` 4
|
||||
|
||||
# Reconstruct
|
||||
runApplication reconstructPar -allRegions
|
||||
|
||||
|
||||
|
||||
echo
|
||||
echo "creating files for paraview post-processing"
|
||||
echo
|
||||
paraFoam -touchAll
|
||||
|
||||
# ----------------------------------------------------------------- end-of-file
|
||||
@ -0,0 +1,24 @@
|
||||
#!/bin/sh
|
||||
cd ${0%/*} || exit 1 # run from this directory
|
||||
|
||||
|
||||
# Source tutorial run functions
|
||||
. $WM_PROJECT_DIR/bin/tools/RunFunctions
|
||||
|
||||
runApplication blockMesh
|
||||
runApplication topoSet
|
||||
runApplication splitMeshRegions -cellZones -overwrite
|
||||
|
||||
# remove fluid fields from solid regions (important for post-processing)
|
||||
for i in heater leftSolid rightSolid
|
||||
do
|
||||
rm -f 0*/$i/{rho,mut,alphat,epsilon,k,U,p_rgh,Qr,G,IDefault}
|
||||
done
|
||||
|
||||
for i in bottomAir topAir heater leftSolid rightSolid
|
||||
do
|
||||
changeDictionary -region $i > log.changeDictionary.$i 2>&1
|
||||
done
|
||||
|
||||
|
||||
# ----------------------------------------------------------------- end-of-file
|
||||
Reference in New Issue
Block a user