MixedDiffuseSpecular.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) 2011-2017 OpenFOAM Foundation
9-------------------------------------------------------------------------------
10License
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
26Class
27 Foam::MixedDiffuseSpecular
28
29Description
30 Wall interaction setting microscopic velocity to a random one
31 drawn from a Maxwellian distribution corresponding to a specified
32 temperature for a specified fraction of collisions, and reversing
33 the wall-normal component of the particle velocity for the
34 remainder.
35
36\*---------------------------------------------------------------------------*/
37
38#ifndef MixedDiffuseSpecular_H
39#define MixedDiffuseSpecular_H
40
42
43// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
44
45namespace Foam
46{
47/*---------------------------------------------------------------------------*\
48 Class MixedDiffuseSpecular Declaration
49\*---------------------------------------------------------------------------*/
50
51template<class CloudType>
53:
54 public WallInteractionModel<CloudType>
55{
56 // Private data
57
58 //- Fraction of wall interactions that are diffuse
59 scalar diffuseFraction_;
60
61
62public:
63
64 //- Runtime type information
65 TypeName("MixedDiffuseSpecular");
66
67
68 // Constructors
69
70 //- Construct from dictionary
72 (
73 const dictionary& dict,
75 );
76
77
78 //- Destructor
79 virtual ~MixedDiffuseSpecular();
80
81
82 // Member Functions
83
84 //- Apply wall correction
85 virtual void correct(typename CloudType::parcelType& p);
86};
87
88
89// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
90
91} // End namespace Foam
92
93// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
94
95#ifdef NoRepository
96 #include "MixedDiffuseSpecular.C"
97#endif
98
99// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
100
101#endif
102
103// ************************************************************************* //
Templated base class for dsmc cloud.
Definition: DSMCCloud.H:75
ParcelType parcelType
Type of parcel the cloud was instantiated for.
Definition: DSMCCloud.H:220
Wall interaction setting microscopic velocity to a random one drawn from a Maxwellian distribution co...
virtual ~MixedDiffuseSpecular()
Destructor.
TypeName("MixedDiffuseSpecular")
Runtime type information.
Templated wall interaction model class.
const dictionary & dict() const
Return the dictionary.
A cloud is a registry collection of lagrangian particles.
Definition: cloud.H:60
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
Definition: dictionary.H:126
volScalarField & p
thermo correct()
Namespace for OpenFOAM.
#define TypeName(TypeNameString)
Declare a ClassName() with extra virtual type info.
Definition: typeInfo.H:73