20 #ifndef __mast__eigenproblem_assembly__ 21 #define __mast__eigenproblem_assembly__ 27 #include "libmesh/sparse_matrix.h" 32 class EigenproblemAssemblyElemOperations;
60 libMesh::SparseMatrix<Real>&
A_matrix();
68 libMesh::SparseMatrix<Real>&
B_matrix();
76 libMesh::SparseMatrix<Real>* B);
89 libMesh::SparseMatrix<Real>* sensitivity_A,
90 libMesh::SparseMatrix<Real>* sensitivity_B);
101 bool if_sens =
false);
124 const libMesh::NumericVector<Real>&
125 base_sol(
bool if_sens =
false)
const;
133 libMesh::NumericVector<Real>&
base_sol(
bool if_sens =
false);
156 #endif // __mast__eigenproblem_assembly__
virtual void eigenproblem_assemble(libMesh::SparseMatrix< Real > *A, libMesh::SparseMatrix< Real > *B)
assembles the matrices for eigenproblem depending on the analysis type
const libMesh::NumericVector< Real > & base_sol(bool if_sens=false) const
virtual ~EigenproblemAssembly()
destructor resets the association with the eigen system from this assembly object ...
void set_base_solution(const libMesh::NumericVector< Real > &sol, bool if_sens=false)
if the eigenproblem is defined about a non-zero base solution, then this method provides the object w...
void clear_base_solution(bool if_sens=false)
Clears the pointer to the solution.
virtual bool eigenproblem_sensitivity_assemble(const MAST::FunctionBase &f, libMesh::SparseMatrix< Real > *sensitivity_A, libMesh::SparseMatrix< Real > *sensitivity_B)
Assembly function.
Assembles the system of equations for an eigenproblem of type .
const libMesh::NumericVector< Real > * _base_sol
base solution about which this eigenproblem is defined.
const libMesh::NumericVector< Real > * _base_sol_sensitivity
sensitivity of base solution may be needed for sensitivity analysis.
libMesh::SparseMatrix< Real > & A_matrix()
EigenproblemAssembly()
constructor associates the eigen system with this assembly object
bool if_linearized_about_nonzero_solution() const
libMesh::SparseMatrix< Real > & B_matrix()