MAST
MAST::ComplexSolverBase Class Reference

uses a Gauss-Siedel method to solve the complex system of equations for a system. More...

#include <complex_solver_base.h>

Collaboration diagram for MAST::ComplexSolverBase:

Public Member Functions

 ComplexSolverBase ()
 default constructor More...
 
virtual ~ComplexSolverBase ()
 destructor More...
 
void set_assembly (MAST::ComplexAssemblyBase &assemble)
 sets the assembly object for this solver More...
 
void clear_assembly ()
 clears the assembly object from this solver More...
 
virtual void solve_pc_fieldsplit ()
 solves the complex system of equations using PCFieldSplit More...
 
virtual void solve_block_matrix (MAST::Parameter *p=nullptr)
 solves the complex system of equations using block matrices. More...
 
libMesh::NumericVector< Real > & real_solution (bool if_sens=false)
 
const libMesh::NumericVector< Real > & real_solution (bool if_sens=false) const
 
libMesh::NumericVector< Real > & imag_solution (bool if_sens=false)
 
const libMesh::NumericVector< Real > & imag_solution (bool if_sens=false) const
 

Public Attributes

Real tol
 
unsigned int max_iters
 

Protected Attributes

MAST::ComplexAssemblyBase_assembly
 Associated ComplexAssembly object that provides the element level quantities. More...
 

Detailed Description

uses a Gauss-Siedel method to solve the complex system of equations for a system.

Definition at line 42 of file complex_solver_base.h.

Constructor & Destructor Documentation

MAST::ComplexSolverBase::ComplexSolverBase ( )

default constructor

Definition at line 39 of file complex_solver_base.cpp.

MAST::ComplexSolverBase::~ComplexSolverBase ( )
virtual

destructor

Definition at line 48 of file complex_solver_base.cpp.

Member Function Documentation

void MAST::ComplexSolverBase::clear_assembly ( )

clears the assembly object from this solver

Definition at line 65 of file complex_solver_base.cpp.

Here is the call graph for this function:

Here is the caller graph for this function:

libMesh::NumericVector< Real > & MAST::ComplexSolverBase::imag_solution ( bool  if_sens = false)
Returns
a reference to the imaginary part of the solution. If if_sens is true, the the sensitivity vector is returned. Note, that the sensitivity can be requested only after a sensitivity solve.

Definition at line 144 of file complex_solver_base.cpp.

Here is the call graph for this function:

Here is the caller graph for this function:

const libMesh::NumericVector< Real > & MAST::ComplexSolverBase::imag_solution ( bool  if_sens = false) const
Returns
a constant reference to the imaginary part of the solution. If if_sens is true, the the sensitivity vector is returned. Note, that the sensitivity can be requested only after a sensitivity solve.

Definition at line 164 of file complex_solver_base.cpp.

Here is the call graph for this function:

libMesh::NumericVector< Real > & MAST::ComplexSolverBase::real_solution ( bool  if_sens = false)
Returns
a reference to the real part of the solution. If if_sens is true, the the sensitivity vector is returned. Note, that the sensitivity can be requested only after a sensitivity solve.

Definition at line 103 of file complex_solver_base.cpp.

Here is the call graph for this function:

Here is the caller graph for this function:

const libMesh::NumericVector< Real > & MAST::ComplexSolverBase::real_solution ( bool  if_sens = false) const
Returns
a constant reference to the real part of the solution. If if_sens is true, the the sensitivity vector is returned. Note, that the sensitivity can be requested only after a sensitivity solve.

Definition at line 124 of file complex_solver_base.cpp.

Here is the call graph for this function:

void MAST::ComplexSolverBase::set_assembly ( MAST::ComplexAssemblyBase assemble)

sets the assembly object for this solver

Definition at line 55 of file complex_solver_base.cpp.

Here is the caller graph for this function:

void MAST::ComplexSolverBase::solve_block_matrix ( MAST::Parameter p = nullptr)
virtual

solves the complex system of equations using block matrices.

If no argument is specified for p, then the system is solved. Otherwise, the sensitivity of the system is solved with respect to the parameter p

Definition at line 333 of file complex_solver_base.cpp.

Here is the call graph for this function:

Here is the caller graph for this function:

void MAST::ComplexSolverBase::solve_pc_fieldsplit ( )
virtual

solves the complex system of equations using PCFieldSplit

Definition at line 187 of file complex_solver_base.cpp.

Here is the call graph for this function:

Member Data Documentation

MAST::ComplexAssemblyBase* MAST::ComplexSolverBase::_assembly
protected

Associated ComplexAssembly object that provides the element level quantities.

Definition at line 132 of file complex_solver_base.h.

unsigned int MAST::ComplexSolverBase::max_iters

Definition at line 123 of file complex_solver_base.h.

Real MAST::ComplexSolverBase::tol

Definition at line 121 of file complex_solver_base.h.


The documentation for this class was generated from the following files: