[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Getfem-users] Reduction matrix and getfem_interpolation.h
From: |
Torquil Macdonald Sørensen |
Subject: |
[Getfem-users] Reduction matrix and getfem_interpolation.h |
Date: |
Tue, 10 Jul 2012 20:08:56 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:10.0.5) Gecko/20120624 Icedove/10.0.5 |
Hi!
I'm starting to wonder if there is a bug in getfem_interpolation.h. Of course,
it could be my own lack of knowledge about how to use getfem, but I thought I'd
mention it here.
In a nutshell, I wonder if it should not say "mf.nb_basic_dof()" instead of
"mf.nb_dof()" on line 98 in
getfem_interpolation.h, in interpolation_function__? Or mf.nb_dof() instead of
mf.nb_basic_dof() on line 179 in interpolation_function?
I've tried to implement a reduction matrix to reduce #dofs from 441 to 121 on a
2d mesh consisting of 10x10 squares. I'v used
FEM_STRUCTURED_COMPOSITE(FEM_QK(2,1),2), and then defined a reduction matrix
that will reduce the #dofs.
But when I want to implement Dirichlet boundary conditions, I have the code:
std::vector<bgeot::scalar_type> F(mf.nb_dof());
getfem::interpolation_function(mf, F, sol_f);
which was taken from a tutorial example I think. It doesn't work, nor does
std::vector<bgeot::scalar_type> F(mf.nb_basic_dof());
getfem::interpolation_function(mf, F, sol_f);
The runtime error message in both cases was:
terminate called after throwing an instance of 'gmm::gmm_error'
what(): Error in /usr/include/getfem/getfem_interpolation.h, line 99 :
Dof vector has not the right size
In getfem_interpolation.h, it seems to me that a new, and larger, vector V is
defined on line 179. This vector is larger than mf.nb_dofs(), in fact the size
is mf.nb_basic_dof(). But on line 98 its size is compared to mf.nb_dofs(), which
always fails when the reduced #dofs are fewer than the original #dofs.
Or I have not understood how to use "interpolation_function" together with a
reduction matrix :-)
Hope this is understandable. If not, I'm more than willing to provide more info
if needed. Btw, the program works fine without a reduction matrix.
Best regards,
Torquil Sørensen
- [Getfem-users] Reduction matrix and getfem_interpolation.h,
Torquil Macdonald Sørensen <=