48     libmesh_assert(!
_roots.size());
    62     &den               = eig_sol.
betas();
    65     unsigned int nvals = (int)
_Bmat.rows();
    68     for (
unsigned int i=0; i<nvals; i++) {
    91     std::vector<MAST::FlutterRootBase*>::const_iterator
    95     for ( ; it != end; it++) {
    98         if ((**it).root.imag() >= 0. &&
    99             (**it).root.real() >= tol)
   123     std::vector<MAST::FlutterRootBase*>::const_iterator
   127     for ( ; it != end; it++) {
   129         if ((**it).root.imag() >= 0.) {
   134             else if ((**it).root.real() >= max_g->root.real())
   142             if ((**it).root.real() >= tol &&
   147                 else if ( (**it).V <= unstable->
V )
   168     const unsigned int nvals = this->
n_roots();
   169     libmesh_assert_equal_to(nvals, sol.
n_roots());
   173     for (
unsigned int i=0; i<nvals-1; i++)
   178         unsigned int max_val_root = nvals-1;
   179         for (
unsigned int j=i; j<nvals; j++) {
   192             if (abs(val) > max_val) {
   199         if (i != max_val_root)
   213     libmesh_assert(this->
n_roots() > 0);
   215     const unsigned int nvals = this->
n_roots();
   216     unsigned int n_participation_vals =
   218     libmesh_assert(nvals);
   221     output << 
" Flutter Root " << std::endl;
   225     << std::setw(5) << 
"#"   226     << std::setw(15) << 
"V_ref"   227     << std::setw(15) << 
"Re"   228     << std::setw(15) << 
"Im"   229     << std::setw(3)  << 
" | ";
   232     for (
unsigned int i=0; i<n_participation_vals; i++)
   234         << std::setw(2) << 
" "   235         << std::setw(5) << 
"Mode "   237         << std::setw(2) << 
" ";
   240     for (
unsigned int i=0; i<nvals; i++)
   242         << std::setw(10) << 
"|         "   243         << std::setw(5) << 
"Mode "   245         << std::setw(10) << 
"         |";
   248     for (
unsigned int i=0; i<nvals; i++)
   255         << std::setw(15) << root.
V   256         << std::setw(15) << std::real(root.
root)
   257         << std::setw(15) << std::imag(root.
root)
   258         << std::setw(3)  << 
" | ";
   261         for (
unsigned int j=0; j<n_participation_vals; j++)
   264             << std::setw(2) << 
" ";
   267         for (
unsigned int j=0; j<nvals; j++)
   270             << std::setw(2) << 
"| "   272             << std::setw(2) << 
" "   274             << std::setw(2) << 
" |";
 ComplexVectorX eig_vec_left
std::vector< MAST::FlutterRootBase * > _roots
virtual void print(std::ostream &output)
prints the data and modes from this solution 
unsigned int n_roots() const
number of roots in this solution 
const RealMatrixX & A() const
const RealVectorX & betas() const
const ComplexMatrixX & left_eigenvectors() const
void init(const Real v_ref_val, const Complex num, const Complex den, const RealMatrixX &Bmat, const ComplexVectorX &evec_right, const ComplexVectorX &evec_left)
initializes the data 
Matrix< Complex, Dynamic, 1 > ComplexVectorX
unsigned int n_unstable_roots_in_upper_complex_half(Real tol) const
number of unstable roots in this solution. 
TimeDomainFlutterSolution()
virtual ~TimeDomainFlutterSolution()
delete the flutter root objects 
void init(const MAST::TimeDomainFlutterSolver &solver, const Real v_ref, const MAST::LAPACK_DGGEV &eig_sol)
initializes the root 
Matrix< Complex, Dynamic, Dynamic > ComplexMatrixX
const MAST::FlutterRootBase & get_root(const unsigned int i) const
MAST::FlutterRootBase * get_critical_root(Real tol)
Matrix< Real, Dynamic, 1 > RealVectorX
RealMatrixX _Amat
Matrix used for scaling of eigenvectors, and sorting of roots. 
Real _ref_val
Reference value of the sweeping parameter for which this solution was obtained. 
const ComplexMatrixX & right_eigenvectors() const
virtual void sort(const MAST::FlutterSolutionBase &sol)
sort this root with respect to the given solution from a previous eigen solution. ...
const RealMatrixX & B() const
This implements a solver for a single parameter instability problem, for example a flutter solver whe...
RealVectorX modal_participation
ComplexVectorX eig_vec_right
right and left eigenvevtors 
const ComplexVectorX & alphas() const