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

Detailed Description

Definition at line 45 of file multiphysics_nonlinear_solver.h.

#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...
 
MAST::MultiphysicsNonlinearSolverBase::PreResidualUpdateget_pre_residual_update_object ()
 returns a pointer to the update object More...
 
MAST::TransientAssemblyget_system_assembly (unsigned int i)
 
std::vector< IS > & index_sets ()
 
Mat mat ()
 
unsigned int n_disciplines () const
 
const std::string name () const
 
void set_pre_residual_update_object (MAST::MultiphysicsNonlinearSolverBase::PreResidualUpdate &update)
 assigns the update object to this solver More...
 
void set_system_assembly (unsigned int i, MAST::TransientAssembly &assembly)
 method to set the n^th discipline of this multiphysics system assembly. More...
 
void solve ()
 solves the system using the nested matrices that uses the discipline specific solver options More...
 
void verify_gateaux_derivatives (SNES snes)
 

Protected Attributes

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

Constructor & Destructor Documentation

◆ MultiphysicsNonlinearSolverBase()

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

default constructor

Definition at line 393 of file multiphysics_nonlinear_solver.cpp.

◆ ~MultiphysicsNonlinearSolverBase()

MAST::MultiphysicsNonlinearSolverBase::~MultiphysicsNonlinearSolverBase ( )
virtual

destructor

Definition at line 411 of file multiphysics_nonlinear_solver.cpp.

Member Function Documentation

◆ get_pre_residual_update_object()

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.

◆ get_system_assembly()

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 436 of file multiphysics_nonlinear_solver.cpp.

◆ index_sets()

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.

◆ mat()

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

Definition at line 112 of file multiphysics_nonlinear_solver.h.

◆ n_disciplines()

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

Definition at line 76 of file multiphysics_nonlinear_solver.h.

◆ name()

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

Definition at line 67 of file multiphysics_nonlinear_solver.h.

◆ set_pre_residual_update_object()

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.

◆ set_system_assembly()

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 420 of file multiphysics_nonlinear_solver.cpp.

◆ solve()

void MAST::MultiphysicsNonlinearSolverBase::solve ( )

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

Definition at line 450 of file multiphysics_nonlinear_solver.cpp.

◆ verify_gateaux_derivatives()

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

Definition at line 750 of file multiphysics_nonlinear_solver.cpp.

Member Data Documentation

◆ _discipline_assembly

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.

◆ _is

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

Definition at line 205 of file multiphysics_nonlinear_solver.h.

◆ _mat

Mat MAST::MultiphysicsNonlinearSolverBase::_mat
protected

Definition at line 209 of file multiphysics_nonlinear_solver.h.

◆ _n_disciplines

const unsigned int MAST::MultiphysicsNonlinearSolverBase::_n_disciplines
protected

number of disciplines

Definition at line 191 of file multiphysics_nonlinear_solver.h.

◆ _n_dofs

unsigned int MAST::MultiphysicsNonlinearSolverBase::_n_dofs
protected

Definition at line 207 of file multiphysics_nonlinear_solver.h.

◆ _name

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

name of this multiphysics solution

Definition at line 186 of file multiphysics_nonlinear_solver.h.

◆ _res

Vec MAST::MultiphysicsNonlinearSolverBase::_res
protected

Definition at line 210 of file multiphysics_nonlinear_solver.h.

◆ _sol

Vec MAST::MultiphysicsNonlinearSolverBase::_sol
protected

Definition at line 210 of file multiphysics_nonlinear_solver.h.

◆ _sub_mats

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

Definition at line 206 of file multiphysics_nonlinear_solver.h.

◆ _update

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: