Loading...
Searching...
No Matches
dolfin::SystemAssembler Class Reference

`#include <SystemAssembler.h>`

Inheritance diagram for dolfin::SystemAssembler:
[legend]
Collaboration diagram for dolfin::SystemAssembler:
[legend]

## 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:

- /build/dolfin-lFBzDh/dolfin-2019.2.0~legacy20240219.1c52e83/dolfin/fem/SystemAssembler.h
- /build/dolfin-lFBzDh/dolfin-2019.2.0~legacy20240219.1c52e83/dolfin/fem/SystemAssembler.cpp