← Back to team overview

dolfin team mailing list archive

Re: Blueprint for 0.9.10: Attaching subdomains to form

 


On 22/02/11 11:07, Anders Logg wrote:
> On Tue, Feb 22, 2011 at 08:52:55AM +0000, Garth N. Wells wrote:
>>
>>
>> On 22/02/11 07:51, Anders Logg wrote:
>>> I'd like to implement this blueprint for 0.9.10:
>>>
>>> https://blueprints.launchpad.net/dolfin/+spec/attach-subdomains-to-form
>>>
>>> In addition, I'd like to remove the cell_domains,
>>> exterior_facet_domains and interior_facet_domains arguments from the
>>> assembler. It seems overkill to have three different ways to specify
>>> the domains and the logic becomes complex for handling which data
>>> overrides if many are specified. We could also remove these arguments
>>> from VariationalProblem.
>>>
>>> We would then have two ways to specify the subdomains:
>>>
>>> 1. As part of the Mesh (MeshData)
>>>
>>> 2. As part of the form
>>>
>>> The SystemAssembler would then need to rely on (1).
>>>
>>> Comments and objections?
>>>
>>
>> What's the advantage of having two methods? Why not just have one?
> 
> It's natural to specify the subdomains as part of the mesh, but it's
> also natural to specify them as part of the form if one has say a and
> L and they should be assembled on the same mesh but partition the
> domain differently into subdomains.
> 

OK.

>> I'd would be happy to see subdomains as part of MeshData, but I would be
>> reluctant to use the existing data structures because I find them cryptic.
> 
> I agree they are cryptic but it's the only way I know how to robustly
> specify the boundaries. We can't store just a FacetFunction since the
> facet numbering relies on the particular algorithm we use to compute
> the facets (in TopologyComputation). If we optimize that computation,
> the numbering may very well change.
>
> What we do now is to specify a certain facet on a certain cell of the
> mesh. That is robust as long as the cell-vertex number does not change.
>

I don't quite follow the above. I advocate that the we have something like

  std::vector<MeshFunction<uint> > sub_domains;

in MeshData where the size of sub_domains is equal to the topological
dimension. By being explicit in MeshData, it's much clearer what needs
to be updated or reset if a mesh is changed.


>> We could have cell domains become part of the mesh .xml files - this
>> would be helpful because mesh generators can often define domains, and
>> it would be handy to use this data easily (by supporting it in
>> dolfin-convert).
> 
> Isn't it already? Everything stored in MeshData will automatically be
> stored/retrieved from XML.
>

It may be, but I don't think that dolfin-convert supports it.

Garth

> --
> Anders




Follow ups

References