Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Dynamic topology phase IV #481

Merged
merged 47 commits into from
Oct 16, 2024
Merged
Show file tree
Hide file tree
Changes from 8 commits
Commits
Show all changes
47 commits
Select commit Hold shift + click to select a range
feb7c5a
IOSS: More changes to support Dynamic Topology
tokusanya Aug 15, 2024
ef77556
Merge remote-tracking branch 'upstream/master' into DynamicTopology-P…
tokusanya Aug 15, 2024
f273e85
IOSS: Dynamic Topology changes based on code review
tokusanya Aug 16, 2024
9f82422
IOSS:: More functonality to support Dynamic Topology
tokusanya Aug 18, 2024
779e765
IOSS: Attempt to provide "change set" concept instead of "groups"
tokusanya Aug 20, 2024
e7c1db2
Merge remote-tracking branch 'upstream/master' into DynamicTopology-P…
tokusanya Aug 20, 2024
d1b1732
IOSS: Fix compiler errors
tokusanya Aug 21, 2024
14aef54
Merge remote-tracking branch 'upstream/master' into DynamicTopology-P…
tokusanya Aug 21, 2024
90f97ec
IOSS: Refactoring and unit test fix
tokusanya Aug 21, 2024
14be761
IOSS: Introduce concept of Change Sets
tokusanya Sep 2, 2024
4c21e0b
Merge remote-tracking branch 'upstream/master' into DynamicTopology-P…
tokusanya Sep 3, 2024
2c71918
Hush compiler issues
tokusanya Sep 3, 2024
2791f05
Fix for Dynamic Topology unit test
tokusanya Sep 3, 2024
61236e4
Merge branch 'master' into DynamicTopology-PhaseIV
tokusanya Sep 7, 2024
2794a19
Hush more compiler warnings and address some review comments
tokusanya Sep 11, 2024
2fa97fc
Bump step-security/harden-runner from 2.9.1 to 2.10.0 (#492)
dependabot[bot] Sep 10, 2024
963c159
Lossy compression (#464)
gsjaardema Sep 11, 2024
1351b3c
Merge branch 'master' into DynamicTopology-PhaseIV
tokusanya Sep 11, 2024
bd521ac
Merge branch 'master' into DynamicTopology-PhaseIV
tokusanya Sep 23, 2024
9665d13
Bug fixes and some more refactoring
tokusanya Sep 25, 2024
dfa841c
Merge remote-tracking branch 'upstream/master' into DynamicTopology-P…
tokusanya Sep 25, 2024
3474237
Add more functionality to support app-side DTIO
tokusanya Sep 26, 2024
4620253
Merge remote-tracking branch 'upstream/master' into DynamicTopology-P…
tokusanya Sep 26, 2024
e0de79e
More fixes based on review comments
tokusanya Oct 3, 2024
b37d602
Merge remote-tracking branch 'upstream/master' into DynamicTopology-P…
tokusanya Oct 3, 2024
c198bc2
Merge branch 'master' into DynamicTopology-PhaseIV
gsjaardema Oct 3, 2024
4b104fd
Fix typo from previous merge
gsjaardema Oct 4, 2024
311ad5d
Fix issue with invalid exodus file pointer
gsjaardema Oct 8, 2024
0e574e4
IOSS: Remove commented out code
gsjaardema Oct 9, 2024
c258074
Merge branch 'master' into DynamicTopology-PhaseIV
gsjaardema Oct 9, 2024
2eb8964
Merge branch 'master' into DynamicTopology-PhaseIV
gsjaardema Oct 14, 2024
e289e04
Committing clang-format changes
github-actions[bot] Oct 14, 2024
ddf0161
Update io_shell.C from groups to change sets
gsjaardema Oct 14, 2024
a8f2539
Committing clang-format changes
github-actions[bot] Oct 14, 2024
73b4918
Update io_shell_ts.C
gsjaardema Oct 14, 2024
62828ef
DTIO: More fixes to support app usage
tokusanya Oct 16, 2024
523c2ef
Bump sphinx from 8.1.1 to 8.1.3 in /cmake/tribits/doc/sphinx (#523)
dependabot[bot] Oct 14, 2024
8401ace
Bump github/codeql-action from 3.26.12 to 3.26.13 (#524)
dependabot[bot] Oct 14, 2024
6eb2c06
Bump ubuntu from `b359f10` to `ab64a83` in /docker/seacas (#525)
dependabot[bot] Oct 14, 2024
915851b
Bump ubuntu from `b359f10` to `ab64a83` in /docker/exodus (#526)
dependabot[bot] Oct 14, 2024
19db1ff
CI: Add harden runner to clang-format
gdsjaar Oct 15, 2024
697207b
CI: Try different trailing whitespace [ci skip]
gdsjaar Oct 16, 2024
9d55a3f
Merge branch 'master' into DynamicTopology-PhaseIV
gsjaardema Oct 16, 2024
550a642
Committing clang-format changes
github-actions[bot] Oct 16, 2024
5eb0fb5
DTIO: Fix for bad merge and compiler complaints
tokusanya Oct 16, 2024
4626efd
DTIO: Split files into individual classes
tokusanya Oct 16, 2024
a37070b
Committing clang-format changes
github-actions[bot] Oct 16, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions packages/seacas/libraries/exodus/include/exodusII.h
Original file line number Diff line number Diff line change
Expand Up @@ -215,6 +215,7 @@ enum ex_inquiry {
EX_INQ_NUM_ELEM_SET_VAR = 69, /**< number of element set variables */
EX_INQ_NUM_SIDE_SET_VAR = 70, /**< number of sideset variables */
EX_INQ_NUM_GLOBAL_VAR = 71, /**< number of global variables */
EX_INQ_FILE_FORMAT = 72, /**< netCDF file format */
EX_INQ_INVALID = -1
};

Expand Down
12 changes: 12 additions & 0 deletions packages/seacas/libraries/exodus/src/ex_inquire.c
Original file line number Diff line number Diff line change
Expand Up @@ -975,6 +975,18 @@ static int ex_inquire_internal(int exoid, int req_info, int64_t *ret_int, float
#endif
break;

case EX_INQ_FILE_FORMAT:
gsjaardema marked this conversation as resolved.
Show resolved Hide resolved
/* return netCDF file format.
*/

*ret_int = 0;
#if NC_HAS_HDF5
int nc_format = 0;
nc_inq_format(exoid, &nc_format);
*ret_int = (int)nc_format;
#endif
break;

case EX_INQ_THREADSAFE:
/* Return 1 if the library was compiled in thread-safe mode.
* Return 0 otherwise
Expand Down
97 changes: 63 additions & 34 deletions packages/seacas/libraries/ioss/src/Ioss_DatabaseIO.h
Original file line number Diff line number Diff line change
Expand Up @@ -246,63 +246,75 @@ namespace Ioss {
flush_database_nl();
}

/** \brief If a database type supports groups and if the database
* contains groups, open the specified group.
/** \brief If a database type supports change sets and if the database
gsjaardema marked this conversation as resolved.
Show resolved Hide resolved
* contains change sets, open the specified set.
*
* If the group_name begins with '/', it specifies the absolute path
* name from the root with '/' separating groups. Otherwise, the
* group_name specifies a child group of the currently active group.
* If group_name == "/" then the root group is opened.
*
* \param[in] group_name The name of the group to open.
* \param[in] set_name The name of the set to open.
* \returns True if successful.
*/
bool open_group(const std::string &group_name)
bool open_change_set(const std::string &set_name)
{
IOSS_FUNC_ENTER(m_);
return open_group_nl(group_name);
return open_change_set_nl(set_name);
}

/** \brief If a database type supports groups, create the specified
* group as a child of the current group.
*
* The name of the group must not contain a '/' character.
* If the command is successful, then the group will be the
* active group for all subsequent writes to the database.
/** \brief If a database type supports change sets, create the
* specified set.
*
* \param[in] group_name The name of the subgroup to create.
* \param[in] set_name The name of the set to create.
* \returns True if successful.
*/
bool create_subgroup(const std::string &group_name)
bool create_change_set(const std::string &set_name)
{
IOSS_FUNC_ENTER(m_);
return create_subgroup_nl(group_name);
return create_change_set_nl(set_name);
}

bool open_root_group()
/** \brief If a database type supports change sets, and if the database
* contains change sets, return the number of change sets.
*/
int num_change_set()
{
IOSS_FUNC_ENTER(m_);
return open_root_group_nl();
return num_change_set_nl();
}

int num_child_group()
/** \brief If a database type supports change sets, open the change set
* specified [zero-based] index
*
* \param[in] child_index The [zero-based] index of the change set to open.
* \returns True if successful.
*/
bool open_change_set(int set_index)
{
IOSS_FUNC_ENTER(m_);
return num_child_group_nl();
return open_change_set_nl(set_index);
}

bool open_child_group(int index)
/** \brief If a database type supports change sets, return a list of set names
*
* \param[in] return_full_names Flag to control return of relative
* or full set name paths.
* \returns True if successful.
*/
Ioss::NameList change_set_describe(bool return_full_names = false)
{
IOSS_FUNC_ENTER(m_);
return open_child_group_nl(index);
return change_set_describe_nl(return_full_names);
}

Ioss::NameList groups_describe(bool return_full_names = false)
/** \brief Checks if a database type supports changes sets
gsjaardema marked this conversation as resolved.
Show resolved Hide resolved
*
* \returns True if successful.
*/
bool supports_change_set()
gsjaardema marked this conversation as resolved.
Show resolved Hide resolved
{
IOSS_FUNC_ENTER(m_);
return groups_describe_nl(return_full_names);
return supports_change_set_nl();
}

IOSS_NODISCARD virtual std::string get_change_set_name() const { return ""; }

/** \brief Set the database to the given State.
*
* All transitions must begin from the 'STATE_CLOSED' state or be to
Expand Down Expand Up @@ -356,7 +368,23 @@ namespace Ioss {
void get_step_times()
{
IOSS_FUNC_ENTER(m_);
return get_step_times_nl();
get_step_times_nl();
}

/** \brief Return the list of timesteps in the database contingent on ceetain
* controlling properties.
*
* This is different from get_step_times() in that it does not set timestep
* data on the region. If the database supports groups, it will return the
gsjaardema marked this conversation as resolved.
Show resolved Hide resolved
* timestep data for the current group
*
* \returns timesteps.
*
*/
std::vector<double> get_db_step_times()
gsjaardema marked this conversation as resolved.
Show resolved Hide resolved
{
IOSS_FUNC_ENTER(m_);
return get_db_step_times_nl();
}

IOSS_NODISCARD virtual bool internal_edges_available() const { return false; }
Expand Down Expand Up @@ -790,12 +818,12 @@ namespace Ioss {
return elemMap.global_to_local(global);
}

virtual int num_child_group_nl() { return 0; }
virtual bool open_child_group_nl(int /* index */) { return false; }
virtual bool open_root_group_nl() { return false; }
virtual bool open_group_nl(const std::string & /* group_name */) { return false; }
virtual bool create_subgroup_nl(const std::string & /* group_name */) { return false; }
virtual Ioss::NameList groups_describe_nl(bool /* return_full_names */)
virtual bool supports_change_set_nl() { return false; }
gsjaardema marked this conversation as resolved.
Show resolved Hide resolved
virtual bool open_change_set_nl(const std::string & /* set_name */) { return false; }
virtual bool open_change_set_nl(int /* index */) { return false; }
virtual bool create_change_set_nl(const std::string & /* set_name */) { return false; }
virtual int num_change_set_nl() { return 0; }
virtual Ioss::NameList change_set_describe_nl(bool /* return_full_names */)
{
return Ioss::NameList();
}
Expand All @@ -805,6 +833,7 @@ namespace Ioss {

virtual void read_meta_data_nl() = 0;
virtual void get_step_times_nl() {}
virtual std::vector<double> get_db_step_times_nl() { return std::vector<double>(); }

virtual bool begin_state_nl(int state, double time);
virtual bool end_state_nl(int state, double time);
Expand Down
Loading
Loading