Block-Structured AMR Software Framework
AMReX_WriteBinaryParticleData.H File Reference
#include <AMReX_Config.H>
#include <AMReX_TypeTraits.H>
#include <AMReX_ParticleUtil.H>
#include <AMReX_GpuDevice.H>

Go to the source code of this file.

Classes

struct  KeepValidFilter
 

Namespaces

 particle_detail
 

Functions

template<typename ParticleReal >
std::size_t particle_detail::PSizeInFile (const Vector< int > &wrc, const Vector< int > &wic)
 
template<template< class, class > class Container, class Allocator , class PTile , class F >
std::enable_if_t< RunOnGpu< typename Container< int, Allocator >::allocator_type >::value > particle_detail::fillFlags (Container< int, Allocator > &pflags, const PTile &ptile, F const &f)
 
template<template< class, class > class Container, class Allocator , class PTile , class F >
std::enable_if_t<!RunOnGpu< typename Container< int, Allocator >::allocator_type >::value > particle_detail::fillFlags (Container< int, Allocator > &pflags, const PTile &ptile, F const &f)
 
template<template< class, class > class Container, class Allocator , class PC >
std::enable_if_t< RunOnGpu< typename Container< int, Allocator >::allocator_type >::value, amrex::Long > particle_detail::countFlags (const Vector< std::map< std::pair< int, int >, Container< int, Allocator >>> &particle_io_flags, const PC &pc)
 
template<template< class, class > class Container, class Allocator >
std::enable_if_t< RunOnGpu< typename Container< int, Allocator >::allocator_type >::value, int > particle_detail::countFlags (const Container< int, Allocator > &pflags)
 
template<template< class, class > class Container, class Allocator , class PC >
std::enable_if_t<!RunOnGpu< typename Container< int, Allocator >::allocator_type >::value, amrex::Long > particle_detail::countFlags (const Vector< std::map< std::pair< int, int >, Container< int, Allocator >>> &particle_io_flags, const PC &pc)
 
template<template< class, class > class Container, class Allocator >
std::enable_if_t<!RunOnGpu< typename Container< int, Allocator >::allocator_type >::value, int > particle_detail::countFlags (const Container< int, Allocator > &pflags)
 
template<typename P , typename I >
AMREX_GPU_HOST_DEVICE void particle_detail::packParticleIDs (I *idata, const P &p, bool is_checkpoint) noexcept
 
template<class PC >
std::enable_if_t< RunOnGpu< typename PC::template AllocatorType< int > >::value > particle_detail::packIOData (Vector< int > &idata, Vector< ParticleReal > &rdata, const PC &pc, int lev, int grid, const Vector< int > &write_real_comp, const Vector< int > &write_int_comp, const Vector< std::map< std::pair< int, int >, typename PC::IntVector >> &particle_io_flags, const Vector< int > &tiles, int np, bool is_checkpoint)
 
template<class PC >
std::enable_if_t<!RunOnGpu< typename PC::template AllocatorType< int > >::value > particle_detail::packIOData (Vector< int > &idata, Vector< ParticleReal > &rdata, const PC &pc, int lev, int grid, const Vector< int > &write_real_comp, const Vector< int > &write_int_comp, const Vector< std::map< std::pair< int, int >, typename PC::IntVector >> &particle_io_flags, const Vector< int > &tiles, int np, bool is_checkpoint)
 
template<class PC , class F , std::enable_if_t< IsParticleContainer< PC >::value, int > foo = 0>
void WriteBinaryParticleDataSync (PC const &pc, const std::string &dir, const std::string &name, const Vector< int > &write_real_comp, const Vector< int > &write_int_comp, const Vector< std::string > &real_comp_names, const Vector< std::string > &int_comp_names, F const &f, bool is_checkpoint)
 
template<class PC , std::enable_if_t< IsParticleContainer< PC >::value, int > foo = 0>
void WriteBinaryParticleDataAsync (PC const &pc, const std::string &dir, const std::string &name, const Vector< int > &write_real_comp, const Vector< int > &write_int_comp, const Vector< std::string > &real_comp_names, const Vector< std::string > &int_comp_names, bool is_checkpoint)
 

Function Documentation

◆ WriteBinaryParticleDataAsync()

template<class PC , std::enable_if_t< IsParticleContainer< PC >::value, int > foo = 0>
void WriteBinaryParticleDataAsync ( PC const &  pc,
const std::string &  dir,
const std::string &  name,
const Vector< int > &  write_real_comp,
const Vector< int > &  write_int_comp,
const Vector< std::string > &  real_comp_names,
const Vector< std::string > &  int_comp_names,
bool  is_checkpoint 
)

◆ WriteBinaryParticleDataSync()

template<class PC , class F , std::enable_if_t< IsParticleContainer< PC >::value, int > foo = 0>
void WriteBinaryParticleDataSync ( PC const &  pc,
const std::string &  dir,
const std::string &  name,
const Vector< int > &  write_real_comp,
const Vector< int > &  write_int_comp,
const Vector< std::string > &  real_comp_names,
const Vector< std::string > &  int_comp_names,
F const &  f,
bool  is_checkpoint 
)