MAST
MAST::MultiphysicsNonlinearSolverBase Class Reference

#include <multiphysics_nonlinear_solver.h>

Inheritance diagram for MAST::MultiphysicsNonlinearSolverBase:
Collaboration diagram for MAST::MultiphysicsNonlinearSolverBase:

Classes

class  PreResidualUpdate
 This class provides the interface that, if provided, will be called to update any data structures before computation of residual/Jacobian at an iterate. More...
 

Public Member Functions

 MultiphysicsNonlinearSolverBase (const libMesh::Parallel::Communicator &comm_in, const std::string &nm, unsigned int n)
 default constructor More...
 
virtual ~MultiphysicsNonlinearSolverBase ()
 destructor More...
 
const std::string name () const
 
unsigned int n_disciplines () const
 
void set_system_assembly (unsigned int i, MAST::TransientAssembly &assembly)
 method to set the n^th discipline of this multiphysics system assembly. More...
 
MAST::TransientAssemblyget_system_assembly (unsigned int i)
 
std::vector< IS > & index_sets ()
 
Mat mat ()
 
void solve ()
 solves the system using the nested matrices that uses the discipline specific solver options More...
 
void set_pre_residual_update_object (MAST::MultiphysicsNonlinearSolverBase::PreResidualUpdate &update)
 assigns the update object to this solver More...
 
MAST::MultiphysicsNonlinearSolverBase::PreResidualUpdateget_pre_residual_update_object ()
 returns a pointer to the update object More...
 
void verify_gateaux_derivatives (SNES snes)
 

Protected Attributes

const std::string _name
 name of this multiphysics solution More...
 
const unsigned int _n_disciplines
 number of disciplines More...
 
MAST::MultiphysicsNonlinearSolverBase::PreResidualUpdate_update
 object, if provided, is called to initialize the system data before computation of residual/Jacobian at an iterate More...
 
std::vector< MAST::TransientAssembly * > _discipline_assembly
 vector of assembly objects for each discipline in this multiphysics system More...
 
std::vector< IS > _is
 
std::vector< Mat > _sub_mats
 
unsigned int _n_dofs
 
Mat _mat
 
Vec _sol
 
Vec _res
 

Detailed Description

Definition at line 45 of file multiphysics_nonlinear_solver.h.

Constructor & Destructor Documentation

MAST::MultiphysicsNonlinearSolverBase::MultiphysicsNonlinearSolverBase ( const libMesh::Parallel::Communicator &  comm_in,
const std::string &  nm,
unsigned int  n 
)

default constructor

Definition at line 392 of file multiphysics_nonlinear_solver.cpp.

Here is the caller graph for this function:

MAST::MultiphysicsNonlinearSolverBase::~MultiphysicsNonlinearSolverBase ( )
virtual

destructor

Definition at line 410 of file multiphysics_nonlinear_solver.cpp.

Here is the call graph for this function:

Member Function Documentation

MAST::MultiphysicsNonlinearSolverBase::PreResidualUpdate* MAST::MultiphysicsNonlinearSolverBase::get_pre_residual_update_object ( )
inline

returns a pointer to the update object

Definition at line 171 of file multiphysics_nonlinear_solver.h.

Here is the call graph for this function:

Here is the caller graph for this function:

MAST::TransientAssembly & MAST::MultiphysicsNonlinearSolverBase::get_system_assembly ( unsigned int  i)
Returns
a reference to the n^th discipline of this multiphysics system assembly

Definition at line 435 of file multiphysics_nonlinear_solver.cpp.

Here is the caller graph for this function:

std::vector<IS>& MAST::MultiphysicsNonlinearSolverBase::index_sets ( )
inline
Returns
a reference to the petsc index sets

Definition at line 103 of file multiphysics_nonlinear_solver.h.

Here is the caller graph for this function:

Mat MAST::MultiphysicsNonlinearSolverBase::mat ( )
inline
Returns
the global Jacobian matrix context

Definition at line 112 of file multiphysics_nonlinear_solver.h.

Here is the call graph for this function:

Here is the caller graph for this function:

unsigned int MAST::MultiphysicsNonlinearSolverBase::n_disciplines ( ) const
inline
Returns
the number of systems

Definition at line 76 of file multiphysics_nonlinear_solver.h.

Here is the call graph for this function:

Here is the caller graph for this function:

const std::string MAST::MultiphysicsNonlinearSolverBase::name ( ) const
inline
Returns
the name of this solver

Definition at line 67 of file multiphysics_nonlinear_solver.h.

Here is the caller graph for this function:

void MAST::MultiphysicsNonlinearSolverBase::set_pre_residual_update_object ( MAST::MultiphysicsNonlinearSolverBase::PreResidualUpdate update)
inline

assigns the update object to this solver

Definition at line 161 of file multiphysics_nonlinear_solver.h.

Here is the caller graph for this function:

void MAST::MultiphysicsNonlinearSolverBase::set_system_assembly ( unsigned int  i,
MAST::TransientAssembly assembly 
)

method to set the n^th discipline of this multiphysics system assembly.

Definition at line 419 of file multiphysics_nonlinear_solver.cpp.

Here is the call graph for this function:

Here is the caller graph for this function:

void MAST::MultiphysicsNonlinearSolverBase::solve ( )

solves the system using the nested matrices that uses the discipline specific solver options

Definition at line 449 of file multiphysics_nonlinear_solver.cpp.

Here is the call graph for this function:

Here is the caller graph for this function:

void MAST::MultiphysicsNonlinearSolverBase::verify_gateaux_derivatives ( SNES  snes)

Definition at line 749 of file multiphysics_nonlinear_solver.cpp.

Here is the call graph for this function:

Here is the caller graph for this function:

Member Data Documentation

std::vector<MAST::TransientAssembly*> MAST::MultiphysicsNonlinearSolverBase::_discipline_assembly
protected

vector of assembly objects for each discipline in this multiphysics system

Definition at line 203 of file multiphysics_nonlinear_solver.h.

std::vector<IS> MAST::MultiphysicsNonlinearSolverBase::_is
protected

Definition at line 205 of file multiphysics_nonlinear_solver.h.

Mat MAST::MultiphysicsNonlinearSolverBase::_mat
protected

Definition at line 209 of file multiphysics_nonlinear_solver.h.

const unsigned int MAST::MultiphysicsNonlinearSolverBase::_n_disciplines
protected

number of disciplines

Definition at line 191 of file multiphysics_nonlinear_solver.h.

unsigned int MAST::MultiphysicsNonlinearSolverBase::_n_dofs
protected

Definition at line 207 of file multiphysics_nonlinear_solver.h.

const std::string MAST::MultiphysicsNonlinearSolverBase::_name
protected

name of this multiphysics solution

Definition at line 186 of file multiphysics_nonlinear_solver.h.

Vec MAST::MultiphysicsNonlinearSolverBase::_res
protected

Definition at line 210 of file multiphysics_nonlinear_solver.h.

Vec MAST::MultiphysicsNonlinearSolverBase::_sol
protected

Definition at line 210 of file multiphysics_nonlinear_solver.h.

std::vector<Mat> MAST::MultiphysicsNonlinearSolverBase::_sub_mats
protected

Definition at line 206 of file multiphysics_nonlinear_solver.h.

MAST::MultiphysicsNonlinearSolverBase::PreResidualUpdate* MAST::MultiphysicsNonlinearSolverBase::_update
protected

object, if provided, is called to initialize the system data before computation of residual/Jacobian at an iterate

Definition at line 197 of file multiphysics_nonlinear_solver.h.


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