Skip to content
GitLab
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
  • SWIFTsim SWIFTsim
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 55
    • Issues 55
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 18
    • Merge requests 18
  • Deployments
    • Deployments
    • Releases
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Commits
  • Issue Boards
Collapse sidebar
  • SWIFT
  • SWIFTsimSWIFTsim
  • Issues
  • #654
Closed
Open
Issue created Feb 17, 2020 by John Helly@jchDeveloper

Inconsistent struct definitions between Swift and Velociraptor in Velociraptor interface

The struct siminfo in velociraptor_interface.c is used to pass information to Velociraptor when it's run on the fly. Velociraptor has a corresponding definition in swiftinterface.h. I believe these should correspond, but they don't.

In Velociraptor the siminfo struct has an extra entry numcellsperdim which doesn't exist in Swift. I think the code only works as it is because we got really lucky with alignment so the next entry in the struct is at the same byte offset whether numcellsperdim exists or not. The other problem is that an option was introduced in Velociraptor that removes the mass field in the particle struct if all particles have the same mass. This requires Swift to tell Velociraptor what the constant mass is, but I can't see any code to do this. There is a siminfo.mass_uniform_box field in Velociraptor but it doesn't exist in Swift.

Edited Feb 17, 2020 by John Helly
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information
Assignee
Assign to
Time tracking