Is this the debug version of the code? Guido

On Mon, Sep 26, 2011 at 2:05 AM, Uwe Köcher <[email protected]> wrote:
>
> Hi,
>
> I have a big problem to compute the H1 norm of my Problem. (The L2-Norm
> is working well).
>
> The error is:
> *** glibc detected *** ./lib/convergence-3d: double free or corruption
> (out): 0x0000000001ca59d0 ***
> ======= Backtrace: =========
> /lib64/libc.so.6[0x3b39c7703a]
> ./lib/convergence-3d(_ZN9__gnu_cxx13new_allocatorIN6dealii6VectorIdEEE10deallocateEPS3_m+0x20)[0x45d3d2]
> ./lib/convergence-3d(_ZNSt12_Vector_baseIN6dealii6VectorIdEESaIS2_EE13_M_deallocateEPS2_m+0x32)[0x45cc38]
> ./lib/convergence-3d(_ZNSt12_Vector_baseIN6dealii6VectorIdEESaIS2_EED2Ev
> +0x56)[0x45b946]
> ./lib/convergence-3d(_ZNSt6vectorIN6dealii6VectorIdEESaIS2_EED2Ev
> +0x42)[0x459b6c]
> /usr/local/deal.II/7.0.0/lib/libdeal_II.g.so.7.0.0(+0x210e2d0)[0x7f25bd9782d0]
> /usr/local/deal.II/7.0.0/lib/libdeal_II.g.so.7.0.0(_ZN6dealii11VectorTools20integrate_differenceILi3ENS_6VectorIdEES3_Li3EEEvRKNS_10DoFHandlerIXT_EXT2_EEERKT0_RKNS_8FunctionIXT2_EEERT1_RKNS_10QuadratureIXT_EEERKNS0_8NormTypeEPSD_d+0xa8)[0x7f25bda4c402]
> ./lib/convergence-3d(_ZN32TimeProblem_LinearSystem_NewmarkILi3EE5solveEdd+0x8b8)[0x44f9de]
> ./lib/convergence-3d(main+0x3da)[0x4478a6]
> /lib64/libc.so.6(__libc_start_main+0xed)[0x3b39c2139d]
> ./lib/convergence-3d[0x443bb9]
>
> When I'm doing this:
> # const ComponentSelectFunction<dim> displacement_mask(3,3);
> # Vector<double> cellwise_errors(grid.tria.n_active_cells());
> # VectorTools::integrate_difference(
> #  dof, u, *sol, cellwise_errors, QGauss<3>(3), VectorTools::H1_seminorm, 
> &displacement_mask);
>
> I think the main information of the error output might be:
> "/usr/local/deal.II/7.0.0/lib/libdeal_II.g.so.7.0.0(_ZN6dealii11VectorTools20integrate_differenceILi3ENS_6VectorIdEES3_Li3EEEvRKNS_10DoFHandlerIXT_EXT2_EEERKT0_RKNS_8FunctionIXT2_EEERT1_RKNS_10QuadratureIXT_EEERKNS0_8NormTypeEPSD_d+0xa8)[0x7f25bda4c402]"
> but I don't find a problem in the implementation of integrate_difference.
>
>
> My gradient function (it seems to work) is:
> (to the Problem u : R^3 x [0,T] -> R^3, H1-norm at time = T)
> void SolutionConvergence_u::vector_gradient(const Point<3> &x, 
> std::vector<Tensor<1,3> > &gradients) const {
> [...]
>
>        gradients[0].clear();
>        gradients[1].clear();
>        gradients[2].clear();
>
>        gradients[0][0] = t2pic1s2s3;
>        gradients[0][1] = t2pic1s2s3;
>        gradients[0][2] = t2pic1s2s3;
>
>        gradients[1][0] = t2pis1c2s3;
>        gradients[1][1] = t2pis1c2s3;
>        gradients[1][2] = t2pis1c2s3;
>
>        gradients[2][0] = t2pis1s2c3;
>        gradients[2][1] = t2pis1s2c3;
>        gradients[2][2] = t2pis1s2c3;
>
>        #ifdef DBG_OUTPUT
>        cout << "Gradients = " << gradients[0][0] << "  " << gradients[0][1] 
> << "       " << gradients[0][2] << endl;
>        cout << "Gradients = " << gradients[1][0] << "  " << gradients[1][1] 
> << "       " << gradients[1][2] << endl;
>        cout << "Gradients = " << gradients[2][0] << "  " << gradients[2][1] 
> << "       " << gradients[2][2] << endl << endl;
>        //getchar();
>        #endif
> }
>
>
> Can anybody help me, what I'm doing wrong, or is there a error within
> the library?
>
> Best Regards
> UK.
>
> --
> Dipl.-Ing. Uwe Köcher
>
> Helmut Schmidt Universität
>
> Fakultät für Maschinenbau,
> Professur für Numerische Verfahren in den Rechnergestützten
> Ingenieurwissenschaften.
>
> Holstenhofweg 85
> 22043 Hamburg
>
>
>
> _______________________________________________
> dealii mailing list http://poisson.dealii.org/mailman/listinfo/dealii
>
_______________________________________________
dealii mailing list http://poisson.dealii.org/mailman/listinfo/dealii

Reply via email to