20 #ifndef __mast__complex_solver_base_h__ 21 #define __mast__complex_solver_base_h__ 27 #include "libmesh/numeric_vector.h" 34 class ComplexAssemblyBase;
91 libMesh::NumericVector<Real>&
real_solution(
bool if_sens=
false);
100 const libMesh::NumericVector<Real>&
real_solution(
bool if_sens=
false)
const;
109 libMesh::NumericVector<Real>&
imag_solution(
bool if_sens=
false);
118 const libMesh::NumericVector<Real>&
imag_solution(
bool if_sens=
false)
const;
140 #endif // __mast__complex_solver_base_h__ void set_assembly(MAST::ComplexAssemblyBase &assemble)
sets the assembly object for this solver
uses a Gauss-Siedel method to solve the complex system of equations for a system. ...
This is a scalar function whose value can be changed and one that can be used as a design variable in...
libMesh::NumericVector< Real > & imag_solution(bool if_sens=false)
void clear_assembly()
clears the assembly object from this solver
virtual void solve_pc_fieldsplit()
solves the complex system of equations using PCFieldSplit
virtual void solve_block_matrix(MAST::Parameter *p=nullptr)
solves the complex system of equations using block matrices.
virtual ~ComplexSolverBase()
destructor
ComplexSolverBase()
default constructor
libMesh::NumericVector< Real > & real_solution(bool if_sens=false)
MAST::ComplexAssemblyBase * _assembly
Associated ComplexAssembly object that provides the element level quantities.