cloudVelocityLagrangianPatch.H
Go to the documentation of this file.
1 /*---------------------------------------------------------------------------*\
2  ========= |
3  \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
4  \\ / O peration | Website: https://openfoam.org
5  \\ / A nd | Copyright (C) 2025 OpenFOAM Foundation
6  \\/ M anipulation |
7 -------------------------------------------------------------------------------
8 License
9  This file is part of OpenFOAM.
10 
11  OpenFOAM is free software: you can redistribute it and/or modify it
12  under the terms of the GNU General Public License as published by
13  the Free Software Foundation, either version 3 of the License, or
14  (at your option) any later version.
15 
16  OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
17  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
18  FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
19  for more details.
20 
21  You should have received a copy of the GNU General Public License
22  along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
23 
24 Class
25  Foam::cloudVelocityLagrangianPatch
26 
27 Description
28  A cloud velocity Lagrangian patch. This patch defers to the cloud velocity
29  boundary condition to determine the state of a particle after hitting a
30  (non-constraint) patch. This allows the velocity boundary condition to
31  control the rebound, escape, stick, etc..., behaviour. This is selected
32  automatically by the base cloud. The user should never have to specify this
33  patch explicitly.
34 
35 SourceFiles
36  cloudVelocityLagrangianPatch.C
37 
38 \*---------------------------------------------------------------------------*/
39 
40 #ifndef cloudVelocityLagrangianPatch_H
41 #define cloudVelocityLagrangianPatch_H
42 
43 #include "LagrangianPatch.H"
44 
45 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
46 
47 namespace Foam
48 {
49 
50 /*---------------------------------------------------------------------------*\
51  Class cloudVelocityLagrangianPatch Declaration
52 \*---------------------------------------------------------------------------*/
53 
55 :
56  public LagrangianPatch
57 {
58 public:
59 
60  //- Runtime type information
61  TypeName("cloudVelocity");
62 
63 
64  // Constructors
65 
66  //- Construct from a patch and a boundary mesh
68  (
69  const polyPatch&,
71  );
72 
73 
74  //- Destructor
76 
77 
78  // Member Functions
79 
80  //- Evaluate changes in elements that have tracked to this patch
81  virtual void evaluate
82  (
86  ) const;
87 };
88 
89 
90 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
91 
92 } // End namespace Foam
93 
94 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
95 
96 #endif
97 
98 // ************************************************************************* //
Field with dimensions and associated with geometry type GeoMesh which is used to size the field and a...
Boundary part of a Lagrangian mesh. Just a list of Lagrangian patches with some added convenience fun...
Class containing Lagrangian geometry and topology.
Base class for Lagrangian patches.
Buffers for inter-processor communications streams (UOPstream, UIPstream).
A cloud velocity Lagrangian patch. This patch defers to the cloud velocity boundary condition to dete...
cloudVelocityLagrangianPatch(const polyPatch &, const LagrangianBoundaryMesh &)
Construct from a patch and a boundary mesh.
virtual void evaluate(PstreamBuffers &, LagrangianMesh &, const LagrangianScalarInternalDynamicField &fraction) const
Evaluate changes in elements that have tracked to this patch.
TypeName("cloudVelocity")
Runtime type information.
A patch is a list of labels that address the faces in the global face list.
Definition: polyPatch.H:70
Namespace for OpenFOAM.