solidification.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) 2013-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::regionModels::surfaceFilmModels::solidification
28
29Description
30 Solidification phase change model where all film mass is converted when the
31 local temperature > activation temperature. The latent heat is
32 assumed to be removed by heat-transfer to the wall.
33
34SourceFiles
35 solidification.C
36
37\*---------------------------------------------------------------------------*/
38
39#ifndef solidification_H
40#define solidification_H
41
42#include "phaseChangeModel.H"
43
44// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
45
46namespace Foam
47{
48namespace regionModels
49{
50namespace surfaceFilmModels
51{
52
53/*---------------------------------------------------------------------------*\
54 Class solidification Declaration
55\*---------------------------------------------------------------------------*/
58:
59 public phaseChangeModel
60{
61 // Private member functions
62
63 //- No copy construct
64 solidification(const solidification&) = delete;
65
66 //- No copy assignment
67 void operator=(const solidification&) = delete;
68
69
70protected:
71
72 // Protected data
73
74 //- Temperature at which solidification starts
75 scalar T0_;
76
77 //- Solidification limiter
78 // Maximum fraction of film which can solidify in a time-step
80
81 //- Solidification limiter
82 // Maximum rate at which the film can solidify
84
85 //- Accumulated solid mass [kg]
87
88 //- Accumulated solid thickness [m]
90
91
92public:
93
94 //- Runtime type information
95 TypeName("solidification");
96
97
98 // Constructors
99
100 //- Construct from surface film model
102
103
104 //- Destructor
105 virtual ~solidification();
106
107
108 // Member Functions
109
110 // Evolution
111
112 //- Correct
113 virtual void correctModel
114 (
115 const scalar dt,
116 scalarField& availableMass,
117 scalarField& dMass,
118 scalarField& dEnergy
119 );
120};
121
122
123// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
124
125} // End namespace surfaceFilmModels
126} // End namespace regionModels
127} // End namespace Foam
128
129// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
130
131#endif
132
133// ************************************************************************* //
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
Definition: dictionary.H:126
const surfaceFilmRegionModel & film() const
Return const access to the film surface film model.
Base class for surface film phase change models.
Solidification phase change model where all film mass is converted when the local temperature > activ...
TypeName("solidification")
Runtime type information.
scalar maxSolidificationFrac_
Solidification limiter.
scalar T0_
Temperature at which solidification starts.
volScalarField mass_
Accumulated solid mass [kg].
dimensionedScalar maxSolidificationRate_
Solidification limiter.
volScalarField thickness_
Accumulated solid thickness [m].
virtual void correctModel(const scalar dt, scalarField &availableMass, scalarField &dMass, scalarField &dEnergy)
Correct.
const dictionary & dict() const
Return const access to the cloud dictionary.
Definition: subModelBase.C:113
Namespace for OpenFOAM.
#define TypeName(TypeNameString)
Declare a ClassName() with extra virtual type info.
Definition: typeInfo.H:73