50 #define MODE_READ CG_MODE_READ
64 class Rocin :
public COM_Object {
70 typedef void (*
RulesPtr)(
const int &pane_id,
const int &comm_rank,
71 const int &comm_size,
int*
is_local);
90 const char* window_name,
91 const MPI_Comm* comm=NULL,
92 char* time_level=NULL,
93 const int* str_len=NULL);
113 const char* window_name,
114 const MPI_Comm* comm=NULL,
116 char* time_level=NULL,
117 const int *str_len=NULL);
143 const char* window_prefix,
144 const char* material_names=NULL,
145 const MPI_Comm* comm=NULL,
147 char* time_level=NULL,
148 const int *str_len=NULL);
162 COM::Attribute *user_attribute,
182 const char* window_name,
183 const MPI_Comm *comm = NULL);
195 const int& comm_size,
int* il);
198 const int& comm_size,
int* il);
201 const int& comm_size,
int* il);
204 const BlockMM_HDF4::iterator& hdf4End,
206 BlockMM_CGNS::iterator cgns,
207 const BlockMM_CGNS::iterator& cgnsEnd,
210 const MPI_Comm* comm,
int rank,
int nprocs);
224 void init(
const std::string &mname);
230 void finalize(
const std::string &mname);
248 std::map<DataType_t, COM_Type> m_CGNS2COM;
void blockcyclic_local(const int &pid, const int &comm_rank, const int &comm_size, int *il)
void Rocin_load_module(const char *name)
Load the module Rocin into Roccom using the given module name.
void read_windows(const char *filename_patterns, const char *window_prefix, const char *material_names=NULL, const MPI_Comm *comm=NULL, RulesPtr is_local=NULL, char *time_level=NULL, const int *str_len=NULL)
Create a series of Roccom windows by reading in a list of files.
void read_window(const char *filename_patterns, const char *window_name, const MPI_Comm *comm=NULL, RulesPtr is_local=NULL, char *time_level=NULL, const int *str_len=NULL)
Create a single Roccom window by reading in a list of files.
static void finalize(const std::string &mname)
Finalize the module by deregistering it from Roccom.
This file contains the prototypes for Roccom API.
std::set< int > m_pane_ids
friend void Rocin_unload_module(const char *name)
Unload the module Rocin from Roccom.
void(Rocin::* MemberRulePtr)(const int &, const int &, const int &, int *)
void cyclic_local(const int &pid, const int &comm_rank, const int &comm_size, int *il)
void register_panes(BlockMM_HDF4::iterator hdf4, const BlockMM_HDF4::iterator &hdf4End, const std::string &window, RulesPtr is_local, const MPI_Comm *comm, int rank, int nprocs)
bool is_local(int pid, int comm_rank, int comm_size)
static void init(const std::string &mname)
Initialize the module by registering it to Roccom with the given module name.
void read_parameter_file(const char *file_name, const char *window_name, const MPI_Comm *comm=NULL)
Read in parameters from a given file into the given window.
Rocin()
Default constructor.
std::map< int32, COM_Type > m_HDF2COM
void(* RulesPtr)(const int &pane_id, const int &comm_rank, const int &comm_size, int *is_local)
Pointer to a function to determine locality of a pane.
void obtain_attribute(const COM::Attribute *attribute_in, COM::Attribute *user_attribute, int *pane_id=NULL)
Fill the destination (second) attribute from files using the data corresponding to the source (first)...
void explicit_local(const int &pid, const int &comm_rank, const int &comm_size, int *il)
void read_by_control_file(const char *control_file_name, const char *window_name, const MPI_Comm *comm=NULL, char *time_level=NULL, const int *str_len=NULL)
Create a single Roccom window by reading in the files specified by the given control file...
friend void Rocin_load_module(const char *name)
Load the module Rocin into Roccom using the given module name.
void Rocin_unload_module(const char *name)
Unload the module Rocin from Roccom.