fvDOM updates
[OpenFOAM-1.6.x.git] / src / thermophysicalModels / radiation / radiationModel / fvDOM / absorptionCoeffs / absorptionCoeffs.C
blob041d0f7b007d701294ddf20723f5bb4ae6925b01
1 /*---------------------------------------------------------------------------*\
2   =========                 |
3   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
4    \\    /   O peration     |
5     \\  /    A nd           | Copyright (C) 2008-2009 OpenCFD Ltd.
6      \\/     M anipulation  |
7 -------------------------------------------------------------------------------
8 License
9     This file is part of OpenFOAM.
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 the
13     Free Software Foundation; either version 2 of the License, or (at your
14     option) any later version.
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.
21     You should have received a copy of the GNU General Public License
22     along with OpenFOAM; if not, write to the Free Software Foundation,
23     Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
25 \*---------------------------------------------------------------------------*/
27 #include "absorptionCoeffs.H"
28 #include "IOstreams.H"
30 // * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
32 Foam::radiation::absorptionCoeffs::absorptionCoeffs(Istream& is)
34    Tcommon_(readScalar(is)),
35    Tlow_(readScalar(is)),
36    Thigh_(readScalar(is)),
37    invTemp_(readBool(is))
39     for (label coefLabel=0; absorptionCoeffs::nCoeffs_; coefLabel++)
40     {
41         is >> highACoeffs_[coefLabel];
42     }
44     for (label coefLabel=0; absorptionCoeffs::nCoeffs_; coefLabel++)
45     {
46         is >> lowACoeffs_[coefLabel];
47     }
51 // * * * * * * * * * * * * * * * * Destructor  * * * * * * * * * * * * * * //
53 Foam::radiation::absorptionCoeffs::~absorptionCoeffs()
57 // * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
59 void Foam::radiation::absorptionCoeffs::checkT(const scalar T) const
61     if (T < Tlow_ || T > Thigh_)
62     {
63         FatalErrorIn
64         (
65             "absorptionCoeffs::checkT(const scalar T) const"
66         )   << "attempt to use absCoeff out of temperature range:" << nl
67             << "    " << Tlow_ << " -> " << Thigh_ << ";  T = " << T
68             << nl << abort(FatalError);
69     }
73 const Foam::radiation::absorptionCoeffs::coeffArray&
74 Foam::radiation::absorptionCoeffs::coeffs
76     const scalar T
77 ) const
79     checkT(T);
81     if (T < Tcommon_)
82     {
83         return lowACoeffs_;
84     }
85     else
86     {
87         return highACoeffs_;
88     }
92 void Foam::radiation::absorptionCoeffs::initialise(Istream&)
94     absorptionCoeffs(Istream);
98 void Foam::radiation::absorptionCoeffs::initialise(const dictionary& dict)
100     dict.lookup("Tcommon") >> Tcommon_;
101     dict.lookup("Tlow") >> Tlow_;
102     dict.lookup("Thigh") >> Thigh_;
103     dict.lookup("invTemp") >> invTemp_;
105     dict.lookup("loTcoeffs") >> lowACoeffs_;
106     dict.lookup("hiTcoeffs") >> highACoeffs_;
110 // ************************************************************************* //