FreeFOAM The Cross-Platform CFD Toolkit
dummyPstreamImpl.H
Go to the documentation of this file.
1 /*----------------------------------------------------------------------------*\
2  ______ _ ____ __ __
3  | ____| _| |_ / __ \ /\ | \/ |
4  | |__ _ __ ___ ___ / \| | | | / \ | \ / |
5  | __| '__/ _ \/ _ ( (| |) ) | | |/ /\ \ | |\/| |
6  | | | | | __/ __/\_ _/| |__| / ____ \| | | |
7  |_| |_| \___|\___| |_| \____/_/ \_\_| |_|
8 
9  FreeFOAM: The Cross-Platform CFD Toolkit
10 
11  Copyright (C) 2008-2012 Michael Wild <themiwi@users.sf.net>
12  Gerber van der Graaf <gerber_graaf@users.sf.net>
13 --------------------------------------------------------------------------------
14 License
15  This file is part of FreeFOAM.
16 
17  FreeFOAM is free software: you can redistribute it and/or modify it
18  under the terms of the GNU General Public License as published by the
19  Free Software Foundation, either version 3 of the License, or (at your
20  option) any later version.
21 
22  FreeFOAM is distributed in the hope that it will be useful, but WITHOUT
23  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
24  FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
25  for more details.
26 
27  You should have received a copy of the GNU General Public License
28  along with FreeFOAM. If not, see <http://www.gnu.org/licenses/>.
29 
30 Class
31  Foam::dummyPstreamImpl
32 
33 Description
34  Dummy implementation of the PstreamImpl abstract base class.
35 
36 SourceFiles
37  dummyPstreamImpl.C
38 
39 \*----------------------------------------------------------------------------*/
40 
41 #ifndef dummyPstreamImpl_H
42 #define dummyPstreamImpl_H
43 
44 #include <OpenFOAM/PstreamImpl.H>
45 
46 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
47 
48 namespace Foam
49 {
50 
51 /*---------------------------------------------------------------------------*\
52  Class dummyPstreamImpl Declaration
53 \*---------------------------------------------------------------------------*/
54 
56 :
57  public PstreamImpl
58 {
59  // Private Member Functions
60 
61  //- Disallow default bitwise copy construct
63 
64  //- Disallow default bitwise assignment
65  void operator=(const dummyPstreamImpl&);
66 
67 public:
68 
69  // Declare name of the class and its debug switch
70  TypeName("dummyPstreamImpl");
71 
72  // Constructors
73 
74  //- Construct null
76 
77  // Member Functions
78 
79  //- Add the valid option this type of communications library
80  // adds/requires on the command line
81  virtual void addValidParOptions(HashTable<string>& validParOptions);
82 
83  //- Initialisation function called from main
84  // Spawns slave processes and initialises inter-communication
85  virtual bool init
86  (
87  int& argc,
88  char**& argv,
89  int& myProcNo_,
90  List<int>& procIDs_,
91  bool& isParallel
92  );
93 
94  //- Exit program
95  virtual void exit(int errnum);
96 
97  //- Abort program
98  virtual void abort();
99 
100  //- Reduce implementation for scalars (@sa PstreamReduceOps.H)
101  void reduce(scalar& Value, const sumOp<scalar>& bop);
102 };
103 
104 
105 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
106 
107 } // End namespace Foam
108 
109 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
110 
111 #endif
112 
113 // ************************ vim: set sw=4 sts=4 et: ************************ //