MultiMeshDirichletBC.h

Note

The documentation on this page was automatically extracted from the DOLFIN C++ code and may need to be edited or expanded.

class MultiMeshDirichletBC

This class is used to set Dirichlet boundary conditions for multimesh function spaces.

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

@param V (MultiMeshFunctionSpace)
The function space
@param g (GenericFunction)
The value
@param sub_domain (SubDomain)
The subdomain
@param method (std::string)
Option passed to DirichletBC.
@param check_midpoint (bool)
Option passed to DirichletBC.
@param 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(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

@param V (FunctionSpace)
The function space.
@param g (GenericFunction)
The value.
@param sub_domains (MeshFunction <std::size_t>)
Subdomain markers
@param sub_domain (std::size_t)
The subdomain index (number)
@param part (std::size_t)
The part on which to set boundary conditions
@param method (std::string)
Optional argument: A string specifying the method to identify dofs.
MultiMeshDirichletBC(const MultiMeshDirichletBC &bc)

Copy constructor. Either cached DOF data are copied.

Arguments
bc (MultiMeshDirichletBC)
The object to be copied.
void apply(GenericMatrix &A) const

Apply boundary condition to a matrix

@param A (GenericMatrix)
The matrix to apply boundary condition to.
void apply(GenericVector &b) const

Apply boundary condition to a vector

@param b (GenericVector)
The vector to apply boundary condition to.
void apply(GenericMatrix &A, GenericVector &b) const

Apply boundary condition to a linear system

@param A (GenericMatrix)
The matrix to apply boundary condition to.
@param b (GenericVector)
The vector to apply boundary condition to.
void apply(GenericVector &b, const GenericVector &x) const

Apply boundary condition to vectors for a nonlinear problem

@param b (GenericVector)
The vector to apply boundary conditions to.
@param x (GenericVector)
Another vector (nonlinear problem).
void apply(GenericMatrix &A, GenericVector &b, const GenericVector &x) const

Apply boundary condition to a linear system for a nonlinear problem

@param A (GenericMatrix)
The matrix to apply boundary conditions to.
@param b (GenericVector)
The vector to apply boundary conditions to.
@param x (GenericVector)
Another vector (nonlinear problem).
void zero(GenericMatrix &A) const

Zero the rows in a matrix A corresponding to boundary dofs

@param A (GenericMatrix)
The matrix to zero rows in.
void homogenize()

Set value to 0.0

class MultiMeshSubDomain

Parent class(es)