dolfin team mailing list archive
-
dolfin team
-
Mailing list archive
-
Message #23537
Re: [Bug 734527] Re: New style sub-domains do not carry across form transformation
-
To:
Bug 734527 <734527@xxxxxxxxxxxxxxxxxx>, DOLFIN Mailing List <dolfin@xxxxxxxxxxxxxxxxxxx>
-
From:
"Marie E. Rognes" <meg@xxxxxxxxx>
-
Date:
Mon, 30 May 2011 12:51:02 +0200
-
In-reply-to:
<20110530092616.13138.46997.malone@gac.canonical.com>
-
User-agent:
Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.15) Gecko/20110419 Thunderbird/3.1.9
On 05/30/2011 11:26 AM, Martin Sandve Alnæs wrote:
Since this feature implementation relies on modifying immutable objects,
I'm not the least surprised you're getting problems. The bug is not that
dolfin subdomains are not passed with forms, but that they are allowed
to be attached in the first place on an existing and assumed immutable
form object.
Yes...
The short term solution to this bug is to revert pydolfin back to
providing subdomains as arguments to assemble and variationalproblem
where they belong, instead of attaching them to forms. I think this
should be done for fenics 1.0 if this bug is a problem.
Improvements to the language for expressing subdomains of various kinds
is in the design stage, but that won't happen before the summer.
Specifications of subdomain does not belong as arguments to assemble and
variational problem. If you have a form
L = g*v*dG
where G is a part of a boundary (In semi-math, semi-UFL notation), G
should be related to the form. Not to the matrix resulting from the
assembly of the form.
(cc to DOLFIN since the below involves DOLFIN mainly)
The interface to VariationalProblem
VariationalProblem(., ., bcs, exterior_facet_domains,
interior_facet_domains, cell_facet_domains)
was rather suboptimal because it assumed implicitly that the bilinear
and the linear form were defined over the same subdomains. That in,
combination with dx = dx(0) etc, is highly bugprone.
I care of course because if you want to use the same patent for an
variational problem with automatic adaptivity, and take care of the
above, the required input will look something like this
VariationalProblem(., ., bcs,
primal_bilinear_exterior_facet_domains,
primal_bilinear_interior_facet_domains,
primal_bilinear_cell_domains,
primal_linear_exterior_facet_domains,
primal_linear_interior_facet_domains,
primal_linear_cell_domains,
goal_exterior_facet_domains,
goal_interior_facet_domains,
goal_cell_domains)
which I can't live with.
The Coefficient/Function magic must involve some of the same issues as
this. I imagine that a similar way of fixing it should be possible.
--
Marie
** Changed in: ufl
Status: New => Won't Fix
** Changed in: ufl
Importance: Undecided => Low
Follow ups