Skip to content

GitLab

  • Menu
Projects Groups Snippets
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
  • T Trilinos
  • Project information
    • Project information
    • Activity
    • Labels
    • Planning hierarchy
    • 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
  • #4651

Closed
Open
Created Mar 19, 2019 by James Willenbring@jmwilleMaintainer0 of 3 tasks completed0/3 tasks

Piro: Epetra classes to check for int type before calling NumGlobalElements

Created by: bartgol

@trilinos/piro

Expectations

One should be able to use Epetra maps with long long global indices, and still use Piro.

Current Behavior

If the Epetra maps are built with long long global indices, piro epetra classes to not work, due to calls to NumGlobalElements rather than NumGlobalElements64.

Motivation and Context

Albany needs to use 64bits global ordinals. Therefore, the epetra maps store long long global ordinals. However, the method NumGlobalElements in Epetra_BlockMap returns an int. One should use NumGlobalElements64 to get a 64bits integer return value. Even more: the former method throws if the map actually stores 64bits integers.

Definition of Done

The epetra classes in piro (e.g., Piro::Epetra::NOXSolver) should work with both 32 and 64 bits integers.

Possible Solution

Before each call to NumGlobalElements, check for the type of indices. If they are int (32bits), use NumGlobalElements, while if they are long long (64bits), use NumGlobalElements64.

Assignee
Assign to
Time tracking