LifeV
OperationSmallDivision.hpp
Go to the documentation of this file.
1 //@HEADER
2 /*
3 *******************************************************************************
4 
5  Copyright (C) 2004, 2005, 2007 EPFL, Politecnico di Milano, INRIA
6  Copyright (C) 2010 EPFL, Politecnico di Milano, Emory UNiversity
7 
8  This file is part of the LifeV library
9 
10  LifeV is free software; you can redistribute it and/or modify
11  it under the terms of the GNU Lesser General Public License as published by
12  the Free Software Foundation; either version 3 of the License, or
13  (at your option) any later version.
14 
15  LifeV is distributed in the hope that it will be useful,
16  but WITHOUT ANY WARRANTY; without even the implied warranty of
17  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
18  Lesser General Public License for more details.
19 
20  You should have received a copy of the GNU Lesser General Public
21  License along with this library; if not, see <http://www.gnu.org/licenses/>
22 
23 
24 *******************************************************************************
25 */
26 //@HEADER
27 
28 /*!
29  * @file
30  @brief This file contains information about the division operation between *Small classes.
31 
32  @date 07/2011
33  @author Samuel Quinodoz <samuel.quinodoz@epfl.ch>
34  */
35 
36 #ifndef OPERATION_SMALL_DIVISION_HPP
37 #define OPERATION_SMALL_DIVISION_HPP
38 
39 #include <lifev/core/LifeV.hpp>
40 
41 #include <lifev/core/array/VectorSmall.hpp>
42 
43 namespace LifeV
44 {
45 //! class OperationSmallDivision Class containing information about the division operation between *Small classes.
46 
47 /*!
48  @author Samuel Quinodoz <samuel.quinodoz@epfl.ch>
49 
50  This class only contains information that can be usefull in a templated framework (such as the
51  one for assembling the algebraic systems via expressions).
52 
53  It cannot be instanciated, neither the generic definition nor the specializations (private constructors
54  and destructor only).
55 
56  The only information stored in this class is the type of the result, see LifeV::OperationSmallAddition.
57 */
58 
59 template <typename LeftOperand, typename RightOperand>
61 {
62 private:
63  //! @name Constructors and destructors
64  //@{
65 
66  //! No default constructor
68 
69  //! No destructor
71 
72  //@}
73 };
74 
75 //! \cond
76 
77 template <>
79 {
80 public:
81 
82  //! @name Public Types
83  //@{
84 
85  typedef Real result_Type;
86 
87  //@}
88 
89 private:
90  //! @name Constructors and destructors
91  //@{
92 
93  //! No default constructor
94  OperationSmallDivision();
95 
96  //! No destructor
97  ~OperationSmallDivision();
98 
99  //@}
100 };
101 
102 
103 template <UInt Size>
104 class OperationSmallDivision< VectorSmall<Size> , Real >
105 {
106 public:
107 
108  //! @name Public Types
109  //@{
110 
111  typedef VectorSmall<Size> result_Type;
112 
113  //@}
114 
115 private:
116  //! @name Constructors and destructors
117  //@{
118 
119  //! No default constructor
120  OperationSmallDivision();
121 
122  //! No destructor
123  ~OperationSmallDivision();
124 
125  //@}
126 };
127 
128 //! \endcond
129 
130 } // namespace LifeV
131 
132 
133 #endif
~OperationSmallDivision()
No destructor.
void updateInverseJacobian(const UInt &iQuadPt)
OperationSmallDivision()
No default constructor.
double Real
Generic real data.
Definition: LifeV.hpp:175
class OperationSmallDivision Class containing information about the division operation between *Small...
uint32_type UInt
generic unsigned integer (used mainly for addressing)
Definition: LifeV.hpp:191