libMesh
exodusII_io_helper.h
Go to the documentation of this file.
1 // The libMesh Finite Element Library.
2 // Copyright (C) 2002-2019 Benjamin S. Kirk, John W. Peterson, Roy H. Stogner
3 
4 // This library is free software; you can redistribute it and/or
5 // modify it under the terms of the GNU Lesser General Public
6 // License as published by the Free Software Foundation; either
7 // version 2.1 of the License, or (at your option) any later version.
8 
9 // This library is distributed in the hope that it will be useful,
10 // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 // Lesser General Public License for more details.
13 
14 // You should have received a copy of the GNU Lesser General Public
15 // License along with this library; if not, write to the Free Software
16 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
17 
18 #ifndef LIBMESH_EXODUSII_IO_HELPER_H
19 #define LIBMESH_EXODUSII_IO_HELPER_H
20 
21 #include "libmesh/libmesh_config.h"
22 
23 #ifdef LIBMESH_HAVE_EXODUS_API
24 
25 // Local includes
26 #include "libmesh/parallel_object.h"
27 #include "libmesh/point.h"
28 #include "libmesh/boundary_info.h" // BoundaryInfo::BCTuple
29 #include "libmesh/enum_elem_type.h" // INVALID_ELEM
30 
31 // C++ includes
32 #include <iostream>
33 #include <string>
34 #include <vector>
35 #include <map>
36 
37 // Macros to simplify checking Exodus error codes
38 #define EX_CHECK_ERR(code, msg) \
39  do { \
40  if ((code) < 0) { \
41  libmesh_error_msg((msg)); \
42  } } while (0)
43 
44 #define EX_EXCEPTIONLESS_CHECK_ERR(code, msg) \
45  do { \
46  if ((code) < 0) { \
47  libMesh::err << (msg) << std::endl; \
48  libmesh_exceptionless_error(); \
49  } } while (0)
50 
51 // Before we include a header wrapped in a namespace, we'd better make
52 // sure none of its dependencies end up in that namespace
53 #include <errno.h>
54 #include <stddef.h>
55 #include <stdlib.h>
56 #include <stdint.h>
57 
58 #include <libmesh/ignore_warnings.h>
59 namespace exII {
60 extern "C" {
61 #include "exodusII.h" // defines MAX_LINE_LENGTH, MAX_STR_LENGTH used later
62 }
63 }
64 #include <libmesh/restore_warnings.h>
65 
66 namespace libMesh
67 {
68 
69 // Forward declarations
70 class MeshBase;
71 
81 {
82 public:
90  ExodusII_IO_Helper(const ParallelObject & parent,
91  bool v=false,
92  bool run_only_on_proc0=true,
93  bool single_precision=false);
100  ExodusII_IO_Helper (const ExodusII_IO_Helper &) = default;
101  ExodusII_IO_Helper (ExodusII_IO_Helper &&) = default;
102  ExodusII_IO_Helper & operator= (const ExodusII_IO_Helper &) = default;
104  virtual ~ExodusII_IO_Helper();
105 
112  const char * get_elem_type() const;
113 
119  void open(const char * filename, bool read_only);
120 
124  void read_header();
125 
131  void read_qa_records();
132 
138  void print_header();
139 
144  void read_nodes();
145 
150  void read_node_num_map();
151 
155  void print_nodes(std::ostream & out = libMesh::out);
156 
161  void read_block_info();
162 
166  int get_block_id(int index);
167 
172  std::string get_block_name(int index);
173 
177  int get_side_set_id(int index);
178 
183  std::string get_side_set_name(int index);
184 
188  int get_node_set_id(int index);
189 
194  std::string get_node_set_name(int index);
195 
200  void read_elem_in_block(int block);
201 
206 
211  void read_elem_num_map();
212 
217  void read_sideset_info();
218 
223  void read_nodeset_info();
224 
229  void read_sideset(int id, int offset);
230 
235  void read_nodeset(int id);
236 
242  void read_all_nodesets();
243 
247  void close();
248 
252  int inquire(int req_info, std::string error_msg="");
253 
257  void read_time_steps();
258 
263  void read_num_time_steps();
264 
269  void read_nodal_var_values(std::string nodal_var_name, int time_step);
270 
275  void read_elemental_var_values(std::string elemental_var_name,
276  int time_step,
277  std::map<dof_id_type, Real> & elem_var_value_map);
278 
282  virtual void create(std::string filename);
283 
287  virtual void initialize(std::string title, const MeshBase & mesh, bool use_discontinuous=false);
288 
292  virtual void write_nodal_coordinates(const MeshBase & mesh, bool use_discontinuous=false);
293 
298  virtual void write_elements(const MeshBase & mesh, bool use_discontinuous=false);
299 
303  virtual void write_sidesets(const MeshBase & mesh);
304 
308  virtual void write_nodesets(const MeshBase & mesh);
309 
313  virtual void initialize_element_variables(std::vector<std::string> names,
314  const std::vector<std::set<subdomain_id_type>> & vars_active_subdomains);
315 
319  void initialize_nodal_variables(std::vector<std::string> names);
320 
324  void initialize_global_variables(std::vector<std::string> names);
325 
329  void write_timestep(int timestep, Real time);
330 
334  void
336  int timestep,
337  const std::vector<std::string> & var_names,
338  const std::vector<std::set<boundary_id_type>> & side_ids,
339  const std::vector<std::map<BoundaryInfo::BCTuple, Real>> & bc_vals);
340 
344  void
346  int timestep,
347  std::vector<std::string> & var_names,
348  std::vector<std::set<boundary_id_type>> & side_ids,
349  std::vector<std::map<BoundaryInfo::BCTuple, Real>> & bc_vals);
350 
363  (const MeshBase & mesh,
364  const std::vector<Real> & values,
365  int timestep,
366  const std::vector<std::set<subdomain_id_type>> & vars_active_subdomains);
367 
383  (const MeshBase & mesh,
384  const std::vector<Real> & values,
385  int timestep,
386  const std::vector<std::set<subdomain_id_type>> & vars_active_subdomains,
387  const std::vector<std::string> & derived_var_names,
388  const std::map<subdomain_id_type, std::vector<std::string>> & subdomain_to_var_names);
389 
393  void write_nodal_values(int var_id, const std::vector<Real> & values, int timestep);
394 
398  void write_information_records(const std::vector<std::string> & records);
399 
403  void write_global_values(const std::vector<Real> & values, int timestep);
404 
408  void read_global_values(std::vector<Real> & values, int timestep);
409 
419 
432  void write_as_dimension(unsigned dim);
433 
439 
444  std::vector<std::string> get_complex_names(const std::vector<std::string> & names) const;
445 
450  std::vector<std::set<subdomain_id_type>> get_complex_vars_active_subdomains(
451  const std::vector<std::set<subdomain_id_type>> & vars_active_subdomains) const;
452 
460  std::map<subdomain_id_type, std::vector<std::string>>
462  const std::map<subdomain_id_type, std::vector<std::string>> & subdomain_to_var_names) const;
463 
469  class Conversion;
470 
476  class NamesData;
477 
482  void message(const std::string & msg);
483 
489  void message(const std::string & msg, int i);
490 
491  // File identification flag
492  int ex_id;
493 
494  // General error flag
495  int ex_err;
496 
497  // Number of dimensions in the mesh
498  int num_dim;
499 
500  // Number of global variables
502 
503  // Number of sideset variables
505 
506  // Total number of nodes in the mesh
508 
509  // Total number of elements in the mesh
510  int num_elem;
511 
512  // Total number of element blocks
514 
515  // Total number of edges
516  int num_edge;
517 
518  // Total number of edge blocks. The sum of the number of edges in
519  // each block must equal num_edge.
521 
522  // Total number of node sets
524 
525  // Total number of element sets
527 
528  // Number of elements in this block
530 
531  // Number of nodes in each element
533 
534  // Number of attributes for a given block
535  int num_attr;
536 
537  // Total number of elements in all side sets
539 
540  // Vector of element block identification numbers
541  std::vector<int> block_ids;
542 
543  // Vector of edge block identification numbers
544  std::vector<int> edge_block_ids;
545 
546  // Vector of nodes in an element
547  std::vector<int> connect;
548 
549  // Vector of the sideset IDs
550  std::vector<int> ss_ids;
551 
552  // Vector of the nodeset IDs
553  std::vector<int> nodeset_ids;
554 
555  // Number of sides (edges/faces) in current set
556  std::vector<int> num_sides_per_set;
557 
558  // Number of nodes in current set
559  std::vector<int> num_nodes_per_set;
560 
561  // Number of distribution factors per set
562  std::vector<int> num_df_per_set;
563 
564  // Number of distribution factors per set
565  std::vector<int> num_node_df_per_set;
566 
567  // Starting indices for each nodeset in the node_sets_node_list vector.
568  // Used in the calls to ex_{put,get}_concat_node_sets().
569  std::vector<int> node_sets_node_index;
570 
571  // Starting indices for each nodeset in the node_sets_dist_fact vector.
572  // Used in the calls to ex_{put,get}_concat_node_sets().
573  std::vector<int> node_sets_dist_index;
574 
575  // Node ids for all nodes in nodesets, concatenated together.
576  // Used in the calls to ex_{put,get}_concat_node_sets().
577  std::vector<int> node_sets_node_list;
578 
579  // Distribution factors for all nodes in all nodesets, concatenated together.
580  // Used in the calls to ex_{put,get}_concat_node_sets().
581  std::vector<Real> node_sets_dist_fact;
582 
583  // List of element numbers in all sidesets
584  std::vector<int> elem_list;
585 
586  // Side (face/edge) number actually on the boundary
587  std::vector<int> side_list;
588 
589  // Node number actually on the boundary
590  std::vector<int> node_list;
591 
592  // Side (face/edge) id number
593  std::vector<int> id_list;
594 
595  // Optional mapping from internal [0,num_nodes) to arbitrary indices
596  std::vector<int> node_num_map;
597 
598  // Optional mapping from internal [0,num_elem) to arbitrary indices
599  std::vector<int> elem_num_map;
600 
601  // x locations of node points
602  std::vector<Real> x;
603 
604  // y locations of node points
605  std::vector<Real> y;
606 
607  // z locations of node points
608  std::vector<Real> z;
609 
610  // Problem title (Use vector<char> to emulate a char *)
611  std::vector<char> title;
612 
613  // Type of element in a given block
614  std::vector<char> elem_type;
615 
616  // Maps libMesh element numbers to Exodus element numbers
617  // gets filled in when write_elements gets called
618  std::map<int, int> libmesh_elem_num_to_exodus;
619  std::vector<int> exodus_elem_num_to_libmesh;
620 
621  // Map of all node numbers connected to local node numbers to their exodus numbering.
622  // The exodus numbers are stored in here starting with 1
623  std::map<int, int> libmesh_node_num_to_exodus;
624  std::vector<int> exodus_node_num_to_libmesh;
625 
626  // The number of timesteps in the file, as returned by ex_inquire
628 
629  // The timesteps stored in the solution file, filled by read_time_steps()
630  std::vector<Real> time_steps;
631 
632  // The number of nodal variables in the Exodus file
634 
635  // The names of the nodal variables stored in the Exodus file
636  std::vector<std::string> nodal_var_names;
637 
638  // Holds the nodal variable values for a given variable, one value per node
639  std::vector<Real> nodal_var_values;
640 
641  // The number of elemental variables in the Exodus file
643 
644  // The names of the elemental variables stored in the Exodus file
645  std::vector<std::string> elem_var_names;
646 
647  // Holds the elemental variable values for a given variable, one value per element
648  std::vector<Real> elem_var_values;
649 
650  // The names of the global variables stored in the Exodus file
651  std::vector<std::string> global_var_names;
652 
653  // The names of the sideset variables stored in the Exodus file
654  std::vector<std::string> sideset_var_names;
655 
656  // Maps of Ids to named entities
657  std::map<int, std::string> id_to_block_names;
658  std::map<int, std::string> id_to_edge_block_names;
659  std::map<int, std::string> id_to_ss_names;
660  std::map<int, std::string> id_to_ns_names;
661 
662  // On/Off message flag
663  bool verbose;
664 
665  // This flag gets set after the Exodus file has been successfully opened for writing.
666  // Both the create() and open() (if called with EX_WRITE) functions may set this flag.
668 
669  // This flag gets set after the open() function has been successfully called.
670  // We call open() to open an ExodusII file for reading.
672 
673  // When either create() or open() is called, the Helper stores the
674  // name of the opened file as current_filename. This way, the
675  // ExodusII_IO object can check to see if, on subsequent writes, the
676  // user is asking to write to a *different* filename from the one
677  // that is currently open, and signal an error. The current
678  // ExodusII_IO implementation is designed to work with a single file
679  // only, so if you want to write to multiple Exodus files, use a
680  // different ExodusII_IO object for each one.
681  std::string current_filename;
682 
693  void read_var_names(ExodusVarType type);
694 
696  get_conversion(const ElemType type) const;
697 
699  get_conversion(std::string type_str) const;
700 
701 protected:
706  void check_existing_vars(ExodusVarType type, std::vector<std::string> & names, std::vector<std::string> & names_from_file);
707 
713  void write_var_names(ExodusVarType type, const std::vector<std::string> & names);
714 
715  // If true, whenever there is an I/O operation, only perform if if we are on processor 0.
717 
718  // True once the elem vars are initialized
720 
721  // True once the global vars are initialized
723 
724  // True once the nodal vars are initialized
726 
727  // If true, use the Mesh's dimension (as determined by the dimension
728  // of the elements comprising the mesh) instead of the mesh's
729  // spatial dimension, when writing. By default this is false.
731 
732  // Use this for num_dim when writing the Exodus file. If non-zero, supersedes
733  // any value set in _use_mesh_dimension_instead_of_spatial_dimension.
735 
736  // On output, shift every point by _coordinate_offset
738 
739  // If true, forces single precision I/O
741 
752  {
753  // If necessary, allocates space to store a version of vec_in in a
754  // different precision than it was input with.
755  MappedOutputVector(const std::vector<Real> & vec_in,
756  bool single_precision_in);
757 
758  ~MappedOutputVector() = default;
759 
760  // Returns void * pointer to either the mapped data or the
761  // original data, as necessary.
762  void * data();
763 
764  private:
765  const std::vector<Real> & our_data;
767  std::vector<double> double_vec;
768  std::vector<float> float_vec;
769  };
770 
779  {
780  MappedInputVector(std::vector<Real> & vec_in,
781  bool single_precision_in);
783 
784  // Returns void * pointer to either the mapped data or the
785  // original data, as necessary.
786  void * data();
787 
788  private:
789  std::vector<Real> & our_data;
791  std::vector<double> double_vec;
792  std::vector<float> float_vec;
793  };
794 
795 
796 private:
797 
801  void read_var_names_impl(const char * var_type,
802  int & count,
803  std::vector<std::string> & result);
804 
808  void write_var_names_impl(const char * var_type,
809  int & count,
810  const std::vector<std::string> & names);
811 
816  std::map<std::string, ElemType> element_equivalence_map;
818 
823  std::map<ElemType, ExodusII_IO_Helper::Conversion> conversion_map;
824  void init_conversion_map();
825 };
826 
827 
828 
829 
830 
831 
832 
833 
835 {
836 public:
837 
842  : node_map(nullptr),
843  inverse_node_map(nullptr),
844  side_map(nullptr),
845  inverse_side_map(nullptr),
846  shellface_map(nullptr),
847  inverse_shellface_map(nullptr),
850  exodus_type("")
851  {}
852 
859  int get_node_map(int i) const;
860 
871  int get_inverse_node_map(int i) const;
872 
879  int get_side_map(int i) const;
880 
887  int get_inverse_side_map(int i) const;
888 
893  int get_shellface_map(int i) const;
894 
898  int get_inverse_shellface_map(int i) const;
899 
906  ElemType libmesh_elem_type() const;
907 
911  std::string exodus_elem_type() const;
912 
916  std::size_t get_shellface_index_offset() const;
917 
922  static const int invalid_id;
923 
927  const std::vector<int> * node_map;
928 
934  const std::vector<int> * inverse_node_map;
935 
939  const std::vector<int> * side_map;
940 
944  const std::vector<int> * inverse_side_map;
945 
951  const std::vector<int> * shellface_map;
952 
956  const std::vector<int> * inverse_shellface_map;
957 
964 
970 
974  std::string exodus_type;
975 };
976 
977 
978 
985 {
986 public:
992  explicit
993  NamesData(size_t n_strings, size_t string_length);
994 
998  void push_back_entry(const std::string & name);
999 
1003  char ** get_char_star_star();
1004 
1008  char * get_char_star(int i);
1009 
1010 private:
1011  // C++ data structures for managing string memory
1012  std::vector<std::vector<char>> data_table;
1013  std::vector<char *> data_table_pointers;
1014 
1015  size_t counter;
1016  size_t table_size;
1017 };
1018 
1019 
1020 } // namespace libMesh
1021 
1022 #endif // LIBMESH_HAVE_EXODUS_API
1023 
1024 #endif // LIBMESH_EXODUSII_IO_HELPER_H
libMesh::ExodusII_IO_Helper::ExodusII_IO_Helper
ExodusII_IO_Helper(const ParallelObject &parent, bool v=false, bool run_only_on_proc0=true, bool single_precision=false)
Constructor.
Definition: exodusII_io_helper.C:98
libMesh::ExodusII_IO_Helper::opened_for_writing
bool opened_for_writing
Definition: exodusII_io_helper.h:667
libMesh::ExodusII_IO_Helper::id_to_ss_names
std::map< int, std::string > id_to_ss_names
Definition: exodusII_io_helper.h:659
libMesh::ExodusII_IO_Helper::NamesData::data_table
std::vector< std::vector< char > > data_table
Definition: exodusII_io_helper.h:1012
libMesh::ExodusII_IO_Helper::get_block_id
int get_block_id(int index)
Get the block number for the given block index.
Definition: exodusII_io_helper.C:742
libMesh::ExodusII_IO_Helper::global_var_names
std::vector< std::string > global_var_names
Definition: exodusII_io_helper.h:651
libMesh::ExodusII_IO_Helper::get_conversion
const ExodusII_IO_Helper::Conversion & get_conversion(const ElemType type) const
Definition: exodusII_io_helper.C:383
libMesh::ExodusII_IO_Helper::node_num_map
std::vector< int > node_num_map
Definition: exodusII_io_helper.h:596
libMesh::ExodusII_IO_Helper::_single_precision
bool _single_precision
Definition: exodusII_io_helper.h:740
libMesh::ExodusII_IO_Helper::NamesData::data_table_pointers
std::vector< char * > data_table_pointers
Definition: exodusII_io_helper.h:1013
libMesh::ExodusII_IO_Helper::node_sets_dist_index
std::vector< int > node_sets_dist_index
Definition: exodusII_io_helper.h:573
libMesh::ExodusII_IO_Helper::libmesh_node_num_to_exodus
std::map< int, int > libmesh_node_num_to_exodus
Definition: exodusII_io_helper.h:623
libMesh::ExodusII_IO_Helper::MappedInputVector::single_precision
bool single_precision
Definition: exodusII_io_helper.h:790
libMesh::ExodusII_IO_Helper::Conversion::exodus_elem_type
std::string exodus_elem_type() const
Definition: exodusII_io_helper.C:3341
libMesh::ExodusII_IO_Helper::current_filename
std::string current_filename
Definition: exodusII_io_helper.h:681
libMesh::ExodusII_IO_Helper::Conversion
Definition: exodusII_io_helper.h:834
libMesh::ExodusII_IO_Helper::NamesData::table_size
size_t table_size
Definition: exodusII_io_helper.h:1016
libMesh::ExodusII_IO_Helper::Conversion::side_map
const std::vector< int > * side_map
Pointer to the side map for this element.
Definition: exodusII_io_helper.h:939
libMesh::ExodusII_IO_Helper::read_elemental_var_values
void read_elemental_var_values(std::string elemental_var_name, int time_step, std::map< dof_id_type, Real > &elem_var_value_map)
Reads elemental values for the variable 'elemental_var_name' at the specified timestep into the 'elem...
Definition: exodusII_io_helper.C:1476
libMesh::ExodusII_IO_Helper::side_list
std::vector< int > side_list
Definition: exodusII_io_helper.h:587
libMesh::ExodusII_IO_Helper::check_existing_vars
void check_existing_vars(ExodusVarType type, std::vector< std::string > &names, std::vector< std::string > &names_from_file)
When appending: during initialization, check that variable names in the file match those you attempt ...
Definition: exodusII_io_helper.C:2522
libMesh::ExodusII_IO_Helper::read_header
void read_header()
Reads an ExodusII mesh file header.
Definition: exodusII_io_helper.C:532
libMesh::ExodusII_IO_Helper::write_element_values
void write_element_values(const MeshBase &mesh, const std::vector< Real > &values, int timestep, const std::vector< std::set< subdomain_id_type >> &vars_active_subdomains)
Writes the vector of values to the element variables.
Definition: exodusII_io_helper.C:2854
libMesh::ExodusII_IO_Helper::Conversion::libmesh_type
ElemType libmesh_type
The canonical (i.e.
Definition: exodusII_io_helper.h:969
libMesh::ExodusII_IO_Helper::read_sideset_data
void read_sideset_data(const MeshBase &mesh, int timestep, std::vector< std::string > &var_names, std::vector< std::set< boundary_id_type >> &side_ids, std::vector< std::map< BoundaryInfo::BCTuple, Real >> &bc_vals)
Read sideset variables, if any, into the provided data structures.
Definition: exodusII_io_helper.C:2736
libMesh::ExodusII_IO_Helper::y
std::vector< Real > y
Definition: exodusII_io_helper.h:605
libMesh::ExodusII_IO_Helper::write_var_names
void write_var_names(ExodusVarType type, const std::vector< std::string > &names)
Wraps calls to exII::ex_put_var_names() and exII::ex_put_var_param().
Definition: exodusII_io_helper.C:1408
libMesh::ExodusII_IO_Helper::Conversion::get_node_map
int get_node_map(int i) const
Definition: exodusII_io_helper.C:3259
libMesh::ExodusII_IO_Helper::MappedOutputVector::float_vec
std::vector< float > float_vec
Definition: exodusII_io_helper.h:768
libMesh::ExodusII_IO_Helper::nodal_var_names
std::vector< std::string > nodal_var_names
Definition: exodusII_io_helper.h:636
libMesh::ExodusII_IO_Helper::num_nodal_vars
int num_nodal_vars
Definition: exodusII_io_helper.h:633
libMesh::ExodusII_IO_Helper::block_ids
std::vector< int > block_ids
Definition: exodusII_io_helper.h:541
libMesh::ExodusII_IO_Helper::print_header
void print_header()
Prints the ExodusII mesh file header, which includes the mesh title, the number of nodes,...
Definition: exodusII_io_helper.C:625
libMesh::ExodusII_IO_Helper::libmesh_elem_num_to_exodus
std::map< int, int > libmesh_elem_num_to_exodus
Definition: exodusII_io_helper.h:618
libMesh::ExodusII_IO_Helper
This is the ExodusII_IO_Helper class.
Definition: exodusII_io_helper.h:80
libMesh::ExodusII_IO_Helper::get_side_set_id
int get_side_set_id(int index)
Get the side set id for the given side set index.
Definition: exodusII_io_helper.C:760
libMesh::ExodusII_IO_Helper::edge_block_ids
std::vector< int > edge_block_ids
Definition: exodusII_io_helper.h:544
libMesh
The libMesh namespace provides an interface to certain functionality in the library.
Definition: factoryfunction.C:55
libMesh::ExodusII_IO_Helper::num_nodes_per_elem
int num_nodes_per_elem
Definition: exodusII_io_helper.h:532
libMesh::ExodusII_IO_Helper::num_node_df_per_set
std::vector< int > num_node_df_per_set
Definition: exodusII_io_helper.h:565
libMesh::ExodusII_IO_Helper::elem_var_values
std::vector< Real > elem_var_values
Definition: exodusII_io_helper.h:648
libMesh::ExodusII_IO_Helper::num_sides_per_set
std::vector< int > num_sides_per_set
Definition: exodusII_io_helper.h:556
libMesh::ExodusII_IO_Helper::_run_only_on_proc0
bool _run_only_on_proc0
Definition: exodusII_io_helper.h:716
libMesh::ExodusII_IO_Helper::MappedOutputVector::double_vec
std::vector< double > double_vec
Definition: exodusII_io_helper.h:767
libMesh::ExodusII_IO_Helper::create
virtual void create(std::string filename)
Opens an ExodusII mesh file named filename for writing.
Definition: exodusII_io_helper.C:1558
libMesh::ExodusII_IO_Helper::read_nodal_var_values
void read_nodal_var_values(std::string nodal_var_name, int time_step)
Reads the nodal values for the variable 'nodal_var_name' at the specified time into the 'nodal_var_va...
Definition: exodusII_io_helper.C:1291
libMesh::ExodusII_IO_Helper::opened_for_reading
bool opened_for_reading
Definition: exodusII_io_helper.h:671
libMesh::ExodusII_IO_Helper::num_global_vars
int num_global_vars
Definition: exodusII_io_helper.h:501
libMesh::ExodusII_IO_Helper::Conversion::get_shellface_map
int get_shellface_map(int i) const
Definition: exodusII_io_helper.C:3312
libMesh::ExodusII_IO_Helper::_coordinate_offset
Point _coordinate_offset
Definition: exodusII_io_helper.h:737
libMesh::ExodusII_IO_Helper::write_as_dimension
void write_as_dimension(unsigned dim)
Sets the value of _write_as_dimension.
Definition: exodusII_io_helper.C:3174
libMesh::ExodusII_IO_Helper::num_nodes
int num_nodes
Definition: exodusII_io_helper.h:507
libMesh::ExodusII_IO_Helper::get_side_set_name
std::string get_side_set_name(int index)
Get the side set name for the given side set index if supplied in the mesh file.
Definition: exodusII_io_helper.C:769
libMesh::ExodusII_IO_Helper::read_nodes
void read_nodes()
Reads the nodal data (x,y,z coordinates) from the ExodusII mesh file.
Definition: exodusII_io_helper.C:639
mesh
MeshBase & mesh
Definition: mesh_communication.C:1257
libMesh::ExodusII_IO_Helper::Conversion::inverse_side_map
const std::vector< int > * inverse_side_map
Pointer to the inverse side map for this element.
Definition: exodusII_io_helper.h:944
libMesh::ExodusII_IO_Helper::num_side_sets
int num_side_sets
Definition: exodusII_io_helper.h:526
libMesh::ExodusII_IO_Helper::id_to_ns_names
std::map< int, std::string > id_to_ns_names
Definition: exodusII_io_helper.h:660
libMesh::ExodusII_IO_Helper::conversion_map
std::map< ElemType, ExodusII_IO_Helper::Conversion > conversion_map
Associates libMesh ElemTypes with node/face/edge/etc.
Definition: exodusII_io_helper.h:823
libMesh::ExodusII_IO_Helper::_global_vars_initialized
bool _global_vars_initialized
Definition: exodusII_io_helper.h:722
libMesh::ExodusII_IO_Helper::read_sideset
void read_sideset(int id, int offset)
Reads information about sideset id and inserts it into the global sideset array at the position offse...
Definition: exodusII_io_helper.C:1086
dim
unsigned int dim
Definition: adaptivity_ex3.C:113
libMesh::ExodusII_IO_Helper::read_block_info
void read_block_info()
Reads information for all of the blocks in the ExodusII mesh file.
Definition: exodusII_io_helper.C:692
libMesh::ExodusII_IO_Helper::Conversion::shellface_map
const std::vector< int > * shellface_map
Pointer to the shellface map for this element.
Definition: exodusII_io_helper.h:951
libMesh::ExodusII_IO_Helper::node_sets_node_list
std::vector< int > node_sets_node_list
Definition: exodusII_io_helper.h:577
libMesh::ExodusII_IO_Helper::read_num_time_steps
void read_num_time_steps()
Reads the number of timesteps currently stored in the Exodus file and stores it in the num_time_steps...
Definition: exodusII_io_helper.C:1283
libMesh::ExodusII_IO_Helper::num_dim
int num_dim
Definition: exodusII_io_helper.h:498
libMesh::ExodusII_IO_Helper::MappedOutputVector::~MappedOutputVector
~MappedOutputVector()=default
libMesh::ExodusII_IO_Helper::read_node_num_map
void read_node_num_map()
Reads the optional node_num_map from the ExodusII mesh file.
Definition: exodusII_io_helper.C:660
libMesh::ExodusII_IO_Helper::MappedOutputVector::single_precision
bool single_precision
Definition: exodusII_io_helper.h:766
libMesh::ExodusII_IO_Helper::get_complex_vars_active_subdomains
std::vector< std::set< subdomain_id_type > > get_complex_vars_active_subdomains(const std::vector< std::set< subdomain_id_type >> &vars_active_subdomains) const
returns a "tripled" copy of vars_active_subdomains, which is necessary in the complex-valued case.
Definition: exodusII_io_helper.C:3206
libMesh::ExodusII_IO_Helper::read_time_steps
void read_time_steps()
Reads and stores the timesteps in the 'time_steps' array.
Definition: exodusII_io_helper.C:1266
libMesh::ExodusII_IO_Helper::print_nodes
void print_nodes(std::ostream &out=libMesh::out)
Prints the nodal information, by default to libMesh::out.
Definition: exodusII_io_helper.C:684
libMesh::MeshBase
This is the MeshBase class.
Definition: mesh_base.h:78
libMesh::ExodusII_IO_Helper::ss_ids
std::vector< int > ss_ids
Definition: exodusII_io_helper.h:550
libMesh::ExodusII_IO_Helper::init_element_equivalence_map
void init_element_equivalence_map()
Definition: exodusII_io_helper.C:293
libMesh::ExodusII_IO_Helper::elem_var_names
std::vector< std::string > elem_var_names
Definition: exodusII_io_helper.h:645
libMesh::ExodusII_IO_Helper::MappedOutputVector
This class facilitates inline conversion of an input data vector to a different precision level,...
Definition: exodusII_io_helper.h:751
libMesh::ExodusII_IO_Helper::Conversion::node_map
const std::vector< int > * node_map
Pointer to the node map for this element.
Definition: exodusII_io_helper.h:927
libMesh::ExodusII_IO_Helper::num_edge_blk
int num_edge_blk
Definition: exodusII_io_helper.h:520
libMesh::ExodusII_IO_Helper::num_sideset_vars
int num_sideset_vars
Definition: exodusII_io_helper.h:504
libMesh::ExodusII_IO_Helper::write_element_values_element_major
void write_element_values_element_major(const MeshBase &mesh, const std::vector< Real > &values, int timestep, const std::vector< std::set< subdomain_id_type >> &vars_active_subdomains, const std::vector< std::string > &derived_var_names, const std::map< subdomain_id_type, std::vector< std::string >> &subdomain_to_var_names)
Same as the function above, but assume the input 'values' vector is in element-major order,...
Definition: exodusII_io_helper.C:2937
libMesh::ExodusII_IO_Helper::title
std::vector< char > title
Definition: exodusII_io_helper.h:611
libMesh::ExodusII_IO_Helper::nodeset_ids
std::vector< int > nodeset_ids
Definition: exodusII_io_helper.h:553
libMesh::ExodusII_IO_Helper::initialize_nodal_variables
void initialize_nodal_variables(std::vector< std::string > names)
Sets up the nodal variables.
Definition: exodusII_io_helper.C:2468
libMesh::ExodusII_IO_Helper::MappedOutputVector::our_data
const std::vector< Real > & our_data
Definition: exodusII_io_helper.h:765
libMesh::ExodusII_IO_Helper::_use_mesh_dimension_instead_of_spatial_dimension
bool _use_mesh_dimension_instead_of_spatial_dimension
Definition: exodusII_io_helper.h:730
libMesh::ExodusII_IO_Helper::write_sideset_data
void write_sideset_data(const MeshBase &mesh, int timestep, const std::vector< std::string > &var_names, const std::vector< std::set< boundary_id_type >> &side_ids, const std::vector< std::map< BoundaryInfo::BCTuple, Real >> &bc_vals)
Write sideset data for the requested timestep.
Definition: exodusII_io_helper.C:2587
libMesh::ExodusII_IO_Helper::write_var_names_impl
void write_var_names_impl(const char *var_type, int &count, const std::vector< std::string > &names)
write_var_names() dispatches to this function.
Definition: exodusII_io_helper.C:1438
libMesh::ExodusII_IO_Helper::_elem_vars_initialized
bool _elem_vars_initialized
Definition: exodusII_io_helper.h:719
libMesh::ExodusII_IO_Helper::id_to_edge_block_names
std::map< int, std::string > id_to_edge_block_names
Definition: exodusII_io_helper.h:658
libMesh::ExodusII_IO_Helper::MappedOutputVector::MappedOutputVector
MappedOutputVector(const std::vector< Real > &vec_in, bool single_precision_in)
Definition: exodusII_io_helper.C:417
libMesh::ExodusII_IO_Helper::MappedInputVector::data
void * data()
Definition: exodusII_io_helper.C:477
libMesh::ExodusII_IO_Helper::num_df_per_set
std::vector< int > num_df_per_set
Definition: exodusII_io_helper.h:562
libMesh::ExodusII_IO_Helper::Conversion::get_side_map
int get_side_map(int i) const
Definition: exodusII_io_helper.C:3281
libMesh::ExodusII_IO_Helper::Conversion::invalid_id
static const int invalid_id
An invalid_id that can be returned to signal failure in case something goes wrong.
Definition: exodusII_io_helper.h:922
libMesh::Point
A Point defines a location in LIBMESH_DIM dimensional Real space.
Definition: point.h:38
libMesh::ExodusII_IO_Helper::~ExodusII_IO_Helper
virtual ~ExodusII_IO_Helper()
libMesh::ExodusII_IO_Helper::operator=
ExodusII_IO_Helper & operator=(const ExodusII_IO_Helper &)=default
libMesh::ExodusII_IO_Helper::num_elem_this_blk
int num_elem_this_blk
Definition: exodusII_io_helper.h:529
libMesh::ExodusII_IO_Helper::write_sidesets
virtual void write_sidesets(const MeshBase &mesh)
Writes the sidesets contained in "mesh".
Definition: exodusII_io_helper.C:2212
libMesh::ExodusII_IO_Helper::num_node_sets
int num_node_sets
Definition: exodusII_io_helper.h:523
libMesh::ExodusII_IO_Helper::num_elem
int num_elem
Definition: exodusII_io_helper.h:510
libMesh::ExodusII_IO_Helper::write_nodal_coordinates
virtual void write_nodal_coordinates(const MeshBase &mesh, bool use_discontinuous=false)
Writes the nodal coordinates contained in "mesh".
Definition: exodusII_io_helper.C:1726
libMesh::ExodusII_IO_Helper::exodus_elem_num_to_libmesh
std::vector< int > exodus_elem_num_to_libmesh
Definition: exodusII_io_helper.h:619
libMesh::ExodusII_IO_Helper::_write_as_dimension
unsigned _write_as_dimension
Definition: exodusII_io_helper.h:734
libMesh::ExodusII_IO_Helper::write_timestep
void write_timestep(int timestep, Real time)
Writes the time for the timestep.
Definition: exodusII_io_helper.C:2562
libMesh::ExodusII_IO_Helper::read_global_values
void read_global_values(std::vector< Real > &values, int timestep)
Reads the vector of global variables.
Definition: exodusII_io_helper.C:3151
libMesh::ExodusII_IO_Helper::ExodusVarType
ExodusVarType
Wraps calls to exII::ex_get_var_names() and exII::ex_get_var_param().
Definition: exodusII_io_helper.h:692
libMesh::ExodusII_IO_Helper::num_attr
int num_attr
Definition: exodusII_io_helper.h:535
libMesh::ExodusII_IO_Helper::elem_type
std::vector< char > elem_type
Definition: exodusII_io_helper.h:614
libMesh::ExodusII_IO_Helper::element_equivalence_map
std::map< std::string, ElemType > element_equivalence_map
Defines equivalence classes of Exodus element types that map to libmesh ElemTypes.
Definition: exodusII_io_helper.h:816
libMesh::ExodusII_IO_Helper::read_edge_blocks
void read_edge_blocks(MeshBase &mesh)
Read in edge blocks, storing information in the BoundaryInfo object.
Definition: exodusII_io_helper.C:852
libMesh::ExodusII_IO_Helper::read_sideset_info
void read_sideset_info()
Reads information about all of the sidesets in the ExodusII mesh file.
Definition: exodusII_io_helper.C:1022
libMesh::ExodusII_IO_Helper::NODAL
Definition: exodusII_io_helper.h:692
libMesh::ExodusII_IO_Helper::open
void open(const char *filename, bool read_only)
Opens an ExodusII mesh file named filename.
Definition: exodusII_io_helper.C:492
libMesh::ExodusII_IO_Helper::id_list
std::vector< int > id_list
Definition: exodusII_io_helper.h:593
libMesh::ExodusII_IO_Helper::write_nodal_values
void write_nodal_values(int var_id, const std::vector< Real > &values, int timestep)
Writes the vector of values to a nodal variable.
Definition: exodusII_io_helper.C:3070
libMesh::ExodusII_IO_Helper::num_time_steps
int num_time_steps
Definition: exodusII_io_helper.h:627
libMesh::ExodusII_IO_Helper::NamesData::get_char_star
char * get_char_star(int i)
Provide access to the i'th underlying char *.
Definition: exodusII_io_helper.C:3399
libMesh::ExodusII_IO_Helper::close
void close()
Closes the ExodusII mesh file.
Definition: exodusII_io_helper.C:1228
libMesh::ExodusII_IO_Helper::get_elem_type
const char * get_elem_type() const
Definition: exodusII_io_helper.C:396
libMesh::ExodusII_IO_Helper::SIDESET
Definition: exodusII_io_helper.h:692
libMesh::ExodusII_IO_Helper::read_nodeset
void read_nodeset(int id)
Reads information about nodeset id and inserts it into the global nodeset array at the position offse...
Definition: exodusII_io_helper.C:1131
libMesh::ExodusII_IO_Helper::MappedInputVector
This class facilitates reading in vectors from Exodus file that may be of a different floating point ...
Definition: exodusII_io_helper.h:778
libMesh::ExodusII_IO_Helper::read_var_names
void read_var_names(ExodusVarType type)
Definition: exodusII_io_helper.C:1344
libMesh::ExodusII_IO_Helper::ELEMENTAL
Definition: exodusII_io_helper.h:692
libMesh::ExodusII_IO_Helper::exodus_node_num_to_libmesh
std::vector< int > exodus_node_num_to_libmesh
Definition: exodusII_io_helper.h:624
libMesh::ExodusII_IO_Helper::initialize_global_variables
void initialize_global_variables(std::vector< std::string > names)
Sets up the global variables.
Definition: exodusII_io_helper.C:2496
libMesh::ExodusII_IO_Helper::read_elem_num_map
void read_elem_num_map()
Reads the optional node_num_map from the ExodusII mesh file.
Definition: exodusII_io_helper.C:996
libMesh::ExodusII_IO_Helper::Conversion::get_inverse_shellface_map
int get_inverse_shellface_map(int i) const
Definition: exodusII_io_helper.C:3323
libMesh::ExodusII_IO_Helper::Conversion::libmesh_elem_type
ElemType libmesh_elem_type() const
Definition: exodusII_io_helper.C:3334
libMesh::INVALID_ELEM
Definition: enum_elem_type.h:75
libMesh::ExodusII_IO_Helper::Conversion::get_inverse_node_map
int get_inverse_node_map(int i) const
Definition: exodusII_io_helper.C:3270
libMesh::ExodusII_IO_Helper::z
std::vector< Real > z
Definition: exodusII_io_helper.h:608
libMesh::ExodusII_IO_Helper::NamesData::get_char_star_star
char ** get_char_star_star()
Provide access to the underlying C data table.
Definition: exodusII_io_helper.C:3392
libMesh::ExodusII_IO_Helper::init_conversion_map
void init_conversion_map()
Definition: exodusII_io_helper.C:146
libMesh::ExodusII_IO_Helper::Conversion::exodus_type
std::string exodus_type
The string corresponding to the Exodus type for this element.
Definition: exodusII_io_helper.h:974
libMesh::ExodusII_IO_Helper::read_elem_in_block
void read_elem_in_block(int block)
Reads all of the element connectivity for block block in the ExodusII mesh file.
Definition: exodusII_io_helper.C:797
libMesh::ExodusII_IO_Helper::num_nodes_per_set
std::vector< int > num_nodes_per_set
Definition: exodusII_io_helper.h:559
libMesh::ExodusII_IO_Helper::id_to_block_names
std::map< int, std::string > id_to_block_names
Definition: exodusII_io_helper.h:657
libMesh::ExodusII_IO_Helper::get_node_set_name
std::string get_node_set_name(int index)
Get the node set name for the given node set index if supplied in the mesh file.
Definition: exodusII_io_helper.C:787
libMesh::ExodusII_IO_Helper::initialize
virtual void initialize(std::string title, const MeshBase &mesh, bool use_discontinuous=false)
Initializes the Exodus file.
Definition: exodusII_io_helper.C:1611
libMesh::ExodusII_IO_Helper::num_elem_blk
int num_elem_blk
Definition: exodusII_io_helper.h:513
libMesh::ExodusII_IO_Helper::write_elements
virtual void write_elements(const MeshBase &mesh, bool use_discontinuous=false)
Writes the elements contained in "mesh".
Definition: exodusII_io_helper.C:1827
libMesh::ExodusII_IO_Helper::elem_list
std::vector< int > elem_list
Definition: exodusII_io_helper.h:584
libMesh::ExodusII_IO_Helper::verbose
bool verbose
Definition: exodusII_io_helper.h:663
libMesh::ExodusII_IO_Helper::use_mesh_dimension_instead_of_spatial_dimension
void use_mesh_dimension_instead_of_spatial_dimension(bool val)
Sets the underlying value of the boolean flag _use_mesh_dimension_instead_of_spatial_dimension.
Definition: exodusII_io_helper.C:3167
libMesh::ExodusII_IO_Helper::set_coordinate_offset
void set_coordinate_offset(Point p)
Allows you to set a vector that is added to the coordinates of all of the nodes.
Definition: exodusII_io_helper.C:3181
libMesh::ExodusII_IO_Helper::node_sets_node_index
std::vector< int > node_sets_node_index
Definition: exodusII_io_helper.h:569
libMesh::ExodusII_IO_Helper::MappedOutputVector::data
void * data()
Definition: exodusII_io_helper.C:433
libMesh::ExodusII_IO_Helper::Conversion::get_inverse_side_map
int get_inverse_side_map(int i) const
Definition: exodusII_io_helper.C:3296
libMesh::ExodusII_IO_Helper::NamesData::NamesData
NamesData(size_t n_strings, size_t string_length)
Constructor.
Definition: exodusII_io_helper.C:3356
libMesh::ExodusII_IO_Helper::Conversion::inverse_shellface_map
const std::vector< int > * inverse_shellface_map
Pointer to the inverse shellface map for this element.
Definition: exodusII_io_helper.h:956
libMesh::ExodusII_IO_Helper::nodal_var_values
std::vector< Real > nodal_var_values
Definition: exodusII_io_helper.h:639
libMesh::ExodusII_IO_Helper::num_elem_vars
int num_elem_vars
Definition: exodusII_io_helper.h:642
libMesh::ExodusII_IO_Helper::Conversion::shellface_index_offset
size_t shellface_index_offset
The shellface index offset defines the offset due to a difference between libMesh and Exodus in index...
Definition: exodusII_io_helper.h:963
libMesh::ExodusII_IO_Helper::MappedInputVector::double_vec
std::vector< double > double_vec
Definition: exodusII_io_helper.h:791
libMesh::ExodusII_IO_Helper::NamesData
This class is useful for managing anything that requires a char ** input/output in ExodusII file.
Definition: exodusII_io_helper.h:984
libMesh::ExodusII_IO_Helper::message
void message(const std::string &msg)
Prints the message defined in msg.
Definition: exodusII_io_helper.C:403
libMesh::ExodusII_IO_Helper::write_nodesets
virtual void write_nodesets(const MeshBase &mesh)
Writes the nodesets contained in "mesh".
Definition: exodusII_io_helper.C:2317
libMesh::ExodusII_IO_Helper::sideset_var_names
std::vector< std::string > sideset_var_names
Definition: exodusII_io_helper.h:654
libMesh::ExodusII_IO_Helper::Conversion::get_shellface_index_offset
std::size_t get_shellface_index_offset() const
Definition: exodusII_io_helper.C:3351
libMesh::ExodusII_IO_Helper::MappedInputVector::MappedInputVector
MappedInputVector(std::vector< Real > &vec_in, bool single_precision_in)
Definition: exodusII_io_helper.C:449
libMesh::ExodusII_IO_Helper::read_qa_records
void read_qa_records()
Reads the QA records from an ExodusII file.
Definition: exodusII_io_helper.C:575
libMesh::ExodusII_IO_Helper::GLOBAL
Definition: exodusII_io_helper.h:692
libMesh::ExodusII_IO_Helper::node_list
std::vector< int > node_list
Definition: exodusII_io_helper.h:590
libMesh::ExodusII_IO_Helper::NamesData::push_back_entry
void push_back_entry(const std::string &name)
Adds another name to the current data table.
Definition: exodusII_io_helper.C:3376
libMesh::ExodusII_IO_Helper::connect
std::vector< int > connect
Definition: exodusII_io_helper.h:547
libMesh::ExodusII_IO_Helper::get_complex_subdomain_to_var_names
std::map< subdomain_id_type, std::vector< std::string > > get_complex_subdomain_to_var_names(const std::map< subdomain_id_type, std::vector< std::string >> &subdomain_to_var_names) const
Takes a map from subdomain id -> vector of active variable names as input and returns a corresponding...
Definition: exodusII_io_helper.C:3227
libMesh::TestClass
Definition: id_types.h:33
libMesh::ExodusII_IO_Helper::node_sets_dist_fact
std::vector< Real > node_sets_dist_fact
Definition: exodusII_io_helper.h:581
libMesh::Real
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
Definition: libmesh_common.h:121
libMesh::ExodusII_IO_Helper::write_global_values
void write_global_values(const std::vector< Real > &values, int timestep)
Writes the vector of global variables.
Definition: exodusII_io_helper.C:3131
libMesh::ParallelObject
An object whose state is distributed along a set of processors.
Definition: parallel_object.h:55
libMesh::ExodusII_IO_Helper::NamesData::counter
size_t counter
Definition: exodusII_io_helper.h:1015
libMesh::ExodusII_IO_Helper::inquire
int inquire(int req_info, std::string error_msg="")
Definition: exodusII_io_helper.C:1247
libMesh::ExodusII_IO_Helper::read_all_nodesets
void read_all_nodesets()
New API that reads all nodesets simultaneously.
Definition: exodusII_io_helper.C:1164
libMesh::ExodusII_IO_Helper::write_information_records
void write_information_records(const std::vector< std::string > &records)
Writes the vector of information records.
Definition: exodusII_io_helper.C:3092
libMesh::ExodusII_IO_Helper::MappedInputVector::~MappedInputVector
~MappedInputVector()
Definition: exodusII_io_helper.C:465
libMesh::ExodusII_IO_Helper::num_edge
int num_edge
Definition: exodusII_io_helper.h:516
libMesh::out
OStreamProxy out
libMesh::ExodusII_IO_Helper::time_steps
std::vector< Real > time_steps
Definition: exodusII_io_helper.h:630
libMesh::ExodusII_IO_Helper::x
std::vector< Real > x
Definition: exodusII_io_helper.h:602
libMesh::ExodusII_IO_Helper::_nodal_vars_initialized
bool _nodal_vars_initialized
Definition: exodusII_io_helper.h:725
libMesh::ExodusII_IO_Helper::ex_err
int ex_err
Definition: exodusII_io_helper.h:495
libMesh::ExodusII_IO_Helper::num_elem_all_sidesets
int num_elem_all_sidesets
Definition: exodusII_io_helper.h:538
libMesh::ExodusII_IO_Helper::read_nodeset_info
void read_nodeset_info()
Reads information about all of the nodesets in the ExodusII mesh file.
Definition: exodusII_io_helper.C:1057
libMesh::ExodusII_IO_Helper::get_node_set_id
int get_node_set_id(int index)
Get the node set id for the given node set index.
Definition: exodusII_io_helper.C:778
libMesh::ExodusII_IO_Helper::get_complex_names
std::vector< std::string > get_complex_names(const std::vector< std::string > &names) const
Definition: exodusII_io_helper.C:3188
libMesh::ExodusII_IO_Helper::read_var_names_impl
void read_var_names_impl(const char *var_type, int &count, std::vector< std::string > &result)
read_var_names() dispatches to this function.
Definition: exodusII_io_helper.C:1367
libMesh::ExodusII_IO_Helper::Conversion::inverse_node_map
const std::vector< int > * inverse_node_map
Pointer to the inverse node map for this element.
Definition: exodusII_io_helper.h:934
libMesh::ExodusII_IO_Helper::get_block_name
std::string get_block_name(int index)
Get the block name for the given block index if supplied in the mesh file.
Definition: exodusII_io_helper.C:751
libMesh::ExodusII_IO_Helper::MappedInputVector::our_data
std::vector< Real > & our_data
Definition: exodusII_io_helper.h:789
libMesh::Quality::name
std::string name(const ElemQuality q)
This function returns a string containing some name for q.
Definition: elem_quality.C:42
exII
Definition: exodusII_io_helper.h:59
libMesh::ExodusII_IO_Helper::Conversion::Conversion
Conversion()
Constructor.
Definition: exodusII_io_helper.h:841
libMesh::ExodusII_IO_Helper::ex_id
int ex_id
Definition: exodusII_io_helper.h:492
libMesh::ElemType
ElemType
Defines an enum for geometric element types.
Definition: enum_elem_type.h:33
libMesh::ExodusII_IO_Helper::MappedInputVector::float_vec
std::vector< float > float_vec
Definition: exodusII_io_helper.h:792
libMesh::ExodusII_IO_Helper::elem_num_map
std::vector< int > elem_num_map
Definition: exodusII_io_helper.h:599
libMesh::ExodusII_IO_Helper::initialize_element_variables
virtual void initialize_element_variables(std::vector< std::string > names, const std::vector< std::set< subdomain_id_type >> &vars_active_subdomains)
Sets up the nodal variables.
Definition: exodusII_io_helper.C:2403