.. Documentation for the header file dolfin/fem/MultiMeshDirichletBC.h .. _programmers_reference_cpp_fem_multimeshdirichletbc: MultiMeshDirichletBC.h ====================== .. note:: The documentation on this page was automatically extracted from the DOLFIN C++ code and may need to be edited or expanded. .. cpp:class:: MultiMeshDirichletBC This class is used to set Dirichlet boundary conditions for multimesh function spaces. .. cpp:function:: MultiMeshDirichletBC(std::shared_ptr V, std::shared_ptr g, std::shared_ptr sub_domain, std::string method="topological", bool check_midpoint=true, bool exclude_overlapped_boundaries=true) Create boundary condition for subdomain @param V (:cpp:class:`MultiMeshFunctionSpace`) The function space @param g (:cpp:class:`GenericFunction`) The value @param sub_domain (:cpp:class:`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). .. cpp:function:: MultiMeshDirichletBC(std::shared_ptr V, std::shared_ptr g, std::shared_ptr> 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 (:cpp:class:`FunctionSpace`) The function space. @param g (:cpp:class:`GenericFunction`) The value. @param sub_domains (:cpp:class:`MeshFunction` ) 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. .. cpp:function:: MultiMeshDirichletBC(const MultiMeshDirichletBC& bc) Copy constructor. Either cached DOF data are copied. *Arguments* bc (:cpp:class:`MultiMeshDirichletBC`) The object to be copied. .. cpp:function:: void apply(GenericMatrix& A) const Apply boundary condition to a matrix @param A (:cpp:class:`GenericMatrix`) The matrix to apply boundary condition to. .. cpp:function:: void apply(GenericVector& b) const Apply boundary condition to a vector @param b (:cpp:class:`GenericVector`) The vector to apply boundary condition to. .. cpp:function:: void apply(GenericMatrix& A, GenericVector& b) const Apply boundary condition to a linear system @param A (:cpp:class:`GenericMatrix`) The matrix to apply boundary condition to. @param b (:cpp:class:`GenericVector`) The vector to apply boundary condition to. .. cpp:function:: void apply(GenericVector& b, const GenericVector& x) const Apply boundary condition to vectors for a nonlinear problem @param b (:cpp:class:`GenericVector`) The vector to apply boundary conditions to. @param x (:cpp:class:`GenericVector`) Another vector (nonlinear problem). .. cpp:function:: void apply(GenericMatrix& A, GenericVector& b, const GenericVector& x) const Apply boundary condition to a linear system for a nonlinear problem @param A (:cpp:class:`GenericMatrix`) The matrix to apply boundary conditions to. @param b (:cpp:class:`GenericVector`) The vector to apply boundary conditions to. @param x (:cpp:class:`GenericVector`) Another vector (nonlinear problem). .. cpp:function:: void zero(GenericMatrix& A) const Zero the rows in a matrix A corresponding to boundary dofs @param A (:cpp:class:`GenericMatrix`) The matrix to zero rows in. .. cpp:function:: void homogenize() Set value to 0.0 .. cpp:class:: MultiMeshSubDomain *Parent class(es)* * :cpp:class:`SubDomain`