DOLFIN
DOLFIN C++ interface
Loading...
Searching...
No Matches
dolfin::SystemAssembler Class Reference

#include <SystemAssembler.h>

Inheritance diagram for dolfin::SystemAssembler:
Collaboration diagram for dolfin::SystemAssembler:

Public Member Functions

 SystemAssembler (std::shared_ptr< const Form > a, std::shared_ptr< const Form > L, std::vector< std::shared_ptr< const DirichletBC > > bcs)
 Constructor.
 
 SystemAssembler (std::vector< std::shared_ptr< const Form > > a, std::vector< std::shared_ptr< const Form > > L, std::vector< std::vector< std::shared_ptr< const DirichletBC > > > bcs)
 
 SystemAssembler (std::vector< std::shared_ptr< const Form > > a, std::vector< std::shared_ptr< const Form > > L, std::vector< std::shared_ptr< const DirichletBC > > bcs0, std::vector< std::shared_ptr< const DirichletBC > > bcs1)
 
void assemble (GenericMatrix &A, GenericVector &b)
 Assemble system (A, b)
 
void assemble (GenericMatrix &A)
 Assemble matrix A.
 
void assemble (GenericVector &b)
 Assemble vector b.
 
void assemble (GenericMatrix &A, GenericVector &b, const GenericVector &x0)
 
void assemble (GenericVector &b, const GenericVector &x0)
 
void assemble (std::vector< std::shared_ptr< GenericMatrix > > A, std::vector< std::shared_ptr< GenericVector > > b)
 Assemble row of matrices and associated RHS vector.
 
- Public Member Functions inherited from dolfin::AssemblerBase
 AssemblerBase ()
 Constructor.
 
void init_global_tensor (GenericTensor &A, const Form &a)
 

Additional Inherited Members

- Public Attributes inherited from dolfin::AssemblerBase
bool add_values
 
bool finalize_tensor
 
bool keep_diagonal
 
- Static Protected Member Functions inherited from dolfin::AssemblerBase
static void check (const Form &a)
 Check form.
 
static std::string progress_message (std::size_t rank, std::string integral_type)
 Pretty-printing for progress bar.
 

Detailed Description

This class provides an assembler for systems of the form Ax = b. It differs from the default DOLFIN assembler in that it applies boundary conditions at the time of assembly, which preserves any symmetries in A.

Constructor & Destructor Documentation

◆ SystemAssembler() [1/2]

SystemAssembler::SystemAssembler ( std::vector< std::shared_ptr< const Form > > a,
std::vector< std::shared_ptr< const Form > > L,
std::vector< std::vector< std::shared_ptr< const DirichletBC > > > bcs )

Constructor with multiple LHS forms, matching a common RHS form with BCs defined for the column space of each LHS form

◆ SystemAssembler() [2/2]

SystemAssembler::SystemAssembler ( std::vector< std::shared_ptr< const Form > > a,
std::vector< std::shared_ptr< const Form > > L,
std::vector< std::shared_ptr< const DirichletBC > > bcs0,
std::vector< std::shared_ptr< const DirichletBC > > bcs1 )

FIXME: Constructor with two sets of BCs (for 2x2 system) Need to figure out how to wrap vector<vector<shared_ptr<TYPE>>> in SWIG

Member Function Documentation

◆ assemble() [1/2]

void SystemAssembler::assemble ( GenericMatrix & A,
GenericVector & b,
const GenericVector & x0 )

Assemble system (A, b) for (negative) increment dx, where x = x0 - dx is solution to system a == -L subject to bcs. Suitable for use inside a (quasi-)Newton solver.

◆ assemble() [2/2]

void SystemAssembler::assemble ( GenericVector & b,
const GenericVector & x0 )

Assemble rhs vector b for (negative) increment dx, where x = x0 - dx is solution to system a == -L subject to bcs. Suitable for use inside a (quasi-)Newton solver.


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