On Wed, Jan 30, 2008 at 04:05:37PM -0500, Jake Ostien wrote:
Hi,
In Assembler::assembleCells there is and assignment/logical check that
looks like
if (uint domain = (*domains)(*cell) < ufc.form.num_cell_integrals())
integral = ufc.cell_integrals[domain];
Near as I can tell, if the inequality is true then domain = 1, which is
not the intended behavior. A simple fix might be
uint domain = (*domains)(*cell);
if (domain < ufc.form.num_cell_integrals())
integral = ufc.cell_integrals[domain];
Now this assigns to domain the value of the MeshFunction<uint> domains
for *cell (which may not be 1).
Jake
Aha! Looks like I tried to be too clever and got it wrong.
Will fix.