WallCollisionRecord.C
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-2016 OpenFOAM Foundation
9  Copyright (C) 2019 OpenCFD Ltd.
10 -------------------------------------------------------------------------------
11 License
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 
27 \*---------------------------------------------------------------------------*/
28 
29 #include "WallCollisionRecord.H"
30 
31 // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
32 
33 template<class Type>
34 const Foam::scalar Foam::WallCollisionRecord<Type>::errorCosAngle(1.0 + 1e-6);
35 
36 
37 // * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
38 
39 template<class Type>
41 :
42  accessed_(false),
43  pRel_(),
44  data_(Zero)
45 {}
46 
47 
48 template<class Type>
50 (
51  bool accessed,
52  const vector& pRel,
53  const Type& data
54 )
55 :
56  accessed_(accessed),
57  pRel_(pRel),
58  data_(data)
59 {}
60 
61 
62 template<class Type>
64 (
65  const WallCollisionRecord<Type>& wCR
66 )
67 :
68  accessed_(wCR.accessed_),
69  pRel_(wCR.pRel_),
70  data_(wCR.data_)
71 {}
72 
73 
74 // * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
75 
76 template<class Type>
78 {}
79 
80 
81 // * * * * * * * * * * * * * * Member Operators * * * * * * * * * * * * * * //
82 
83 template<class Type>
85 (
86  const WallCollisionRecord<Type>& rhs
87 )
88 {
89  if (this == &rhs)
90  {
91  return; // Self-assignment is a no-op
92  }
93 
94  accessed_ = rhs.accessed_;
95  pRel_ = rhs.pRel_;
96  data_ = rhs.data_;
97 }
98 
99 
100 // * * * * * * * * * * * * * * IOStream operators * * * * * * * * * * * * * //
101 
102 #include "WallCollisionRecordIO.C"
103 
104 
105 // ************************************************************************* //
Foam::Zero
static constexpr const zero Zero
Global zero (0)
Definition: zero.H:131
Foam::WallCollisionRecord::~WallCollisionRecord
~WallCollisionRecord()
Destructor.
Definition: WallCollisionRecord.C:77
Foam::WallCollisionRecord
Record of a collision between the particle holding the record and a wall face at the position relativ...
Definition: WallCollisionRecord.H:51
WallCollisionRecord.H
Foam::WallCollisionRecord::WallCollisionRecord
WallCollisionRecord()
Construct null.
Definition: WallCollisionRecord.C:40
Foam::Vector< scalar >
Foam::constant::electromagnetic::e
const dimensionedScalar e
Elementary charge.
Definition: createFields.H:11
Foam::WallCollisionRecord::errorCosAngle
static const scalar errorCosAngle
Tolerance for detecting seriously erroneous wall matches.
Definition: WallCollisionRecord.H:99
WallCollisionRecordIO.C
Foam::data
Database for solution data, solver performance and other reduced data.
Definition: data.H:55