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> remoteCoarseCf(Pstream::nProcs());
|
||||||
List<pointField> remoteCoarseSf(Pstream::nProcs());
|
List<pointField> remoteCoarseSf(Pstream::nProcs());
|
||||||
@ -468,19 +469,6 @@ int main(int argc, char *argv[])
|
|||||||
remoteCoarseSf[Pstream::myProcNo()] = localCoarseSf;
|
remoteCoarseSf[Pstream::myProcNo()] = localCoarseSf;
|
||||||
remoteCoarseAgg[Pstream::myProcNo()] = localAgg;
|
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::gatherList(remoteCoarseCf);
|
||||||
Pstream::scatterList(remoteCoarseCf);
|
Pstream::scatterList(remoteCoarseCf);
|
||||||
Pstream::gatherList(remoteCoarseSf);
|
Pstream::gatherList(remoteCoarseSf);
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
========= |
|
========= |
|
||||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||||
\\ / O peration |
|
\\ / O peration |
|
||||||
\\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation
|
\\ / A nd | Copyright (C) 2011-2014 OpenFOAM Foundation
|
||||||
\\/ M anipulation |
|
\\/ M anipulation |
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
License
|
License
|
||||||
@ -74,26 +74,6 @@ const Foam::NamedEnum<Foam::distributedTriSurfaceMesh::distributionType, 3>
|
|||||||
// Read my additional data from the dictionary
|
// Read my additional data from the dictionary
|
||||||
bool Foam::distributedTriSurfaceMesh::read()
|
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.
|
// Get bb of all domains.
|
||||||
procBb_.setSize(Pstream::nProcs());
|
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();
|
read();
|
||||||
|
|
||||||
reduce(bounds().min(), minOp<point>());
|
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();
|
read();
|
||||||
|
|
||||||
reduce(bounds().min(), minOp<point>());
|
reduce(bounds().min(), minOp<point>());
|
||||||
|
|||||||
@ -5,56 +5,27 @@ cd ${0%/*} || exit 1 # run from this directory
|
|||||||
# Source tutorial run functions
|
# Source tutorial run functions
|
||||||
. $WM_PROJECT_DIR/bin/tools/RunFunctions
|
. $WM_PROJECT_DIR/bin/tools/RunFunctions
|
||||||
|
|
||||||
runApplication blockMesh
|
|
||||||
runApplication topoSet
|
|
||||||
runApplication splitMeshRegions -cellZones -overwrite
|
|
||||||
|
|
||||||
# remove fluid fields from solid regions (important for post-processing)
|
# Setup case
|
||||||
for i in heater leftSolid rightSolid
|
./Allrun.pre
|
||||||
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
|
|
||||||
|
|
||||||
|
|
||||||
|
#-- Run on single processor
|
||||||
|
|
||||||
|
# Agglomerate patch faces
|
||||||
for i in bottomAir topAir
|
for i in bottomAir topAir
|
||||||
do
|
do
|
||||||
faceAgglomerate -region $i -dict constant/viewFactorsDict > log.faceAgglomerate.$i 2>&1
|
faceAgglomerate -region $i -dict constant/viewFactorsDict > log.faceAgglomerate.$i 2>&1
|
||||||
done
|
done
|
||||||
|
|
||||||
|
# Generate view factors
|
||||||
for i in bottomAir topAir
|
for i in bottomAir topAir
|
||||||
do
|
do
|
||||||
viewFactorsGen -region $i > log.viewFactorsGen.$i 2>&1
|
viewFactorsGen -region $i > log.viewFactorsGen.$i 2>&1
|
||||||
done
|
done
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#-- Run on single processor
|
|
||||||
runApplication `getApplication`
|
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
|
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