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 SubDomain > sub_domain, std::size_t part, 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 SubDomain > | sub_domain, | ||
std::size_t | part, | ||
std::string | method = "topological" , |
||
bool | check_midpoint = true , |
||
bool | exclude_overlapped_boundaries = true |
||
) |
Create boundary condition for subdomain on specified part
V | (MultiMeshFunctionSpace) The function space |
g | (GenericFunction) The value |
sub_domain | (SubDomain) The subdomain |
part | (std::size_t) The part on which to set boundary conditions |
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. |