|
DOLFIN
DOLFIN C++ interface
|
#include <MultiMeshDirichletBC.h>
Public Member Functions | |
| MultiMeshDirichletBC (std::shared_ptr< const MultiMeshFunctionSpace > V, std::shared_ptr< const GenericFunction > g, std::shared_ptr< const SubDomain > sub_domain, std::string method="topological", bool check_midpoint=true, bool exclude_overlapped_boundaries=true) | |
| MultiMeshDirichletBC (std::shared_ptr< const MultiMeshFunctionSpace > V, std::shared_ptr< const GenericFunction > g, std::shared_ptr< const MeshFunction< std::size_t >> sub_domains, std::size_t sub_domain, std::size_t part, std::string method="topological") | |
| MultiMeshDirichletBC (const MultiMeshDirichletBC &bc) | |
| ~MultiMeshDirichletBC () | |
| Destructor. | |
| std::shared_ptr< const MultiMeshFunctionSpace > | function_space () const |
| std::shared_ptr< DirichletBC > | view (std::size_t part) const |
| void | apply (GenericMatrix &A) const |
| void | apply (GenericVector &b) const |
| void | apply (GenericMatrix &A, GenericVector &b) const |
| void | apply (GenericVector &b, const GenericVector &x) const |
| void | apply (GenericMatrix &A, GenericVector &b, const GenericVector &x) const |
| void | zero (GenericMatrix &A) const |
| void | homogenize () |
| Set value to 0.0. | |
This class is used to set Dirichlet boundary conditions for multimesh function spaces.
| MultiMeshDirichletBC::MultiMeshDirichletBC | ( | std::shared_ptr< const MultiMeshFunctionSpace > | V, |
| std::shared_ptr< const GenericFunction > | g, | ||
| std::shared_ptr< const SubDomain > | sub_domain, | ||
| std::string | method = "topological", |
||
| bool | check_midpoint = true, |
||
| bool | exclude_overlapped_boundaries = true |
||
| ) |
Create boundary condition for subdomain
| V | (MultiMeshFunctionSpace) The function space |
| g | (GenericFunction) The value |
| sub_domain | (SubDomain) The subdomain |
| method | (std::string) Option passed to DirichletBC. |
| check_midpoint | (bool) Option passed to DirichletBC. |
| exclude_overlapped_boundaries | (bool) If true, then the variable on_boundary will be set to false for facets that are overlapped by another mesh (irrespective of the layering order of the meshes). |
| MultiMeshDirichletBC::MultiMeshDirichletBC | ( | std::shared_ptr< const MultiMeshFunctionSpace > | V, |
| std::shared_ptr< const GenericFunction > | g, | ||
| std::shared_ptr< const MeshFunction< std::size_t >> | sub_domains, | ||
| std::size_t | sub_domain, | ||
| std::size_t | part, | ||
| std::string | method = "topological" |
||
| ) |
Create boundary condition for subdomain specified by index
| V | (FunctionSpace) The function space. |
| g | (GenericFunction) The value. |
| sub_domains | (MeshFunction <std::size_t>) Subdomain markers |
| sub_domain | (std::size_t) The subdomain index (number) |
| part | (std::size_t) The part on which to set boundary conditions |
| method | (std::string) Optional argument: A string specifying the method to identify dofs. |
| MultiMeshDirichletBC::MultiMeshDirichletBC | ( | const MultiMeshDirichletBC & | bc | ) |
Copy constructor. Either cached DOF data are copied.
Arguments bc (MultiMeshDirichletBC) The object to be copied.
| void MultiMeshDirichletBC::apply | ( | GenericMatrix & | A | ) | const |
Apply boundary condition to a matrix
| A | (GenericMatrix) The matrix to apply boundary condition to. |
| void MultiMeshDirichletBC::apply | ( | GenericVector & | b | ) | const |
Apply boundary condition to a vector
| b | (GenericVector) The vector to apply boundary condition to. |
| void MultiMeshDirichletBC::apply | ( | GenericMatrix & | A, |
| GenericVector & | b | ||
| ) | const |
Apply boundary condition to a linear system
| A | (GenericMatrix) The matrix to apply boundary condition to. |
| b | (GenericVector) The vector to apply boundary condition to. |
| void MultiMeshDirichletBC::apply | ( | GenericVector & | b, |
| const GenericVector & | x | ||
| ) | const |
Apply boundary condition to vectors for a nonlinear problem
| b | (GenericVector) The vector to apply boundary conditions to. |
| x | (GenericVector) Another vector (nonlinear problem). |
| void MultiMeshDirichletBC::apply | ( | GenericMatrix & | A, |
| GenericVector & | b, | ||
| const GenericVector & | x | ||
| ) | const |
Apply boundary condition to a linear system for a nonlinear problem
| A | (GenericMatrix) The matrix to apply boundary conditions to. |
| b | (GenericVector) The vector to apply boundary conditions to. |
| x | (GenericVector) Another vector (nonlinear problem). |
|
inline |
Return multimesh function space V
|
inline |
Return a view of boundary conditions on a part of the multimesh
| part | (std::size_t) The part number |
| void MultiMeshDirichletBC::zero | ( | GenericMatrix & | A | ) | const |
Zero the rows in a matrix A corresponding to boundary dofs
| A | (GenericMatrix) The matrix to zero rows in. |
1.8.11