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.