Hello everybody,
I found a weird behaviour of the bilinearform. When setting up my bilinearform it makes a measurable difference if I spilt the terms in multiple lines. For my understanding the bilinearforms defined by:
blf_one_line += (u * v + v * InnerProduct(flow, grad(u)) ) * dx
and
blf_two_line += u * v * dx
blf_two_line += v * InnerProduct(flow, grad(u)) * dx
should give the same (in machine accuracy) results. But the matrix entries (measured in the 2-norm) differ even more than the mesh size.
The error vanishes when the flow field is constant.
Do I overlook something or is this a bug?
I’ve added an MWE to test the error.
Thanks for your help and kind regards,
Paul
MWE_lines_in_blf.py (1.1 KB)