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 -------------------------------------------------------------------------------
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 Class
27  Foam::regionModels::surfaceFilmModels::solidification
28 
29 Description
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 
34 SourceFiles
35  solidification.C
36 
37 \*---------------------------------------------------------------------------*/
38 
39 #ifndef solidification_H
40 #define solidification_H
41 
42 #include "phaseChangeModel.H"
43 
44 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
45 
46 namespace Foam
47 {
48 namespace regionModels
49 {
50 namespace surfaceFilmModels
51 {
52 
53 /*---------------------------------------------------------------------------*\
54  Class solidification Declaration
55 \*---------------------------------------------------------------------------*/
56 
57 class solidification
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 
70 protected:
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 
92 public:
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 // ************************************************************************* //
Foam::regionModels::surfaceFilmModels::solidification::mass_
volScalarField mass_
Accumulated solid mass [kg].
Definition: solidification.H:85
Foam::regionModels::surfaceFilmModels::solidification::~solidification
virtual ~solidification()
Destructor.
Definition: solidification.C:107
Foam::regionModels::surfaceFilmModels::solidification::thickness_
volScalarField thickness_
Accumulated solid thickness [m].
Definition: solidification.H:88
Foam::regionModels::surfaceFilmModels::filmSubModelBase::film
const surfaceFilmRegionModel & film() const
Return const access to the film surface film model.
Definition: filmSubModelBaseI.H:39
Foam::Field< scalar >
Foam::regionModels::surfaceFilmModels::surfaceFilmRegionModel
Base class for surface film models.
Definition: surfaceFilmRegionModel.H:55
Foam::regionModels::surfaceFilmModels::solidification::correctModel
virtual void correctModel(const scalar dt, scalarField &availableMass, scalarField &dMass, scalarField &dEnergy)
Correct.
Definition: solidification.C:114
Foam::subModelBase::dict
const dictionary & dict() const
Return const access to the cloud dictionary.
Definition: subModelBase.C:113
Foam::regionModels::surfaceFilmModels::solidification::TypeName
TypeName("solidification")
Runtime type information.
Foam::regionModels::surfaceFilmModels::solidification::maxSolidificationFrac_
scalar maxSolidificationFrac_
Solidification limiter.
Definition: solidification.H:78
Foam::regionModels::surfaceFilmModels::solidification::maxSolidificationRate_
dimensionedScalar maxSolidificationRate_
Solidification limiter.
Definition: solidification.H:82
Foam::dictionary
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
Definition: dictionary.H:123
Foam::regionModels::surfaceFilmModels::solidification
Solidification phase change model where all film mass is converted when the local temperature > activ...
Definition: solidification.H:56
Foam::dimensioned< scalar >
Foam
Namespace for OpenFOAM.
Definition: atmBoundaryLayer.C:33
Foam::regionModels::surfaceFilmModels::solidification::T0_
scalar T0_
Temperature at which solidification starts.
Definition: solidification.H:74
Foam::GeometricField< scalar, fvPatchField, volMesh >
phaseChangeModel.H
Foam::regionModels::surfaceFilmModels::phaseChangeModel
Base class for surface film phase change models.
Definition: phaseChangeModel.H:57