LifeV
OperationSmallEmult.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 element-wise multiplication operation between Small* classes.
31 
32  @date 08/2012
33  @author Samuel Quinodoz <samuel.quinodoz@epfl.ch>
34  */
35 
36 #ifndef OPERATION_SMALL_EMULT_HPP
37 #define OPERATION_SMALL_EMULT_HPP
38 
39 #include <lifev/core/LifeV.hpp>
40 
41 #include <lifev/core/array/VectorSmall.hpp>
42 #include <lifev/core/array/MatrixSmall.hpp>
43 
44 // LifeV namespace.
45 namespace LifeV
46 {
47 //! class OperationSmallEmult Class containing information about the element-wise multiplication product operation between Small* classes.
48 /*!
49  @author Samuel Quinodoz <samuel.quinodoz@epfl.ch>
50 
51  This class only contains information that can be useful in a templated framework (such as the
52  one for assembling the algebraic systems via expressions).
53 
54  It cannot be instanciated, neither the generic definition nor the specializations (private constructors
55  and destructor only).
56 
57  The only information stored in this class is the type of the result, see LifeV::OperationSmallAddition.
58 */
59 
60 template <typename LeftOperand, typename RightOperand>
62 {
63 private:
64  //! @name Constructors and destructors
65  //@{
66 
67  //! No default constructor
69 
70  //! No destructor
72 
73  //@}
74 };
75 
76 //! \cond
77 
78 template <UInt Dim1, UInt Dim2>
79 class OperationSmallEmult< MatrixSmall<Dim1, Dim2> , MatrixSmall<Dim1, Dim2> >
80 {
81 public:
82 
83  //! @name Public Types
84  //@{
85 
86  typedef MatrixSmall<Dim1, Dim2> result_Type;
87 
88  //@}
89 
90 private:
91  //! @name Constructors and destructors
92  //@{
93 
94  //! No default constructor
95  OperationSmallEmult();
96 
97  //! No destructor
98  ~OperationSmallEmult();
99 
100  //@}
101 };
102 
103 //! \endcond
104 
105 } // namespace LifeV
106 
107 #endif
class OperationSmallEmult Class containing information about the element-wise multiplication product ...
void updateInverseJacobian(const UInt &iQuadPt)
~OperationSmallEmult()
No destructor.
OperationSmallEmult()
No default constructor.
uint32_type UInt
generic unsigned integer (used mainly for addressing)
Definition: LifeV.hpp:191