IOSS 2.0

Namespaces | Classes | Typedefs | Functions
Ioex Namespace Reference

A namespace for the exodus database format. More...

## Namespaces
| anonymous_namespace{Ioex_DatabaseIO.C}

## Classes
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 | NodeBlock
struct | NodeSet
class | Redefine
struct | SideSet
class | SuperElement
struct | TopologyMapCompare

## Typedefs
using | VariableNameMap = std::map< std::string, int, std::less< std::string > >
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< const std::string > >
using | TopologyMap = std::map< std::pair< std::string, const Ioss::ElementTopology * >, int, TopologyMapCompare >

## Functions
const char * | Version ()
void | update_last_time_attribute (int exodusFilePtr, double value)
bool | read_last_time_attribute (int exodusFilePtr, double *value)
bool | check_processor_info (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, ex_entity_type type, Ioex::EntityIdSet *idset)
int64_t | extract_id (const std::string &name_id)
int64_t | get_id (const Ioss::GroupingEntity *entity, ex_entity_type type, 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, 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)
template<typename T >
void | filter_node_list (T *data, std::vector< T > &dbvals, const std::vector< int64_t > &active_node_index)

## Detailed Description

A namespace for the exodus database format.

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:

- Mesh – defines mesh global metadata
- Block – defines metadata for each block
- NodeSet – defines metadata for each nodeset
- SideSet – defines metadata for each sideset
- CommunicationMetaData – global metadata relating to parallel info.

Calling Internals::write_meta_data(), replaces the following exodusII and nemesis API calls:

- ex_put_init(),
- ex_put_elem_block(),
- ex_put_node_set_param(),
- ex_put_side_set_param(),
- ne_put_init_info(),
- ne_put_loadbal_param(),
- ne_put_cmap_params(),

## Typedef Documentation

## ◆ EntityIdSet

typedef std::set< std::pair< int64_t, int64_t > > Ioex::EntityIdSet

## ◆ SideSetMap

using Ioex::SideSetMap = typedef std::map<std::string, const std::string, std::less<const std::string> >

## ◆ SideSetSet

using Ioex::SideSetSet = typedef std::set<std::string>

## ◆ TopologyMap

using Ioex::TopologyMap = typedef std::map<std::pair<std::string, const Ioss::ElementTopology *>, int, TopologyMapCompare>

## ◆ ValueContainer

using Ioex::ValueContainer = typedef std::vector<double>

## ◆ VariableNameMap

using Ioex::VariableNameMap = typedef std::map<std::string, int, std::less<std::string> >

## ◆ VNMValuePair

using Ioex::VNMValuePair = typedef VariableNameMap::value_type

## Function Documentation

## ◆ add_coordinate_frames()

void Ioex::add_coordinate_frames | ( | int | exoid,
|  | Ioss::Region * | region
| ) |  |

## ◆ add_map_fields()

int Ioex::add_map_fields | ( | int | exoid,
|  | Ioss::ElementBlock * | block,
|  | int64_t | my_element_count,
|  | size_t | name_length
| ) |  |

## ◆ check_processor_info()

bool Ioex::check_processor_info | ( | int | exodusFilePtr,
|  | int | processor_count,
|  | int | processor_id
| ) |  |

## ◆ decode_surface_name()

void Ioex::decode_surface_name | ( | Ioex::SideSetMap & | fs_map,
|  | Ioex::SideSetSet & | fs_set,
|  | const std::string & | name
| ) |  |

## ◆ exodus_error()

void Ioex::exodus_error | ( | int | exoid,
|  | int | lineno,
|  | const char * | function,
|  | const char * | filename,
|  | const std::string & | extra
| ) |  |

## ◆ extract_id()

int64_t Ioex::extract_id | ( | const std::string & | name_id | ) |

## ◆ filter_element_list()

void Ioex::filter_element_list | ( | Ioss::Region * | region,
|  | Ioss::Int64Vector & | elements,
|  | Ioss::Int64Vector & | sides,
|  | bool | remove_omitted_elements
| ) |  |

## ◆ filter_node_list() [1/2]

template<typename T >

void Ioex::filter_node_list | ( | T * | data,
|  | std::vector< T > & | dbvals,
|  | const std::vector< int64_t > & | active_node_index
| ) |  |

## ◆ filter_node_list() [2/2]

bool Ioex::filter_node_list | ( | Ioss::Int64Vector & | nodes,
|  | const std::vector< unsigned char > & | node_connectivity_status
| ) |  |

## ◆ find_displacement_field()

bool Ioex::find_displacement_field | ( | Ioss::NameList & | fields,
|  | const Ioss::GroupingEntity * | block,
|  | int | ndim,
|  | std::string * | disp_name
| ) |  |

## ◆ fix_bad_name()

void Ioex::fix_bad_name | ( | char * | name | ) |

## ◆ get_entity_name()

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
| ) |  |

## ◆ get_id()

int64_t Ioex::get_id | ( | const Ioss::GroupingEntity * | entity,
|  | ex_entity_type | type,
|  | Ioex::EntityIdSet * | idset
| ) |  |

## ◆ read_last_time_attribute()

bool Ioex::read_last_time_attribute | ( | int | exodusFilePtr,
|  | double * | value
| ) |  |

## ◆ separate_surface_element_sides()

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
| ) |  |

## ◆ set_id()

bool Ioex::set_id | ( | const Ioss::GroupingEntity * | entity,
|  | ex_entity_type | type,
|  | Ioex::EntityIdSet * | idset
| ) |  |

## ◆ type_match()

bool Ioex::type_match | ( | const std::string & | type,
|  | const char * | substring
| ) |  |

## ◆ update_last_time_attribute()

void Ioex::update_last_time_attribute | ( | int | exodusFilePtr,
|  | double | value
| ) |  |

## ◆ Version()

const char * Ioex::Version | ( |  | ) |

## ◆ write_coordinate_frames()

void Ioex::write_coordinate_frames | ( | int | exoid,
|  | const Ioss::CoordinateFrameContainer & | frames
| ) |  |