Cloned SEACAS for EXODUS library with extra build files for internal package management.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

64 lines
2.0 KiB

/*
* Copyright(C) 1999-2020, 2022, 2023 National Technology & Engineering Solutions
* of Sandia, LLC (NTESS). Under the terms of Contract DE-NA0003525 with
* NTESS, the U.S. Government retains certain rights in this software.
*
* See packages/seacas/LICENSE for details
*/
#pragma once
#include "rf_io_const.h"
#include <string>
/* Global variables. */
extern double PIO_Time_Array[]; /* Vector for timings */
/*
* The following variables are used when a single processor is to write
* info for a processor other than itself.
*/
/* Structure used to store the information necessary for parallel I/O. */
struct Parallel_IO
{
int Dsk_List_Cnt{};
int *Dsk_List{nullptr};
int **RDsk_List{nullptr};
int Num_Dsk_Ctrlrs{}; /* The number of disk controllers. */
int Num_Dsks_PCtrlr{}; /* The number of disks per controller. */
int PDsk_Add_Fact{}; /* The offset from zero used by the */
/* the target machine. */
int Zeros{}; /* 1 - if the target machine uses leading zeros when */
/* designating the disk number (eg - the paragon */
/* uses /pfs/io_01) */
/* 0 - if it does not (eg - the tflop uses */
/* /pfs/tmp_1) */
/* 1 - don't create a subdirectory for the spread files; write
* them in same directory as the mesh file
*/
int NoSubdirectory{};
/* The root location of the parallel disks */
std::string Par_Dsk_Root{};
/* The subdirectory to write files to */
std::string Par_Dsk_SubDirec{};
/* The filename extension for the parallel files */
std::string Exo_Extension{};
bool Staged_Writes{};
};
extern struct Parallel_IO PIO_Info;
extern std::string Par_Nem_File_Name; /* The parallel nemesis file name */
void gen_disk_map(struct Parallel_IO *pio_info, const std::array<int, 6> &proc_info, int proc,
int nproc);
std::string gen_par_filename(const std::string &scalar_fname, int proc_for, int nprocs);