fixed writing out entries in advective bc
[OpenFOAM-1.6-ext.git] / src / lagrangian / molecularDynamics / potential / tetherPotential / tetherPotentialList / tetherPotentialList.H
blob2efd1148badb8b257b6ad7edca361bc1d723e7e5
1 /*---------------------------------------------------------------------------*\
2   =========                 |
3   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
4    \\    /   O peration     |
5     \\  /    A nd           | Copyright held by original author
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 Class
26     Foam::tetherPotentialList
28 Description
30 SourceFiles
31     tetherPotentialList.C
33 \*---------------------------------------------------------------------------*/
35 #ifndef tetherPotentialList_H
36 #define tetherPotentialList_H
38 #include "ListOps.H"
39 #include "PtrList.H"
40 #include "word.H"
41 #include "tetherPotential.H"
43 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
45 namespace Foam
48 /*---------------------------------------------------------------------------*\
49                            Class tetherPotentialList Declaration
50 \*---------------------------------------------------------------------------*/
52 class tetherPotentialList
54     public PtrList<tetherPotential>
56     // Private data
58         List<label> idMap_;
61     // Private Member Functions
63         inline label tetherPotentialIndex
64         (
65             const label a
66         ) const;
68         void readTetherPotentialDict
69         (
70             const List<word>& siteIdList,
71             const dictionary& tetherPotentialDict,
72             const List<word>& tetherSiteIdList
73         );
75         //- Disallow default bitwise assignment
76         void operator=(const tetherPotentialList&);
78         //- Disallow default bitwise copy construct
79         tetherPotentialList(const tetherPotentialList&);
82 public:
84     // Constructors
86         tetherPotentialList();
88         //- Construct from siteIdList and potental dictionaries
89         tetherPotentialList
90         (
91             const List<word>& siteIdList,
92             const dictionary& tetherPotentialDict,
93             const List<word>& tetherSiteIdList
94         );
97     // Destructor
99         ~tetherPotentialList();
102     // Member Functions
104         void buildPotentials
105         (
106             const List<word>& siteIdList,
107             const dictionary& tetherPotentialDict,
108             const List<word>& tetherSiteIdList
109         );
111         // Access
113             inline const List<word>& idMap() const;
115             const tetherPotential& tetherPotentialFunction(const label a) const;
117             vector force(const label a, const vector rIT) const;
119             scalar energy (const label a, const vector rIT) const;
123 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
125 } // End namespace Foam
127 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
129 #include "tetherPotentialListI.H"
131 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
133 #endif
135 // ************************************************************************* //