I cant get the material indicators to update, as well as boundary markers. For example,
MeshFunction<dolfin::uint> *materialFunc = mesh.data().mesh_function("material indicators"); gives materialFunc = 0 after mesh refinement (it works fine before mesh refinement). I am refining my mesh by mesh.refine(); Am I missing something? -Jehanzeb On Mon, Jun 15, 2009 at 10:46 AM, Bartosz Sawicki<sawic...@iem.pw.edu.pl> wrote: > Jehanzeb Hameed wrote: >> >> I am still struggling with this.... >> >> I am trying to store subdomain identifiers in meshdata object, so that >> they get updated when the mesh is refined. To do this, I have a file, >> mesh.xml. In that file, there is a tag named "data". The "data" tag >> has a child "array" with name = "material indicators". So, now when I >> create mesh, will my meshdata have this array? > > Not really. Tag <data> can contain arrays, meshfunctions and mappings. > "material indicators" has to be stored in meshfunction. > > I'll send you example of xml mesh file with material data directly on your > email. > > >> And how do I create cell dependent functions. The example in Dolfin >> user manual seems outdated. I think I need to use UFCfunction, but >> what do I pass as Function arguement to its constructor (if >> UFCfunction is indeed the correct way to go). > > Maybe you can use UFCFunction to initialize MeshFunction, but for me more > natural is using MeshFunction constructors. > http://www.fenics.org/pub/documents/dolfin/dolfin-progr-reference/d0/d94/classdolfin_1_1MeshFunction.html > > For example if want to have meshfunction defined over tetrahedral: > MeshFunction meshfunction(mesh, 3); > > cheers, > BArtek > > > >> -Jehanzeb >> >> On Thu, Jun 11, 2009 at 11:55 AM, Bartosz Sawicki<sawic...@iem.pw.edu.pl> >> wrote: >>> >>> Jehanzeb Hameed wrote: >>>> >>>> Hello, >>>> >>>> I am new to Dolfin, and was wondering how subdomains are supported as >>>> regards to mesh reading and refinement. In my case, I will have a >>>> mesh, with 2 subdomains. Each cell has an identifier indicating which >>>> domain it belongs to. Looking at the examples, it seems I will need to >>>> store domain identifiers in a separate xml file. Is that correct? >>> >>> Subdomain identifiers can be stored in different ways, as a separate >>> MeshFunction, or in the MeshData structure. >>> I prefer MeshData, because it is directly included in the Mesh object. >>> You can also store boundary indicators using MeshData structure, see >>> demo/pde/bcs. >>> >>>> With regard to mesh refinement, I assume I will be able to define >>>> subdomains for each domain based on cell identifiers. Now, when I >>>> refine the mesh, will the subdomains also be updated (i.e. will dolfin >>>> know what domain the new cells belong to) ? >>> >>> If you name your MeshFunction "material indicators" it will be >>> transformed >>> to follow refined mesh. Arrays which store boundary indicators will be >>> updated too. >>> See LocalMeshRefinement::transformMeshData() >>> >>>> Also, is there a way to read archives of this list? >>> >>> Yes, there is http://www.fenics.org/pipermail/dolfin-dev/ >>> >>> regrds. >>> BArtek >>> >>> >>>> Thanks, >>>> -Jehanzeb >>>> _______________________________________________ >>>> DOLFIN-dev mailing list >>>> DOLFIN-dev@fenics.org >>>> http://www.fenics.org/mailman/listinfo/dolfin-dev >>> > > _______________________________________________ DOLFIN-dev mailing list DOLFIN-dev@fenics.org http://www.fenics.org/mailman/listinfo/dolfin-dev