Ha. John, you nailed the problem. I was maintaining the dof_indices
for the coupled system separately and was computing it at every
quadrature point. But the call for this was before fe->reinit() and so
the number of quadrature points were always zero. Once I moved this
after reinit(), everything is working the way it is supposed to.
Anyway, you have my most sincere appreciation for helping me with
this. Looks like it won't be a crappy day after all. Thanks.
On Fri, May 1, 2009 at 9:25 AM, John Peterson <jwpeterson@...> wrote:
> On Fri, May 1, 2009 at 9:15 AM, Vijay S. Mahadevan <vijay.m@...> wrote:
>> Yes, I use TRI3 with first order Lagrange basis functions. The code is
>> part of a much bigger system. I am right now trying to create a test
>> case to see if I can replicate the issue. I will get back to you with
>> the code soon. Meanwhile, if you have any suggestions that could help
>> me, that would be fantastic.
> I've been updating the triangle quadrature rules recently, but I don't
> see anything obviously wrong with them and my simple test program is
> working. At a minimum, be sure that you are doing all of the
> following steps somewhere in your code...
> QGauss qrule (dim, qtest_order);
> FEType fe_type(FIRST,LAGRANGE);
> AutoPtr<FEBase> fe (FEBase::build(dim, fe_type));
> fe->attach_quadrature_rule (&qrule);
> // Loop over elements, etc
> fe->reinit (elem);
> As far as I know, qrule.n_points() will not be set until after FE::reinit()