Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

DG-0 table unused #410

Closed
jorgensd opened this issue Oct 28, 2021 · 0 comments · Fixed by #413
Closed

DG-0 table unused #410

jorgensd opened this issue Oct 28, 2021 · 0 comments · Fixed by #413
Labels
bug Something isn't working

Comments

@jorgensd
Copy link
Member

Introduced with #405
The following minimal code using DG-0 throws a warning of unused tables:

import ufl
import dolfinx
from mpi4py import MPI

mesh = dolfinx.UnitSquareMesh(MPI.COMM_WORLD, 10, 10)

V = dolfinx.FunctionSpace(mesh, ("Lagrange", 1))
DG0 = dolfinx.FunctionSpace(mesh, ("DG", 0))

lmbda = dolfinx.Function(DG0)


# Define variational problem
v = ufl.TestFunction(V)
dx = ufl.Measure("dx", domain=mesh)
a = lmbda * v * dx
form = dolfinx.Form(a)
libffcx_forms_0ac1fd7dfb180d37cc548c54a90328c2a496a015.c:945:25: warning: unused variable 'FE5_C0_Q083' [-Wunused-variable]
    static const double FE5_C0_Q083[1][1][1][1] = { { { { 1.0 } } } };
                        ^
1 warning generated.

The tabulate_tensor for this code is:

void tabulate_tensor_integral_9ac929c21cb9301c69fd3a82dc1079627a209a20(double* restrict A,
                                    const double* restrict w,
                                    const double* restrict c,
                                    const double* restrict coordinate_dofs,
                                    const int* restrict entity_local_index,
                                    const uint8_t* restrict quadrature_permutation)
{
    // Quadrature rules
    static const double weights_083[1] = { 0.5 };
    // Precomputed values of basis functions and precomputations
    // FE* dimensions: [permutation][entities][points][dofs]
    static const double FE3_C0_Q083[1][1][1][3] = { { { { 0.3333333333333334, 0.3333333333333333, 0.3333333333333333 } } } };
    static const double FE4_C0_D10_Q083[1][1][1][3] = { { { { -1.0, 1.0, 0.0 } } } };
    static const double FE4_C1_D01_Q083[1][1][1][3] = { { { { -1.0, 0.0, 1.0 } } } };
    static const double FE5_C0_Q083[1][1][1][1] = { { { { 1.0 } } } };
    // Quadrature loop independent computations for quadrature rule 083
    const double J_c0 = coordinate_dofs[0] * FE4_C0_D10_Q083[0][0][0][0] + coordinate_dofs[3] * FE4_C0_D10_Q083[0][0][0][1] + coordinate_dofs[6] * FE4_C0_D10_Q083[0][0][0][2];
    const double J_c3 = coordinate_dofs[1] * FE4_C1_D01_Q083[0][0][0][0] + coordinate_dofs[4] * FE4_C1_D01_Q083[0][0][0][1] + coordinate_dofs[7] * FE4_C1_D01_Q083[0][0][0][2];
    const double J_c1 = coordinate_dofs[0] * FE4_C1_D01_Q083[0][0][0][0] + coordinate_dofs[3] * FE4_C1_D01_Q083[0][0][0][1] + coordinate_dofs[6] * FE4_C1_D01_Q083[0][0][0][2];
    const double J_c2 = coordinate_dofs[1] * FE4_C0_D10_Q083[0][0][0][0] + coordinate_dofs[4] * FE4_C0_D10_Q083[0][0][0][1] + coordinate_dofs[7] * FE4_C0_D10_Q083[0][0][0][2];
    double sp_083[5];
    sp_083[0] = J_c0 * J_c3;
    sp_083[1] = J_c1 * J_c2;
    sp_083[2] = sp_083[0] + -1 * sp_083[1];
    sp_083[3] = fabs(sp_083[2]);
    sp_083[4] = sp_083[3] * w[0];
    for (int iq = 0; iq < 1; ++iq)
    {
        const double fw0 = sp_083[4] * weights_083[iq];
        for (int i = 0; i < 3; ++i)
            A[i] += fw0 * FE3_C0_Q083[0][0][0][i];
    }
}

The only difference from the previous commit is the additional table

@jorgensd jorgensd added the bug Something isn't working label Oct 28, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant