FieldI.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) 2018-2020 OpenCFD Ltd.
9 -------------------------------------------------------------------------------
10 License
11  This file is part of OpenFOAM.
12 
13  OpenFOAM is free software: you can redistribute it and/or modify it
14  under the terms of the GNU General Public License as published by
15  the Free Software Foundation, either version 3 of the License, or
16  (at your option) any later version.
17 
18  OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
19  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
20  FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
21  for more details.
22 
23  You should have received a copy of the GNU General Public License
24  along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
25 
26 \*---------------------------------------------------------------------------*/
27 
28 // * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
29 
30 template<class Type>
31 inline constexpr Foam::Field<Type>::Field() noexcept
32 :
33  List<Type>()
34 {}
35 
36 
37 template<class Type>
38 inline Foam::Field<Type>::Field(const label len)
39 :
40  List<Type>(len)
41 {}
42 
43 
44 template<class Type>
45 inline Foam::Field<Type>::Field(const label len, const Type& val)
46 :
47  List<Type>(len, val)
48 {}
49 
50 
51 template<class Type>
52 inline Foam::Field<Type>::Field(const label len, const Foam::zero)
53 :
54  List<Type>(len, Zero)
55 {}
56 
57 
58 template<class Type>
59 inline Foam::Field<Type>::Field(const Foam::one, const Type& val)
60 :
61  List<Type>(Foam::one{}, val)
62 {}
63 
64 
65 template<class Type>
66 inline Foam::Field<Type>::Field(const Foam::one, Type&& val)
67 :
68  List<Type>(Foam::one{}, std::move(val))
69 {}
70 
71 
72 template<class Type>
74 :
75  List<Type>(Foam::one{}, Zero)
76 {}
77 
78 
79 template<class Type>
81 :
82  List<Type>(fld)
83 {}
84 
85 
86 template<class Type>
88 :
89  List<Type>(list)
90 {}
91 
92 
93 template<class Type>
94 template<class Addr>
96 :
97  List<Type>(list)
98 {}
99 
100 
101 template<class Type>
103 :
104  List<Type>()
105 {
107 }
108 
109 
110 template<class Type>
112 :
113  List<Type>()
114 {
115  List<Type>::transfer(list);
116 }
117 
118 
119 template<class Type>
120 template<int SizeMin>
122 :
123  List<Type>()
124 {
125  List<Type>::transfer(list);
126 }
127 
128 
129 template<class Type>
131 :
132  List<Type>(fld, reuse)
133 {}
134 
135 
136 template<class Type>
138 :
139  List<Type>(tfld.constCast(), tfld.movable())
140 {
141  tfld.clear();
142 }
143 
144 
145 template<class Type>
147 :
148  List<Type>(is)
149 {}
150 
151 
152 template<class Type>
154 {
155  return tmp<Field<Type>>::New(*this);
156 }
157 
158 
159 // * * * * * * * * * * * * * * * Member Operators * * * * * * * * * * * * * //
160 
161 template<class Type>
163 {
165 }
166 
167 
168 template<class Type>
170 {
172 }
173 
174 
175 template<class Type>
177 {
179 }
180 
181 
182 template<class Type>
184 {
186 }
187 
188 
189 template<class Type>
190 template<int SizeMin>
192 {
194 }
195 
196 
197 template<class Type>
198 inline void Foam::Field<Type>::operator=(const Type& val)
199 {
201 }
202 
203 
204 template<class Type>
206 {
208 }
209 
210 
211 // ************************************************************************* //
Foam::tmp
A class for managing temporary objects.
Definition: PtrList.H:61
Foam::Zero
static constexpr const zero Zero
Global zero (0)
Definition: zero.H:131
Foam::DynamicList
A 1D vector of objects of type <T> that resizes itself as necessary to accept the new objects.
Definition: DynamicList.H:55
Foam::one
A class representing the concept of 1 (one) that can be used to avoid manipulating objects known to b...
Definition: one.H:61
Foam::Field::clone
tmp< Field< Type > > clone() const
Clone.
Definition: FieldI.H:153
Foam::Field::Field
constexpr Field() noexcept
Construct null.
Definition: FieldI.H:31
Foam::SubField
SubField is a Field obtained as a section of another Field.
Definition: Field.H:64
Foam::Field
Generic templated field type.
Definition: Field.H:63
Foam::Istream
An Istream is an abstract base class for all input systems (streams, files, token lists etc)....
Definition: Istream.H:61
fld
gmvFile<< "tracers "<< particles.size()<< nl;for(const passiveParticle &p :particles){ gmvFile<< p.position().x()<< ' ';}gmvFile<< nl;for(const passiveParticle &p :particles){ gmvFile<< p.position().y()<< ' ';}gmvFile<< nl;for(const passiveParticle &p :particles){ gmvFile<< p.position().z()<< ' ';}gmvFile<< nl;for(const word &name :lagrangianScalarNames){ IOField< scalar > fld(IOobject(name, runTime.timeName(), cloud::prefix, mesh, IOobject::MUST_READ, IOobject::NO_WRITE))
Definition: gmvOutputLagrangian.H:23
Foam
Namespace for OpenFOAM.
Definition: atmBoundaryLayer.C:33
Foam::Field::operator=
void operator=(const Field< Type > &)
Copy assignment.
Definition: Field.C:647
Foam::New
tmp< DimensionedField< TypeR, GeoMesh > > New(const tmp< DimensionedField< TypeR, GeoMesh >> &tdf1, const word &name, const dimensionSet &dimensions)
Global function forwards to reuseTmpDimensionedField::New.
Definition: DimensionedFieldReuseFunctions.H:105
Foam::List
A 1D array of objects of type <T>, where the size of the vector is known and used for subscript bound...
Definition: BitOps.H:63
Foam::UList< Type >
Foam::List::clear
void clear()
Clear the list, i.e. set size to zero.
Definition: ListI.H:115
Foam::IndirectListBase
Base for lists with indirect addressing, templated on the list contents type and the addressing type....
Definition: IndirectListBase.H:56
Foam::zero
A class representing the concept of 0 (zero) that can be used to avoid manipulating objects known to ...
Definition: zero.H:62