OPstream.H
Go to the documentation of this file.
1/*---------------------------------------------------------------------------*\
2 ========= |
3 \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
4 \\ / O peration |
5 \\ / A nd | www.openfoam.com
6 \\/ M anipulation |
7-------------------------------------------------------------------------------
8 Copyright (C) 2011-2013 OpenFOAM Foundation
9 Copyright (C) 2021-2022 OpenCFD Ltd.
10-------------------------------------------------------------------------------
11License
12 This file is part of OpenFOAM.
13
14 OpenFOAM is free software: you can redistribute it and/or modify it
15 under the terms of the GNU General Public License as published by
16 the Free Software Foundation, either version 3 of the License, or
17 (at your option) any later version.
18
19 OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
20 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
21 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
22 for more details.
23
24 You should have received a copy of the GNU General Public License
25 along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
26
27Class
28 Foam::OPstream
29
30Description
31 Output inter-processor communications stream.
32
33SourceFiles
34 OPstreams.C
35
36\*---------------------------------------------------------------------------*/
37
38#include "Pstream.H"
39
40#ifndef Foam_OPstream_H
41#define Foam_OPstream_H
42
43#include "UOPstream.H"
44
45// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
46
47namespace Foam
48{
49
50/*---------------------------------------------------------------------------*\
51 Class OPstream Declaration
52\*---------------------------------------------------------------------------*/
54class OPstream
55:
56 public Pstream,
57 public UOPstream
58{
59public:
60
61 // Constructors
62
63 //- Construct for given process index to send to
64 //- and optional buffer size, write format
66 (
68 const int toProcNo,
69 const label bufSize = 0,
70 const int tag = UPstream::msgType(),
71 const label comm = UPstream::worldComm,
73 );
74};
75
76
77/*---------------------------------------------------------------------------*\
78 Class OPBstream Declaration
79\*---------------------------------------------------------------------------*/
80
81//- Output inter-processor communications stream
82//- using MPI broadcast.
83class OPBstream
84:
85 public Pstream,
86 public UOPBstream
87{
88public:
89
90 // Constructors
91
92 //- Construct for broadcast root, optional buffer size, write format
94 (
95 const commsTypes commsType,
96 const int rootProcNo,
97 const label bufSize = 0,
98 const int tag = UPstream::msgType(),
99 const label comm = UPstream::worldComm,
101 );
102
103 //- Construct for broadcast root with optional communicator,
104 //- write format
105 explicit OPBstream
106 (
107 const int rootProcNo,
108 const label comm = UPstream::worldComm,
110 );
111};
112
113
114// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
115
116} // End namespace Foam
117
118// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
119
120#endif
121
122// ************************************************************************* //
streamFormat
Data format (ascii | binary)
Output inter-processor communications stream.
Definition: OPstream.H:57
Inter-processor communications stream.
Definition: Pstream.H:63
commsTypes
Types of communications.
Definition: UPstream.H:67
static int & msgType() noexcept
Message tag of standard messages.
Definition: UPstream.H:556
commsTypes commsType() const noexcept
Get the communications type of the stream.
Definition: UPstream.H:562
static label worldComm
Default communicator (all processors)
Definition: UPstream.H:293
Namespace for OpenFOAM.