opm-simulators
elasticityindices.hpp
1 // -*- mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
2 // vi: set et ts=4 sw=4 sts=4:
3 /*
4  Copyright 2025 NORCE AS
5 
6  This file is part of the Open Porous Media project (OPM).
7 
8  OPM is free software: you can redistribute it and/or modify
9  it under the terms of the GNU General Public License as published by
10  the Free Software Foundation, either version 2 of the License, or
11  (at your option) any later version.
12 
13  OPM is distributed in the hope that it will be useful,
14  but WITHOUT ANY WARRANTY; without even the implied warranty of
15  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16  GNU General Public License for more details.
17 
18  You should have received a copy of the GNU General Public License
19  along with OPM. If not, see <http://www.gnu.org/licenses/>.
20 
21  Consult the COPYING file in the top-level source directory of this
22  module for the precise wording of the license and the list of
23  copyright holders.
24 */
25 #ifndef ELASTICITY_INDICES_HPP
26 #define ELASTICITY_INDICES_HPP
27 
28 
29 namespace Opm {
30 
31 template <unsigned PVOffset>
33 {
34  // ///
35  // Primary variable indices
36  // ///
37  // Starting index of displacement vector
38  static constexpr int disp0Idx = PVOffset + 0;
39 
40  // Starting index of rotation vector
41  static constexpr int rot0Idx = disp0Idx + 3;
42 
43  // Index of solid pressure
44  static constexpr int solidPres0Idx = rot0Idx + 3;
45 
46  // ///
47  // Equation indices
48  // ///
49  // Starting index of all equations, in particular the stress equations
50  static constexpr int conti0EqIdx = PVOffset + 0;
51 
52  // Starting index of rotation equations
53  static constexpr int contiRotEqIdx = conti0EqIdx + 3;
54 
55  // Starting index of solid pressure equation
56  static constexpr int contiSolidPresEqIdx = contiRotEqIdx + 3;
57 
58  // Total number of equations/primary variables
59  static constexpr int numEq = 7;
60 }; // struct ElasticityIndices
61 
62 } // namespace Opm
63 
64 #endif
Definition: elasticityindices.hpp:32
This file contains a set of helper functions used by VFPProd / VFPInj.
Definition: blackoilbioeffectsmodules.hh:45