OpenFOAM logo
Open Source CFD Toolkit

Probe.H

Go to the documentation of this file.
00001 /*---------------------------------------------------------------------------*\
00002   =========                 |
00003   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
00004    \\    /   O peration     |
00005     \\  /    A nd           | Copyright (C) 1991-2005 OpenCFD Ltd.
00006      \\/     M anipulation  |
00007 -------------------------------------------------------------------------------
00008 License
00009     This file is part of OpenFOAM.
00010 
00011     OpenFOAM is free software; you can redistribute it and/or modify it
00012     under the terms of the GNU General Public License as published by the
00013     Free Software Foundation; either version 2 of the License, or (at your
00014     option) any later version.
00015 
00016     OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
00017     ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
00018     FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
00019     for more details.
00020 
00021     You should have received a copy of the GNU General Public License
00022     along with OpenFOAM; if not, write to the Free Software Foundation,
00023     Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
00024 
00025 Class
00026     Probe
00027 
00028 Description
00029     Probes a volTypeField on call to write() and writes the values into a file.
00030 
00031 SourceFiles
00032     Probe.C
00033 
00034 \*---------------------------------------------------------------------------*/
00035 
00036 #ifndef Probe_H
00037 #define Probe_H
00038 
00039 #include "volFieldsFwd.H"
00040 #include "OFstream.H"
00041 
00042 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
00043 
00044 namespace Foam
00045 {
00046 
00047 /*---------------------------------------------------------------------------*\
00048                            Class Probe Declaration
00049 \*---------------------------------------------------------------------------*/
00050 
00051 template<class volTypeField>
00052 class Probe
00053 {
00054     // Private data
00055 
00056         const volTypeField& field_;
00057         vectorField probeLocations_;
00058         labelList cellList_;
00059         bool probes_;
00060         OFstream* probeFilePtr_;
00061 
00062 
00063     // Private Member Functions
00064 
00065         //- Construct as copy (not implemented)
00066         Probe(const Probe&);
00067 
00068         //- Assignment (not implemented)
00069         Probe& operator=(const Probe&);
00070 
00071 
00072 public:
00073 
00074     // Constructors
00075 
00076         //- Construct from components
00077         Probe(const dictionary&, const volTypeField&);
00078 
00079 
00080     // Member Functions
00081 
00082         void write();
00083 };
00084 
00085 
00086 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
00087 
00088 } // End namespace Foam
00089 
00090 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
00091 
00092 #ifdef NoRepository
00093 #   include "Probe.C"
00094 #endif
00095 
00096 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
00097 
00098 #endif
00099 
00100 // ************************************************************************* //
For further information go to www.openfoam.org