This is great! -- Anders
On Wed, Jan 30, 2013 at 09:32:25AM +0100, Martin Sandve Alnæs wrote: > Hi all, > yesterday I pushed a change to trunk, which fixes a long standing > confusing issue. Unfortunately, the only way to stop this issue from > confusing new users is to change the interpretation of some > forms. Hopefully few codes will break from this change, but I'll > explain it here so you can judge for yourself. > Previously dx, ds and dS were aliases for dx(0), ds(0) and dS(0) > respectively, and the assembler in dolfin interpreted a missing > meshfunction for subdomains as if all cells were labeled with 0. So if > you wrote a form > u*v*dx [1a] > or > u*v*dx(0) [1b] > and assembled it without specifying subdomains, you got the integral > over the entire mesh in both cases. > However if you wrote > f*dx + g*dx(1) [2] > and assembled it with subdomains, then f would only be integrated over > the subdomain labeled 0, just as if you wrote > f*dx(0) + g*dx(1) [3] > This has naturally caused some confusion and bugs. > With the development version of ufc,ufl,ffc,dolfin from today, you can > explicitly write > f*dx() + g*dx(1) [4] > to integrate f over the entire domain and g over subdomain 1, > independent of subdomain labeling. > The breaking change is that [2] is now equivalent to [4], not [3]. > That is, f*dx is now interpreted as f*dx(), and not as f*dx(0). This > means that if you have code that depends on *dx being assembled only > over subdomain 0, that code will break. I do not believe this to be a > big problem, as it would be more natural to write explicitly dx(0) in > such a case. However, if you do have such code, I recommend changing > *dx to *dx(0) to be explicit, even if you are using 1.0 or 1.1 today. > Martin > _______________________________________________ > Mailing list: https://launchpad.net/~fenics > Post to : [email protected] > Unsubscribe : https://launchpad.net/~fenics > More help : https://help.launchpad.net/ListHelp _______________________________________________ Mailing list: https://launchpad.net/~fenics Post to : [email protected] Unsubscribe : https://launchpad.net/~fenics More help : https://help.launchpad.net/ListHelp

