NLMech  0.1.0
massMatrix.h
1 // Copyright (c) 2019 Prashant K. Jha
3 // Copyright (c) 2019 Patrick Diehl
4 //
5 // Distributed under the Boost Software License, Version 1.0. (See accompanying
6 // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
8 
9 #ifndef FE_MASSMATRIX_H
10 #define FE_MASSMATRIX_H
11 
12 #include "util/matrixBlaze.h" // definition of SymMatrixFij
13 
14 // forward declaration
15 namespace inp {
16 struct MassMatrixDeck;
17 }
18 
19 namespace fe {
20 
37 class MassMatrix {
38 
39 public:
44  explicit MassMatrix(inp::MassMatrixDeck *deck);
45 
55  std::string printStr(int nt = 0, int lvl = 0) const;
56 
64  void print(int nt = 0, int lvl = 0) const { std::cout << printStr(nt, lvl); };
65 
66 private:
73 
75  std::vector<double> d_invMDiag;
76 
82 };
83 
84 } // namespace fe
85 
86 #endif // FE_MASSMATRIX_H
A class for mass matrix.
Definition: massMatrix.h:37
void print(int nt=0, int lvl=0) const
Prints the information about the instance of the object.
Definition: massMatrix.h:64
std::string printStr(int nt=0, int lvl=0) const
Returns the string containing information about the instance of the object.
Definition: massMatrix.cpp:35
MassMatrix(inp::MassMatrixDeck *deck)
Constructor.
Definition: massMatrix.cpp:17
inp::MassMatrixDeck * d_massMatrixDeck_p
Mass matrix deck.
Definition: massMatrix.h:64
std::vector< double > d_invMDiag
Inverse of a diagonal mass matrix stored as a vector.
Definition: massMatrix.h:75
util::SymMatrixFij d_invM
Inverse of the exact mass matrix.
Definition: massMatrix.h:81
Collection of methods and data related to finite element and mesh.
Definition: baseElem.h:15
Collection of methods and database related to input.
Definition: main.cpp:21
blaze::SymmetricMatrix< blaze::DynamicMatrix< float > > SymMatrixFij
Blaze: Definition of n x n symmetric matrix.
Definition: matrixBlaze.h:37
Structure to read and store mass matrix related input data.
Definition: massMatrixDeck.h:23