MAST
Multidisciplinary-design Adaptation and Sensitivity Toolkit (MAST)
MAST::ComplexSolverBase Class Reference

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.

#include <complex_solver_base.h>

Collaboration diagram for MAST::ComplexSolverBase:

Public Member Functions

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

Public Attributes

unsigned int max_iters
 
Real tol
 

Protected Attributes

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

Constructor & Destructor Documentation

◆ ComplexSolverBase()

MAST::ComplexSolverBase::ComplexSolverBase ( )

default constructor

Definition at line 40 of file complex_solver_base.cpp.

◆ ~ComplexSolverBase()

MAST::ComplexSolverBase::~ComplexSolverBase ( )
virtual

destructor

Definition at line 49 of file complex_solver_base.cpp.

Member Function Documentation

◆ clear_assembly()

void MAST::ComplexSolverBase::clear_assembly ( )

clears the assembly object from this solver

Definition at line 66 of file complex_solver_base.cpp.

◆ imag_solution() [1/2]

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 145 of file complex_solver_base.cpp.

◆ imag_solution() [2/2]

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 165 of file complex_solver_base.cpp.

◆ real_solution() [1/2]

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 104 of file complex_solver_base.cpp.

◆ real_solution() [2/2]

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 125 of file complex_solver_base.cpp.

◆ set_assembly()

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

sets the assembly object for this solver

Definition at line 56 of file complex_solver_base.cpp.

◆ solve_block_matrix()

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 334 of file complex_solver_base.cpp.

◆ solve_pc_fieldsplit()

void MAST::ComplexSolverBase::solve_pc_fieldsplit ( )
virtual

solves the complex system of equations using PCFieldSplit

Definition at line 188 of file complex_solver_base.cpp.

Member Data Documentation

◆ _assembly

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.

◆ max_iters

unsigned int MAST::ComplexSolverBase::max_iters

Definition at line 123 of file complex_solver_base.h.

◆ tol

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: