IOSS 2.0
|
A namespace for the exodus database format. More...
Namespaces | |
namespace | anonymous_namespace{Ioex_BaseDatabaseIO.C} |
namespace | anonymous_namespace{Ioex_DatabaseIO.C} |
Classes | |
struct | Assembly |
class | BaseDatabaseIO |
struct | Blob |
class | ChangeSet |
class | ChangeSetFactory |
struct | CommunicationMap |
struct | CommunicationMetaData |
class | DatabaseIO |
struct | EdgeBlock |
struct | EdgeSet |
struct | ElemBlock |
struct | ElemSet |
struct | FaceBlock |
struct | FaceSet |
class | Internals |
class | IOFactory |
class | Mesh |
struct | NameTopoKeyCompare |
struct | NameTopoKeyHash |
struct | NodeBlock |
struct | NodeSet |
class | Redefine |
struct | SideSet |
class | SuperElement |
Typedefs | |
using | VariableNameMap = std::map<std::string, int, std::less<>> |
using | VNMValuePair = VariableNameMap::value_type |
using | ValueContainer = std::vector<double> |
using | EntityIdSet = std::set<std::pair<int64_t, int64_t>> |
using | SideSetSet = std::set<std::string> |
using | SideSetMap = std::map<std::string, const std::string, std::less<>> |
using | NameTopoKey = std::pair<std::string, const Ioss::ElementTopology *> |
using | TopologyMap = tsl::hopscotch_map<NameTopoKey, int, NameTopoKeyHash> |
Functions | |
void | update_last_time_attribute (int exodusFilePtr, double value) |
std::string | map_ioss_field_type (ex_field_type type) |
ex_field_type | map_ioss_field_type (const Ioss::VariableType *type) |
Ioss::EntityType | map_exodus_type (ex_entity_type type) |
int | read_exodus_basis (int exoid) |
int | read_exodus_quadrature (int exoid) |
ex_entity_type | map_exodus_type (Ioss::EntityType type) |
char ** | get_name_array (size_t count, int size) |
void | delete_name_array (char **names, int count) |
Ioss::NameList | get_variable_names (int nvar, int maximumNameLength, int exoid, ex_entity_type type) |
Ioss::NameList | get_reduction_variable_names (int nvar, int maximumNameLength, int exoid, ex_entity_type type) |
bool | read_last_time_attribute (int exodusFilePtr, double *value) |
bool | check_processor_info (const std::string &filename, int exodusFilePtr, int processor_count, int processor_id) |
bool | type_match (const std::string &type, const char *substring) |
void | decode_surface_name (Ioex::SideSetMap &fs_map, Ioex::SideSetSet &fs_set, const std::string &name) |
bool | set_id (const Ioss::GroupingEntity *entity, Ioex::EntityIdSet *idset) |
int64_t | extract_id (const std::string &name_id) |
int64_t | get_id (const Ioss::GroupingEntity *entity, Ioex::EntityIdSet *idset) |
bool | find_displacement_field (Ioss::NameList &fields, const Ioss::GroupingEntity *block, int ndim, std::string *disp_name) |
void | fix_bad_name (char *name) |
std::string | get_entity_name (int exoid, ex_entity_type type, int64_t id, const std::string &basename, int length, bool &db_has_name) |
void | exodus_error (int exoid, int lineno, const char *function, const char *filename) |
void | exodus_error (int exoid, int lineno, const char *function, const char *filename, const std::string &extra) |
int | add_map_fields (int exoid, Ioss::ElementBlock *block, int64_t my_element_count, size_t name_length) |
void | write_coordinate_frames (int exoid, const Ioss::CoordinateFrameContainer &frames) |
void | add_coordinate_frames (int exoid, Ioss::Region *region) |
bool | filter_node_list (Ioss::Int64Vector &nodes, const std::vector< unsigned char > &node_connectivity_status) |
void | filter_element_list (Ioss::Region *region, Ioss::Int64Vector &elements, Ioss::Int64Vector &sides, bool remove_omitted_elements) |
void | separate_surface_element_sides (Ioss::Int64Vector &element, Ioss::Int64Vector &sides, Ioss::Region *region, Ioex::TopologyMap &topo_map, Ioex::TopologyMap &side_map, Ioss::SurfaceSplitType split_type, const std::string &surface_name) |
void | write_reduction_attributes (int exoid, const Ioss::GroupingEntity *ge) |
IOSS_NODISCARD IOEX_EXPORT const char * | Version () |
template<typename T > | |
void | filter_node_list (T *data, std::vector< T > &dbvals, const std::vector< int64_t > &active_node_index) |
template<typename T > | |
void | write_reduction_attributes (int exoid, const std::vector< T * > &entities) |
A namespace for the exodus database format.
A namespace for the file-per-process version of the parallel exodus database format.
A namespace for the exodus change set type.
This set of classes provides a thin wrapper around the exodusII internals. It supplants several of the exodusII API calls in order to avoid ncredef calls which totally rewrite the existing database and can be very expensive. These routines provide all required variable, dimension, and attribute definitions to the underlying netcdf file with only a single ncredef call.
To use the application must create an Internals instance and call the Internals::write_meta_data() function. This function requires several classes as arguments including:
Calling Internals::write_meta_data(), replaces the following exodusII and nemesis API calls:
using Ioex::EntityIdSet = std::set<std::pair<int64_t, int64_t>> |
using Ioex::NameTopoKey = std::pair<std::string, const Ioss::ElementTopology *> |
using Ioex::SideSetMap = std::map<std::string, const std::string, std::less<>> |
using Ioex::SideSetSet = std::set<std::string> |
using Ioex::TopologyMap = tsl::hopscotch_map<NameTopoKey, int, NameTopoKeyHash> |
using Ioex::ValueContainer = std::vector<double> |
using Ioex::VariableNameMap = std::map<std::string, int, std::less<>> |
using Ioex::VNMValuePair = VariableNameMap::value_type |
IOEX_EXPORT void Ioex::add_coordinate_frames | ( | int | exoid, |
Ioss::Region * | region ) |
IOEX_EXPORT int Ioex::add_map_fields | ( | int | exoid, |
Ioss::ElementBlock * | block, | ||
int64_t | my_element_count, | ||
size_t | name_length ) |
IOEX_EXPORT bool Ioex::check_processor_info | ( | const std::string & | filename, |
int | exodusFilePtr, | ||
int | processor_count, | ||
int | processor_id ) |
IOEX_EXPORT void Ioex::decode_surface_name | ( | Ioex::SideSetMap & | fs_map, |
Ioex::SideSetSet & | fs_set, | ||
const std::string & | name ) |
IOEX_EXPORT void Ioex::delete_name_array | ( | char ** | names, |
int | count ) |
IOEX_EXPORT void Ioex::exodus_error | ( | int | exoid, |
int | lineno, | ||
const char * | function, | ||
const char * | filename ) |
IOEX_EXPORT void Ioex::exodus_error | ( | int | exoid, |
int | lineno, | ||
const char * | function, | ||
const char * | filename, | ||
const std::string & | extra ) |
IOSS_NODISCARD IOEX_EXPORT int64_t Ioex::extract_id | ( | const std::string & | name_id | ) |
IOEX_EXPORT void Ioex::filter_element_list | ( | Ioss::Region * | region, |
Ioss::Int64Vector & | elements, | ||
Ioss::Int64Vector & | sides, | ||
bool | remove_omitted_elements ) |
IOEX_EXPORT bool Ioex::filter_node_list | ( | Ioss::Int64Vector & | nodes, |
const std::vector< unsigned char > & | node_connectivity_status ) |
void Ioex::filter_node_list | ( | T * | data, |
std::vector< T > & | dbvals, | ||
const std::vector< int64_t > & | active_node_index ) |
IOEX_EXPORT bool Ioex::find_displacement_field | ( | Ioss::NameList & | fields, |
const Ioss::GroupingEntity * | block, | ||
int | ndim, | ||
std::string * | disp_name ) |
IOEX_EXPORT void Ioex::fix_bad_name | ( | char * | name | ) |
IOSS_NODISCARD IOEX_EXPORT std::string Ioex::get_entity_name | ( | int | exoid, |
ex_entity_type | type, | ||
int64_t | id, | ||
const std::string & | basename, | ||
int | length, | ||
bool & | db_has_name ) |
IOEX_EXPORT int64_t Ioex::get_id | ( | const Ioss::GroupingEntity * | entity, |
Ioex::EntityIdSet * | idset ) |
IOSS_NODISCARD IOEX_EXPORT char ** Ioex::get_name_array | ( | size_t | count, |
int | size ) |
IOSS_NODISCARD IOEX_EXPORT Ioss::NameList Ioex::get_reduction_variable_names | ( | int | nvar, |
int | maximumNameLength, | ||
int | exoid, | ||
ex_entity_type | type ) |
IOSS_NODISCARD IOEX_EXPORT Ioss::NameList Ioex::get_variable_names | ( | int | nvar, |
int | maximumNameLength, | ||
int | exoid, | ||
ex_entity_type | type ) |
IOSS_NODISCARD IOEX_EXPORT Ioss::EntityType Ioex::map_exodus_type | ( | ex_entity_type | type | ) |
IOSS_NODISCARD IOEX_EXPORT ex_entity_type Ioex::map_exodus_type | ( | Ioss::EntityType | type | ) |
IOSS_NODISCARD IOEX_EXPORT ex_field_type Ioex::map_ioss_field_type | ( | const Ioss::VariableType * | type | ) |
IOSS_NODISCARD IOEX_EXPORT std::string Ioex::map_ioss_field_type | ( | ex_field_type | type | ) |
IOEX_EXPORT int Ioex::read_exodus_basis | ( | int | exoid | ) |
IOEX_EXPORT int Ioex::read_exodus_quadrature | ( | int | exoid | ) |
IOEX_EXPORT bool Ioex::read_last_time_attribute | ( | int | exodusFilePtr, |
double * | value ) |
IOEX_EXPORT void Ioex::separate_surface_element_sides | ( | Ioss::Int64Vector & | element, |
Ioss::Int64Vector & | sides, | ||
Ioss::Region * | region, | ||
Ioex::TopologyMap & | topo_map, | ||
Ioex::TopologyMap & | side_map, | ||
Ioss::SurfaceSplitType | split_type, | ||
const std::string & | surface_name ) |
IOEX_EXPORT bool Ioex::set_id | ( | const Ioss::GroupingEntity * | entity, |
Ioex::EntityIdSet * | idset ) |
IOSS_NODISCARD IOEX_EXPORT bool Ioex::type_match | ( | const std::string & | type, |
const char * | substring ) |
IOEX_EXPORT void Ioex::update_last_time_attribute | ( | int | exodusFilePtr, |
double | value ) |
IOSS_NODISCARD IOEX_EXPORT const char * Ioex::Version | ( | ) |
IOEX_EXPORT void Ioex::write_coordinate_frames | ( | int | exoid, |
const Ioss::CoordinateFrameContainer & | frames ) |
IOEX_EXPORT void Ioex::write_reduction_attributes | ( | int | exoid, |
const Ioss::GroupingEntity * | ge ) |
void Ioex::write_reduction_attributes | ( | int | exoid, |
const std::vector< T * > & | entities ) |