20 #ifndef __mast__flutter_solver_base_h__ 21 #define __mast__flutter_solver_base_h__ 34 #include "libmesh/numeric_vector.h" 43 class FlutterRootBase;
44 class FlutterSolutionBase;
45 class FlutterRootCrossoverBase;
46 class StructuralFluidInteractionAssembly;
79 virtual const libMesh::NumericVector<Real>&
86 virtual const libMesh::NumericVector<Real>&
107 virtual void clear();
119 void initialize(std::vector<libMesh::NumericVector<Real>*>& basis);
129 _output->open(nm.c_str(), std::ofstream::out);
177 #endif // __mast__flutter_solver_base_h__ void set_output_file(const std::string &nm)
virtual const libMesh::NumericVector< Real > & solution() const =0
virtual void print_crossover_points()=0
Prints the crossover points output.
std::vector< libMesh::NumericVector< Real > * > * _basis_vectors
basis vector used to define the reduced order model
void attach_steady_solver(MAST::FlutterSolverBase::SteadySolver &solver)
attaches the steady solution object
virtual void print_sorted_roots()=0
Prints the sorted roots to the output.
MAST::FlutterSolverBase::SteadySolver * _steady_solver
object provides the steady state solution.
void attach_assembly(MAST::StructuralFluidInteractionAssembly &assembly)
attaches the assembly object to this solver.
abstract class defines the interface to provide the steady-state solution
std::ofstream * _output
file to which the result will be written
FlutterSolverBase()
defalut constructor
void initialize(std::vector< libMesh::NumericVector< Real > * > &basis)
initializes the data structres for a flutter solution.
virtual void clear_assembly_object()
clears the assembly object
virtual ~FlutterSolverBase()
virtual const libMesh::NumericVector< Real > & solve()=0
solves for the steady state solution, and
MAST::StructuralFluidInteractionAssembly * _assembly
structural assembly that provides the assembly of the system matrices.
virtual void clear()
clears the solution and other data from this solver