LifeV
OperationSmallOuterProduct.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_OUTERPRODUCT_HPP
37 #define OPERATION_SMALL_OUTERPRODUCT_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 OperationSmallOuterProduct 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 
77 //! \cond
78 
79 template <UInt Dim1>
81 {
82 public:
83 
84  //! @name Public Types
85  //@{
86 
87  typedef MatrixSmall<Dim1, Dim1> result_Type;
88 
89  //@}
90 
91 private:
92  //! @name Constructors and destructors
93  //@{
94 
95  //! No default constructor
96  OperationSmallOuterProduct();
97 
98  //! No destructor
99  ~OperationSmallOuterProduct();
100 
101  //@}
102 };
103 
104 //! \endcond
105 
106 } // namespace LifeV
107 
108 #endif
class OperationSmallOuterProduct Class containing information about the element-wise multiplication p...
void updateInverseJacobian(const UInt &iQuadPt)
OperationSmallOuterProduct()
No default constructor.
~OperationSmallOuterProduct()
No destructor.
uint32_type UInt
generic unsigned integer (used mainly for addressing)
Definition: LifeV.hpp:191