MAST
Multidisciplinary-design Adaptation and Sensitivity Toolkit (MAST)
pk_flutter_solution.h
Go to the documentation of this file.
1 /*
2  * MAST: Multidisciplinary-design Adaptation and Sensitivity Toolkit
3  * Copyright (C) 2013-2020 Manav Bhatia and MAST authors
4  *
5  * This library is free software; you can redistribute it and/or
6  * modify it under the terms of the GNU Lesser General Public
7  * License as published by the Free Software Foundation; either
8  * version 2.1 of the License, or (at your option) any later version.
9  *
10  * This library is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13  * Lesser General Public License for more details.
14  *
15  * You should have received a copy of the GNU Lesser General Public
16  * License along with this library; if not, write to the Free Software
17  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
18  */
19 
20 #ifndef __mast__pk_flutter_solution_h__
21 #define __mast__pk_flutter_solution_h__
22 
23 
24 // C++ includes
25 #include <vector>
26 
27 
28 // MAST includes
30 
31 
32 namespace MAST {
33 
34  // Forward declerations
35  class PKFlutterSolver;
36  class LAPACK_ZGGEV;
37 
38 
41  public:
42 
45  { }
46 
47 
48  virtual ~PKFlutterSolution() {}
49 
53  virtual void init (const MAST::PKFlutterSolver& solver,
54  const Real k_red,
55  const Real v_ref,
56  const Real bref,
57  const RealMatrixX& kmat,
58  const MAST::LAPACK_ZGGEV& eig_sol);
59 
67  virtual void sort(const MAST::FlutterSolutionBase& sol);
68 
69 
70 
74  virtual void print(std::ostream& output);
75 
76 
77  protected:
78 
83 
88 
93 
94  };
95 }
96 
97 #endif // __mast__pk_flutter_solution_h__
98 
virtual void sort(const MAST::FlutterSolutionBase &sol)
sort this root with respect to the given solution from a previous eigen solution. ...
RealMatrixX _stiff_mat
structural stiffness matrix
Real _k_red
value of reduced frequency for this solution
libMesh::Real Real
Matrix< Real, Dynamic, Dynamic > RealMatrixX
Matrix< Complex, Dynamic, Dynamic > ComplexMatrixX
virtual void print(std::ostream &output)
prints the data and modes from this solution
ComplexMatrixX _Amat
Matrix used for scaling of eigenvectors, and sorting of roots.
virtual void init(const MAST::PKFlutterSolver &solver, const Real k_red, const Real v_ref, const Real bref, const RealMatrixX &kmat, const MAST::LAPACK_ZGGEV &eig_sol)
initializes the flutter solution from an eigensolution