Hi all,
I am trying to use the helper tools to assemble a system for a vector valued
problem.
I am looking to have 2 or 3 displacement DoFs.
So I use
FESystem<dim> fe;
and initialize with
fe(FE_Q
<https://www.dealii.org/current/doxygen/deal.II/classFE__Q.html><dim>(1), dim)
So my code compiles, but when I try and run I get the following....
--------------------------------------------------------
An error occurred in line <182> of file
</build/deal.ii-KebjEf/deal.ii-9.2.0/include/deal.II/numerics/vector_tools_project.templates.h>
in function
void dealii::VectorTools::internal::project_matrix_free(const dealii::Mapping<dim, spacedim>&, const dealii::DoFHandler<dim, spacedim>&,
const dealii::AffineConstraints<number>&, const dealii::Quadrature<dim>&, const dealii::Function<spacedim, typename
dealii::LinearAlgebra::distributed::Vector<Number>::value_type>&, dealii::LinearAlgebra::distributed::Vector<Number>&, bool, const
dealii::Quadrature<(dim - 1)>&, bool) [with int components = 2; int fe_degree = 1; int dim = 2; Number = double; int spacedim = 2; typename
dealii::LinearAlgebra::distributed::Vector<Number>::value_type = double]
The violated condition was:
dof.get_fe(0).n_components() == function.n_components
Additional information:
Dimension 2 not equal to 1.
Stacktrace:
-----------
#0 /usr/lib/x86_64-linux-gnu/libdeal.ii.g.so.9.2.0: void dealii::VectorTools::internal::project_matrix_free<2, 1, 2, double, 2>(dealii::Mapping<2,
2> const&, dealii::DoFHandler<2, 2> const&, dealii::AffineConstraints<double> const&, dealii::Quadrature<2> const&,
dealii::Function<2, dealii::LinearAlgebra::distributed::Vector<double, dealii::MemorySpace::Host>::value_type> const&,
dealii::LinearAlgebra::distributed::Vector<double, dealii::MemorySpace::Host>&, bool, dealii::Quadrature<(2)-(1)> const&, bool)
#1 /usr/lib/x86_64-linux-gnu/libdeal.ii.g.so.9.2.0: void dealii::VectorTools::internal::project_matrix_free_degree<2, 2, double, 2>(dealii::Mapping<2,
2> const&, dealii::DoFHandler<2, 2> const&, dealii::AffineConstraints<double> const&, dealii::Quadrature<2> const&,
dealii::Function<2, dealii::LinearAlgebra::distributed::Vector<double, dealii::MemorySpace::Host>::value_type> const&,
dealii::LinearAlgebra::distributed::Vector<double, dealii::MemorySpace::Host>&, bool, dealii::Quadrature<(2)-(1)> const&, bool)
#2 /usr/lib/x86_64-linux-gnu/libdeal.ii.g.so.9.2.0: void dealii::VectorTools::internal::project_matrix_free_component<2, double, 2>(dealii::Mapping<2,
2> const&, dealii::DoFHandler<2, 2> const&, dealii::AffineConstraints<double> const&, dealii::Quadrature<2> const&,
dealii::Function<2, dealii::LinearAlgebra::distributed::Vector<double, dealii::MemorySpace::Host>::value_type> const&,
dealii::LinearAlgebra::distributed::Vector<double, dealii::MemorySpace::Host>&, bool, dealii::Quadrature<(2)-(1)> const&, bool)
#3 /usr/lib/x86_64-linux-gnu/libdeal.ii.g.so.9.2.0: void dealii::VectorTools::internal::project_matrix_free_copy_vector<2, dealii::Vector<double>,
2>(dealii::Mapping<2, 2> const&, dealii::DoFHandler<2, 2> const&, dealii::AffineConstraints<dealii::Vector<double>::value_type>
const&, dealii::Quadrature<2> const&, dealii::Function<2, dealii::Vector<double>::value_type> const&, dealii::Vector<double>&, bool,
dealii::Quadrature<(2)-(1)> const&, bool)
#4 /usr/lib/x86_64-linux-gnu/libdeal.ii.g.so.9.2.0: void dealii::VectorTools::internal::project<dealii::Vector<double>, 2>(dealii::Mapping<2, 2>
const&, dealii::DoFHandler<2, 2> const&, dealii::AffineConstraints<dealii::Vector<double>::value_type> const&, dealii::Quadrature<2>
const&, dealii::Function<2, dealii::Vector<double>::value_type> const&, dealii::Vector<double>&, bool, dealii::Quadrature<(2)-(1)>
const&, bool)
#5 /usr/lib/x86_64-linux-gnu/libdeal.ii.g.so.9.2.0: void dealii::VectorTools::project<2, dealii::Vector<double>, 2>(dealii::Mapping<2, 2> const&,
dealii::DoFHandler<2, 2> const&, dealii::AffineConstraints<dealii::Vector<double>::value_type> const&, dealii::Quadrature<2> const&,
dealii::Function<2, dealii::Vector<double>::value_type> const&, dealii::Vector<double>&, bool, dealii::Quadrature<(2)-(1)> const&, bool)
#6 /usr/lib/x86_64-linux-gnu/libdeal.ii.g.so.9.2.0: void dealii::VectorTools::project<2, dealii::Vector<double>, 2>(dealii::DoFHandler<2, 2>
const&, dealii::AffineConstraints<dealii::Vector<double>::value_type> const&, dealii::Quadrature<2> const&, dealii::Function<2,
dealii::Vector<double>::value_type> const&, dealii::Vector<double>&, bool, dealii::Quadrature<(2)-(1)> const&, bool)
#7 ./final_proj: final_proj::WaveEquation<2>::run()
#8 ./final_proj: main
--------------------------------------------------------
Using some crude debugging it is complaining about the create_mass_matrix call.
Now I know there are two variants. I was trying to create the matrix without
passing a mapping but that is generating this error. My issue is I am not sure
how to create a mapping that works.
How does one make a mapping for a system? I looked at some of the tutorials but
I could not find what I am looking for....
Thanks in advance.
--
The deal.II project is located at http://www.dealii.org/
<http://www.dealii.org/>
For mailing list/forum options, see https://groups.google.com/d/forum/dealii?hl=en
<https://groups.google.com/d/forum/dealii?hl=en>
---
You received this message because you are subscribed to the Google Groups "deal.II
User Group" group.
To unsubscribe from this group and stop receiving emails from it, send an email to
dealii+unsubscr...@googlegroups.com
<mailto:dealii+unsubscr...@googlegroups.com>.
To view this discussion on the web visit
https://groups.google.com/d/msgid/dealii/14903aed-45a1-4c13-94df-3c2e1c877388n%40googlegroups.com
<https://groups.google.com/d/msgid/dealii/14903aed-45a1-4c13-94df-3c2e1c877388n%40googlegroups.com?utm_medium=email&utm_source=footer>.