Skip to content

GitLab

  • Menu
Projects Groups Snippets
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
  • T Trilinos
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 936
    • Issues 936
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 22
    • Merge requests 22
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • James Willenbring
  • Trilinos
  • Issues
  • #4398

Closed
Open
Created Feb 14, 2019 by James Willenbring@jmwilleMaintainer

Belos::LinearProblem MV and OP this_type_is_missing_a_specialization

Created by: freaklovesmango

I have an error code while compiling my program and explicitly it has to do with the linear problem of Belos but I am not sure how to solve this problem. What did I miss? Is it something I should have included? Is it some typedef thing?

Basically, the following is my code, with matrix A and vectors x and b which are all declared by Teuchos::RCP as well.

#include <Tpetra_MultiVector.hpp>
#include <Tpetra_Core.hpp>
#include <Tpetra_Version.hpp>
#include <BelosLinearProblem.hpp>
#include <Teuchos_RCP.hpp>
#include "Tpetra_Operator.hpp"
int main(int argc, char *argv[])
{
typedef Tpetra::Vector<>::scalar_type scalar_type;
typedef Tpetra::Vector<>::local_ordinal_type local_ordinal_type;
typedef Tpetra::Vector<>::global_ordinal_type global_ordinal_type;
typedef Tpetra::Vector<>::node_type node_type;
typedef Tpetra::MultiVector<> mv_type;
typedef Tpetra::Operator<> op_type;

...

Teuchos::RCP<Belos::LinearProblem<scalar_type, mv_type, op_type>> belosProblem = 
  Teuchos::rcp(new Belos::LinearProblem<scalar_type, mv_type, op_type> (A, x, b));
}

And this is the error message I get:

In file included from /home/freaklovesmango/build-trilinos-tpetra/install/Trilinos/include/BelosLinearProblem.hpp:49:0,
                 from main.cpp:13:
/home/freaklovesmango/build-trilinos-tpetra/install/Trilinos/include/BelosMultiVecTraits.hpp: In instantiation of ‘static ScalarType Belos::UndefinedMultiVecTraits<ScalarType, MV>::notDefined() [with ScalarType = double; MV = Tpetra::MultiVector<>]’:
/home/freaklovesmango/build-trilinos-tpetra/install/Trilinos/include/BelosMultiVecTraits.hpp:219:58:   required from ‘static int Belos::MultiVecTraits<ScalarType, MV>::GetNumberVecs(const MV&) [with ScalarType = double; MV = Tpetra::MultiVector<>]’
/home/freaklovesmango/build-trilinos-tpetra/install/Trilinos/include/BelosLinearProblem.hpp:880:51:   required from ‘bool Belos::LinearProblem<ScalarType, MV, OP>::setProblem(const Teuchos::RCP<T2>&, const Teuchos::RCP<const T2>&) [with ScalarType = double; MV = Tpetra::MultiVector<>; OP = Tpetra::Operator<>]’
main.cpp:184:41:   required from here
/home/freaklovesmango/build-trilinos-tpetra/install/Trilinos/include/BelosMultiVecTraits.hpp:80:55: error: ‘this_type_is_missing_a_specialization’ is not a member of ‘Tpetra::MultiVector<>’
       return MV::this_type_is_missing_a_specialization();
                                                       ^
In file included from /home/freaklovesmango/build-trilinos-tpetra/install/Trilinos/include/BelosLinearProblem.hpp:50:0,
                 from main.cpp:13:
/home/freaklovesmango/build-trilinos-tpetra/install/Trilinos/include/BelosOperatorTraits.hpp: In instantiation of ‘static void Belos::UndefinedOperatorTraits<ScalarType, MV, OP>::notDefined() [with ScalarType = double; MV = Tpetra::MultiVector<>; OP = Tpetra::Operator<>]’:
/home/freaklovesmango/build-trilinos-tpetra/install/Trilinos/include/BelosOperatorTraits.hpp:131:62:   required from ‘static void Belos::OperatorTraits<ScalarType, MV, OP>::Apply(const OP&, const MV&, MV&, Belos::ETrans) [with ScalarType = double; MV = Tpetra::MultiVector<>; OP = Tpetra::Operator<>]’
/home/freaklovesmango/build-trilinos-tpetra/install/Trilinos/include/BelosLinearProblem.hpp:893:21:   required from ‘bool Belos::LinearProblem<ScalarType, MV, OP>::setProblem(const Teuchos::RCP<T2>&, const Teuchos::RCP<const T2>&) [with ScalarType = double; MV = Tpetra::MultiVector<>; OP = Tpetra::Operator<>]’
main.cpp:184:41:   required from here
/home/freaklovesmango/build-trilinos-tpetra/install/Trilinos/include/BelosOperatorTraits.hpp:71:48: error: ‘this_type_is_missing_a_specialization’ is not a member of ‘Tpetra::Operator<>’
       OP::this_type_is_missing_a_specialization(); 
Assignee
Assign to
Time tracking