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.

52 lines
1.7 KiB

2 years ago
/*
* Copyright(C) 1999-2022 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 <string>
#include <vector>
namespace Excn {
class SystemInterface;
class ExodusFile
{
public:
explicit ExodusFile(int processor);
~ExodusFile();
ExodusFile(const ExodusFile &) = delete;
ExodusFile operator=(const ExodusFile &) = delete;
static bool initialize(const SystemInterface &si, int start_part, int part_count, int cycle,
bool joining_subcycle);
static bool create_output(const SystemInterface &si, int cycle);
static void close_all();
static int output();
static int io_word_size() { return ioWordSize_; }
operator int() const;
static int max_name_length() { return maximumNameLength_; }
static void unlink_temporary_files();
private:
int myProcessor_;
static std::vector<std::string> filenames_;
static std::vector<int> fileids_;
static int processorCount_;
static int partCount_;
static int startPart_;
static int outputId_;
static int ioWordSize_;
static int cpuWordSize_;
static std::string outputFilename_;
static bool keepOpen_;
static bool verifyValidFile_;
static int maximumNameLength_;
static int mode64bit_;
};
} // namespace Excn