Cabana 0.8.0-dev
 
Loading...
Searching...
No Matches
Cabana_SiloParticleOutput.hpp File Reference

Write particle output using the Silo format. More...

#include <Kokkos_Core.hpp>
#include <Kokkos_Profiling_ScopedRegion.hpp>
#include <Cabana_Slice.hpp>
#include <silo.h>
#include <mpi.h>
#include <pmpio.h>
#include <sstream>
#include <string>
#include <type_traits>
#include <vector>
Include dependency graph for Cabana_SiloParticleOutput.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace  Cabana
 Core: particle data structures and algorithms.
 

Functions

template<class SliceType>
void Cabana::Experimental::writeFields (DBfile *silo_file, const std::string &mesh_name, const std::size_t begin, const std::size_t end, const SliceType &slice)
 Write particle data to Silo output.
 
template<class SliceType, class... FieldSliceTypes>
void Cabana::Experimental::writeFields (DBfile *silo_file, const std::string &mesh_name, const std::size_t begin, const std::size_t end, const SliceType &slice, FieldSliceTypes &&... fields)
 Write particle data to Silo output.
 
void * Cabana::Experimental::createFile (const char *file_name, const char *dir_name, void *user_data)
 Create Silo output file.
 
void * Cabana::Experimental::openFile (const char *file_name, const char *dir_name, PMPIO_iomode_t io_mode, void *user_data)
 Open Silo output file.
 
void Cabana::Experimental::closeFile (void *file, void *user_data)
 Close Silo output file.
 
template<class... FieldSliceTypes>
std::vector< std::string > Cabana::Experimental::getFieldNames (FieldSliceTypes &&... fields)
 Get Silo output property field names.
 
template<class... FieldSliceTypes>
void Cabana::Experimental::writeMultiMesh (PMPIO_baton_t *baton, DBfile *silo_file, const int comm_size, const std::string &prefix, const std::string &mesh_name, const int time_step_index, const double time, FieldSliceTypes &&... fields)
 Write a Silo multimesh hierarchy.
 
template<class CoordSliceType, class... FieldSliceTypes>
void Cabana::Experimental::writePartialRangeTimeStep (const std::string &prefix, MPI_Comm comm, const int num_group, const int time_step_index, const double time, const std::size_t begin, const std::size_t end, const CoordSliceType &coords, FieldSliceTypes &&... fields)
 Write particle output in Silo format.
 
template<class CoordSliceType, class... FieldSliceTypes>
void Cabana::Experimental::writeTimeStep (const std::string &prefix, MPI_Comm comm, const int num_group, const int time_step_index, const double time, const CoordSliceType &coords, FieldSliceTypes &&... fields)
 Write output in Silo format for all particles.
 

Detailed Description

Write particle output using the Silo format.

Function Documentation

◆ writePartialRangeTimeStep()

template<class CoordSliceType, class... FieldSliceTypes>
void Cabana::Experimental::writePartialRangeTimeStep ( const std::string & prefix,
MPI_Comm comm,
const int num_group,
const int time_step_index,
const double time,
const std::size_t begin,
const std::size_t end,
const CoordSliceType & coords,
FieldSliceTypes &&... fields )

Write particle output in Silo format.

Parameters
prefixFilename prefix.
commMPI communicator.
num_groupNumber of files to create in parallel.
time_step_indexCurrent simulation step index.
timeCurrent simulation time.
beginThe first particle index to output.
endThe final particle index to output.
coordsParticle coordinates.
fieldsVariadic list of particle property fields.

◆ writeTimeStep()

template<class CoordSliceType, class... FieldSliceTypes>
void Cabana::Experimental::writeTimeStep ( const std::string & prefix,
MPI_Comm comm,
const int num_group,
const int time_step_index,
const double time,
const CoordSliceType & coords,
FieldSliceTypes &&... fields )

Write output in Silo format for all particles.

Parameters
prefixFilename prefix.
commMPI communicator.
num_groupNumber of files to create in parallel.
time_step_indexCurrent simulation step index.
timeCurrent simulation time.
coordsParticle coordinates.
fieldsVariadic list of particle property fields.