← Back to team overview

dolfin team mailing list archive

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