IOSS  2.0
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]

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

◆ filter_node_list() [2/2]

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

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