dolfin team mailing list archive
-
dolfin team
-
Mailing list archive
-
Message #07008
Re: Subdomain.mark
On Mon, Mar 31, 2008 at 07:15:23PM +0200, Murtazo Nazarov wrote:
> Anders Logg wrote:
> > On Mon, Mar 31, 2008 at 03:52:57PM +0200, Murtazo Nazarov wrote:
> >
> >> Hi,
> >>
> >> I want to apply a boundary condition to the vertices on a boundary. For that I define:
> >>
> >> // Sub domain for MyBC
> >> class MyBC_Boundary2D : public SubDomain
> >> {
> >> public:
> >> bool inside(const real* p, bool on_boundary) const
> >> {
> >> return on_boundary && (p[0] < xmax - bmarg) && (p[0] > xmin + bmarg);
> >> }
> >> };
> >>
> >> Then I initialize:
> >> //-----------------------------------------------------------------------------
> >> void MyBC::init(SubDomain& sub_domain)
> >> { ...
> >> mesh.init(0);
> >> sub_domains = new MeshFunction<uint>(mesh, 0);
> >> ...}
> >>
> >
> > Do you remember to set everything to 1 (number of subdomains) here?
> >
> >
>
> Yes I do:
>
> // Mark everything as sub domain
> 1
> (*sub_domains) = 1;
>
>
> // Mark the sub domain as sub domain
> 0
> sub_domain.mark(*sub_domains, 0);
>
> /murtazo
Then I have no idea. You just need to dig into the code and see what
goes wrong.
--
Anders
Follow ups
References