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/ For mailing list/forum options, see 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 [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/dealii/14903aed-45a1-4c13-94df-3c2e1c877388n%40googlegroups.com.
