Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
Development
openfoam
Commits
7cd9f823
Commit
7cd9f823
authored
Feb 17, 2010
by
mattijs
Browse files
ENH: non-blocking for all transfers to master.
parent
827d7d7a
Changes
2
Expand all
Hide whitespace changes
Inline
Side-by-side
applications/utilities/postProcessing/dataConversion/foamToEnsight/ensightField.C
View file @
7cd9f823
...
...
@@ -110,30 +110,40 @@ void writeAllData
{
if
(
nPrims
)
{
PstreamBuffers
pBufs
(
Pstream
::
nonBlocking
);
if
(
!
Pstream
::
master
())
{
UOPstream
toMaster
(
Pstream
::
masterNo
(),
pBufs
);
for
(
direction
cmpt
=
0
;
cmpt
<
pTraits
<
Type
>::
nComponents
;
cmpt
++
)
{
toMaster
<<
map
(
vf
,
prims
,
cmpt
);
}
}
pBufs
.
finishedSends
();
if
(
Pstream
::
master
())
{
ensightFile
<<
key
<<
nl
;
PtrList
<
UIPstream
>
fromSlaves
(
Pstream
::
nProcs
());
for
(
int
slave
=
1
;
slave
<
Pstream
::
nProcs
();
slave
++
)
{
fromSlaves
.
set
(
slave
,
new
UIPstream
(
slave
,
pBufs
));
}
for
(
direction
cmpt
=
0
;
cmpt
<
pTraits
<
Type
>::
nComponents
;
cmpt
++
)
{
writeData
(
map
(
vf
,
prims
,
cmpt
),
ensightFile
);
for
(
int
slave
=
1
;
slave
<
Pstream
::
nProcs
();
slave
++
)
{
IPstream
fromSlave
(
Pstream
::
scheduled
,
slave
);
scalarField
data
(
fromSlave
);
scalarField
data
(
fromSlaves
[
slave
]);
writeData
(
data
,
ensightFile
);
}
}
}
else
{
for
(
direction
cmpt
=
0
;
cmpt
<
pTraits
<
Type
>::
nComponents
;
cmpt
++
)
{
OPstream
toMaster
(
Pstream
::
scheduled
,
Pstream
::
masterNo
());
toMaster
<<
map
(
vf
,
prims
,
cmpt
);
}
}
}
}
...
...
@@ -150,30 +160,40 @@ void writeAllDataBinary
{
if
(
nPrims
)
{
PstreamBuffers
pBufs
(
Pstream
::
nonBlocking
);
if
(
!
Pstream
::
master
())
{
UOPstream
toMaster
(
Pstream
::
masterNo
(),
pBufs
);
for
(
direction
cmpt
=
0
;
cmpt
<
pTraits
<
Type
>::
nComponents
;
cmpt
++
)
{
toMaster
<<
map
(
vf
,
prims
,
cmpt
);
}
}
pBufs
.
finishedSends
();
if
(
Pstream
::
master
())
{
writeEnsDataBinary
(
key
,
ensightFile
);
PtrList
<
UIPstream
>
fromSlaves
(
Pstream
::
nProcs
());
for
(
int
slave
=
1
;
slave
<
Pstream
::
nProcs
();
slave
++
)
{
fromSlaves
.
set
(
slave
,
new
UIPstream
(
slave
,
pBufs
));
}
for
(
direction
cmpt
=
0
;
cmpt
<
pTraits
<
Type
>::
nComponents
;
cmpt
++
)
{
writeEnsDataBinary
(
map
(
vf
,
prims
,
cmpt
),
ensightFile
);
for
(
int
slave
=
1
;
slave
<
Pstream
::
nProcs
();
slave
++
)
{
IPstream
fromSlave
(
Pstream
::
scheduled
,
slave
);
scalarField
data
(
fromSlave
);
scalarField
data
(
fromSlaves
[
slave
]);
writeEnsDataBinary
(
data
,
ensightFile
);
}
}
}
else
{
for
(
direction
cmpt
=
0
;
cmpt
<
pTraits
<
Type
>::
nComponents
;
cmpt
++
)
{
OPstream
toMaster
(
Pstream
::
scheduled
,
Pstream
::
masterNo
());
toMaster
<<
map
(
vf
,
prims
,
cmpt
);
}
}
}
}
...
...
@@ -190,31 +210,40 @@ void writeAllFaceData
{
if
(
nPrims
)
{
PstreamBuffers
pBufs
(
Pstream
::
nonBlocking
);
if
(
!
Pstream
::
master
())
{
UOPstream
toMaster
(
Pstream
::
masterNo
(),
pBufs
);
for
(
direction
cmpt
=
0
;
cmpt
<
pTraits
<
Type
>::
nComponents
;
cmpt
++
)
{
toMaster
<<
map
(
pf
,
prims
,
cmpt
);
}
}
pBufs
.
finishedSends
();
if
(
Pstream
::
master
())
{
ensightFile
<<
key
<<
nl
;
PtrList
<
UIPstream
>
fromSlaves
(
Pstream
::
nProcs
());
for
(
int
slave
=
1
;
slave
<
Pstream
::
nProcs
();
slave
++
)
{
fromSlaves
.
set
(
slave
,
new
UIPstream
(
slave
,
pBufs
));
}
for
(
direction
cmpt
=
0
;
cmpt
<
pTraits
<
Type
>::
nComponents
;
cmpt
++
)
{
writeData
(
map
(
pf
,
prims
,
cmpt
),
ensightFile
);
for
(
int
slave
=
1
;
slave
<
Pstream
::
nProcs
();
slave
++
)
{
IPstream
fromSlave
(
Pstream
::
scheduled
,
slave
);
scalarField
pf
(
fromSlave
);
scalarField
pf
(
fromSlaves
[
slave
]);
writeData
(
pf
,
ensightFile
);
}
}
}
else
{
for
(
direction
cmpt
=
0
;
cmpt
<
pTraits
<
Type
>::
nComponents
;
cmpt
++
)
{
OPstream
toMaster
(
Pstream
::
scheduled
,
Pstream
::
masterNo
());
toMaster
<<
map
(
pf
,
prims
,
cmpt
);
}
}
}
}
...
...
@@ -231,31 +260,40 @@ void writeAllFaceDataBinary
{
if
(
nPrims
)
{
PstreamBuffers
pBufs
(
Pstream
::
nonBlocking
);
if
(
!
Pstream
::
master
())
{
UOPstream
toMaster
(
Pstream
::
masterNo
(),
pBufs
);
for
(
direction
cmpt
=
0
;
cmpt
<
pTraits
<
Type
>::
nComponents
;
cmpt
++
)
{
toMaster
<<
map
(
pf
,
prims
,
cmpt
);
}
}
pBufs
.
finishedSends
();
if
(
Pstream
::
master
())
{
writeEnsDataBinary
(
key
,
ensightFile
);
PtrList
<
UIPstream
>
fromSlaves
(
Pstream
::
nProcs
());
for
(
int
slave
=
1
;
slave
<
Pstream
::
nProcs
();
slave
++
)
{
fromSlaves
.
set
(
slave
,
new
UIPstream
(
slave
,
pBufs
));
}
for
(
direction
cmpt
=
0
;
cmpt
<
pTraits
<
Type
>::
nComponents
;
cmpt
++
)
{
writeEnsDataBinary
(
map
(
pf
,
prims
,
cmpt
),
ensightFile
);
for
(
int
slave
=
1
;
slave
<
Pstream
::
nProcs
();
slave
++
)
{
IPstream
fromSlave
(
Pstream
::
scheduled
,
slave
);
scalarField
pf
(
fromSlave
);
scalarField
pf
(
fromSlaves
[
slave
]);
writeEnsDataBinary
(
pf
,
ensightFile
);
}
}
}
else
{
for
(
direction
cmpt
=
0
;
cmpt
<
pTraits
<
Type
>::
nComponents
;
cmpt
++
)
{
OPstream
toMaster
(
Pstream
::
scheduled
,
Pstream
::
masterNo
());
toMaster
<<
map
(
pf
,
prims
,
cmpt
);
}
}
}
}
...
...
@@ -554,10 +592,29 @@ void ensightFieldAscii
if
(
meshCellSets
.
nHexesWedges
)
{
PstreamBuffers
pBufs
(
Pstream
::
nonBlocking
);
if
(
!
Pstream
::
master
())
{
UOPstream
toMaster
(
Pstream
::
masterNo
(),
pBufs
);
for
(
direction
cmpt
=
0
;
cmpt
<
pTraits
<
Type
>::
nComponents
;
cmpt
++
)
{
toMaster
<<
map
(
vf
,
hexes
,
wedges
,
cmpt
);
}
}
pBufs
.
finishedSends
();
if
(
Pstream
::
master
())
{
ensightFile
<<
"hexa8"
<<
nl
;
PtrList
<
UIPstream
>
fromSlaves
(
Pstream
::
nProcs
());
for
(
int
slave
=
1
;
slave
<
Pstream
::
nProcs
();
slave
++
)
{
fromSlaves
.
set
(
slave
,
new
UIPstream
(
slave
,
pBufs
));
}
for
(
direction
cmpt
=
0
;
cmpt
<
pTraits
<
Type
>::
nComponents
;
cmpt
++
)
{
writeData
...
...
@@ -568,20 +625,11 @@ void ensightFieldAscii
for
(
int
slave
=
1
;
slave
<
Pstream
::
nProcs
();
slave
++
)
{
IPstream
fromSlave
(
Pstream
::
scheduled
,
slave
);
scalarField
data
(
fromSlave
);
scalarField
data
(
fromSlaves
[
slave
]);
writeData
(
data
,
ensightFile
);
}
}
}
else
{
for
(
direction
cmpt
=
0
;
cmpt
<
pTraits
<
Type
>::
nComponents
;
cmpt
++
)
{
OPstream
toMaster
(
Pstream
::
scheduled
,
Pstream
::
masterNo
());
toMaster
<<
map
(
vf
,
hexes
,
wedges
,
cmpt
);
}
}
}
writeAllData
(
"penta6"
,
vf
,
prisms
,
meshCellSets
.
nPrisms
,
ensightFile
);
...
...
@@ -695,10 +743,29 @@ void ensightFieldBinary
if
(
meshCellSets
.
nHexesWedges
)
{
PstreamBuffers
pBufs
(
Pstream
::
nonBlocking
);
if
(
!
Pstream
::
master
())
{
UOPstream
toMaster
(
Pstream
::
masterNo
(),
pBufs
);
for
(
direction
cmpt
=
0
;
cmpt
<
pTraits
<
Type
>::
nComponents
;
cmpt
++
)
{
toMaster
<<
map
(
vf
,
hexes
,
wedges
,
cmpt
);
}
}
pBufs
.
finishedSends
();
if
(
Pstream
::
master
())
{
writeEnsDataBinary
(
"hexa8"
,
ensightFile
);
PtrList
<
UIPstream
>
fromSlaves
(
Pstream
::
nProcs
());
for
(
int
slave
=
1
;
slave
<
Pstream
::
nProcs
();
slave
++
)
{
fromSlaves
.
set
(
slave
,
new
UIPstream
(
slave
,
pBufs
));
}
for
(
direction
cmpt
=
0
;
cmpt
<
pTraits
<
Type
>::
nComponents
;
cmpt
++
)
{
writeEnsDataBinary
...
...
@@ -709,20 +776,11 @@ void ensightFieldBinary
for
(
int
slave
=
1
;
slave
<
Pstream
::
nProcs
();
slave
++
)
{
IPstream
fromSlave
(
Pstream
::
scheduled
,
slave
);
scalarField
data
(
fromSlave
);
scalarField
data
(
fromSlaves
[
slave
]);
writeEnsDataBinary
(
data
,
ensightFile
);
}
}
}
else
{
for
(
direction
cmpt
=
0
;
cmpt
<
pTraits
<
Type
>::
nComponents
;
cmpt
++
)
{
OPstream
toMaster
(
Pstream
::
scheduled
,
Pstream
::
masterNo
());
toMaster
<<
map
(
vf
,
hexes
,
wedges
,
cmpt
);
}
}
}
writeAllDataBinary
...
...
applications/utilities/postProcessing/dataConversion/foamToEnsight/ensightMesh.C
View file @
7cd9f823
This diff is collapsed.
Click to expand it.
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment