9#include "iocatalyst_export.h"
11#include "gtest/gtest.h"
26 bool regionsAreEqual(
const std::string &fileName,
const std::string &catFileName,
27 const std::string &iossDatabaseType);
30 const std::string &iossDatabaseType);
43 conduit_cpp::Node getConduitFromExodusFile(std::string &filename,
44 Ioss::PropertyManager dbProps = {});
45 Ioss::DatabaseIO *getCatalystDatabaseFromConduit(conduit_cpp::Node &conduitNode,
46 Ioss::PropertyManager dbProps = {});
48 Ioss::DatabaseIO *getDatabaseOnReadFromFileName(
const std::string &fileName,
49 const std::string &iossDatabaseType,
50 Ioss::PropertyManager dbProps = {});
52 Ioss::DatabaseIO *getCatalystDatabaseFromConduitFiles(
const std::string &dirName,
53 Ioss::PropertyManager dbProps = {});
55 void checkZeroCopyFields(Iocatalyst::BlockMeshSet::IOSSparams &iop);
57 template <
typename EntityContainer>
61 auto nameList = g->field_describe();
62 for (
auto name : nameList) {
63 auto field = g->get_fieldref(name);
64 if (field.zero_copy_enabled()) {
65 std::vector<std::byte> dcBuffer(field.get_size());
66 g->get_field_data(name,
Data(dcBuffer), dcBuffer.size());
69 g->get_field_data(name, &data, &dataSize);
70 ASSERT_GT(dataSize, 0) <<
"DataSize is not greater than 0 for field " << name
72 std::byte *b =
static_cast<std::byte *
>(data);
73 std::vector<std::byte> zcBuffer(b, b + field.get_size());
74 EXPECT_EQ(dcBuffer, zcBuffer);
80 void setBlockMeshSize(
unsigned int i,
unsigned int j,
unsigned int k);
81 void setOrigin(
unsigned int i,
unsigned int j,
unsigned int k);
IOSS_NODISCARD constexpr T * Data(std::vector< T > &vec)
Definition Ioss_Utils.h:58
Definition Iocatalyst_BlockMeshSet.h:20
static const std::string NODE_BLOCK_NAME
Definition Iocatalyst_BlockMeshSet.h:25
Definition Iocatalyst_BlockMesh.h:16
void runUnstructuredTest(const std::string &testName, bool writeConnectivityRaw=false, const std::string &nodeBlockName=Iocatalyst::BlockMeshSet::NODE_BLOCK_NAME)
Definition Iocatalyst_DatabaseIOTest.C:82
static const std::string CATALYST_DUMMY_DATABASE
Definition Iocatalyst_DatabaseIOTest.h:91
const std::string CATALYST_TEST_FILE_NP
Definition Iocatalyst_DatabaseIOTest.h:89
Iocatalyst::BlockMesh::Extent origin
Definition Iocatalyst_DatabaseIOTest.h:21
Ioss::ParallelUtils putils
Definition Iocatalyst_DatabaseIOTest.h:22
Ioss::DatabaseIO * writeAndGetExodusDatabaseOnRead(const std::string &testName, Ioss::PropertyManager dbProps={})
Definition Iocatalyst_DatabaseIOTest.C:101
const std::string CGNS_DATABASE_TYPE
Definition Iocatalyst_DatabaseIOTest.h:84
static const std::string CATALYST_DATABASE_TYPE
Definition Iocatalyst_DatabaseIOTest.h:90
const std::string EXODUS_DATABASE_TYPE
Definition Iocatalyst_DatabaseIOTest.h:86
Iocatalyst::BlockMeshSet bmSet
Definition Iocatalyst_DatabaseIOTest.h:18
bool regionsAreEqual(const std::string &fileName, const std::string &catFileName, const std::string &iossDatabaseType)
Definition Iocatalyst_DatabaseIOTest.C:32
Iocatalyst_DatabaseIOTest()
Definition Iocatalyst_DatabaseIOTest.C:20
void runStructuredTest(const std::string &testName)
Definition Iocatalyst_DatabaseIOTest.C:68
bool regionsAreEqualCatalystAndIoss(const std::string &fileName, Ioss::DatabaseIO &cat_d, const std::string &iossDatabaseType)
const std::string EXODUS_FILE_EXTENSION
Definition Iocatalyst_DatabaseIOTest.h:87
const std::string CATALYST_TEST_FILE_PREFIX
Definition Iocatalyst_DatabaseIOTest.h:88
Iocatalyst::BlockMesh::Extent blockMeshSize
Definition Iocatalyst_DatabaseIOTest.h:20
Iocatalyst::BlockMesh::Partition part
Definition Iocatalyst_DatabaseIOTest.h:19
const std::string CGNS_FILE_EXTENSION
Definition Iocatalyst_DatabaseIOTest.h:85
void checkEntityContainerZeroCopyFields(const EntityContainer &ge)
Definition Iocatalyst_DatabaseIOTest.h:58
An input or output Database.
Definition Ioss_DatabaseIO.h:63
Definition Ioss_ParallelUtils.h:32
A collection of Ioss::Property objects.
Definition Ioss_PropertyManager.h:36
Definition Iocatalyst_BlockMesh.h:32
Definition Iocatalyst_BlockMesh.h:19