18 #ifndef LIBMESH_NEMESIS_IO_HELPER_H 19 #define LIBMESH_NEMESIS_IO_HELPER_H 23 #if defined(LIBMESH_HAVE_NEMESIS_API) && defined(LIBMESH_HAVE_EXODUS_API) 36 template <
typename T>
class NumericVector;
49 # include "ne_nemesisI.h" 72 bool verbose=
false,
bool single_precision=
false);
260 std::vector<Real> & x_coor,
261 std::vector<Real> & y_coor,
262 std::vector<Real> & z_coor);
290 virtual void create(std::string filename)
override;
314 const std::vector<std::string> & names,
316 const std::vector<std::string> & output_names);
322 const std::vector<std::string> & names,
331 const std::vector<std::set<subdomain_id_type>> & vars_active_subdomains)
override;
338 const std::vector<std::string> & names,
340 const std::vector<std::set<subdomain_id_type>> & vars_active_subdomains);
687 const std::string &
title);
692 #endif // #if defined(LIBMESH_HAVE_NEMESIS_API) && defined(LIBMESH_HAVE_EXODUS_API) 693 #endif // LIBMESH_NEMESIS_IO_HELPER_H
Nemesis_IO_Helper(const ParallelObject &parent, bool verbose=false, bool single_precision=false)
std::map< subdomain_id_type, std::vector< dof_id_type > > subdomain_map
virtual ~Nemesis_IO_Helper()
std::vector< int > num_global_node_counts
void compute_element_maps()
std::vector< int > global_nodeset_ids
virtual void initialize(std::string title, const MeshBase &mesh, bool use_discontinuous=false) override
std::vector< int > global_sideset_ids
void compute_num_global_nodesets(const MeshBase &pmesh)
std::vector< int > node_cmap_ids
void get_ss_param_global()
std::vector< int > node_mape
void compute_elem_communication_maps()
void compute_num_global_elem_blocks(const MeshBase &pmesh)
void put_elem_map(std::vector< int > &elem_mapi, std::vector< int > &elem_mapb)
std::vector< int > num_global_node_df_counts
std::vector< std::vector< int > > elem_cmap_side_ids
std::vector< std::vector< int > > node_cmap_proc_ids
void put_ns_param_global(std::vector< int > &global_nodeset_ids, std::vector< int > &num_global_node_counts, std::vector< int > &num_global_node_df_counts)
void put_eb_info_global(std::vector< int > &global_elem_blk_ids, std::vector< int > &global_elem_blk_cnts)
void compute_border_node_ids(const MeshBase &pmesh)
void compute_communication_map_parameters()
virtual void write_elements(const MeshBase &mesh, bool use_discontinuous=false) override
void compute_node_communication_maps()
std::vector< int > num_global_side_df_counts
void build_element_and_node_maps(const MeshBase &pmesh)
void put_init_global(dof_id_type num_nodes_global, dof_id_type num_elems_global, unsigned num_elem_blks_global, unsigned num_node_sets_global, unsigned num_side_sets_global)
virtual void write_nodal_coordinates(const MeshBase &mesh, bool use_discontinuous=false) override
std::vector< int > num_global_side_counts
std::vector< int > global_elem_blk_ids
virtual void initialize_element_variables(std::vector< std::string > names, const std::vector< std::set< subdomain_id_type >> &vars_active_subdomains) override
std::vector< std::vector< int > > elem_cmap_elem_ids
std::set< unsigned > border_elem_ids
std::set< unsigned > internal_node_ids
std::vector< int > node_mapi
std::vector< std::vector< int > > elem_cmap_proc_ids
void put_cmap_params(std::vector< int > &node_cmap_ids, std::vector< int > &node_cmap_node_cnts, std::vector< int > &elem_cmap_ids, std::vector< int > &elem_cmap_elem_cnts)
std::set< unsigned > border_node_ids
std::set< int > nodes_attached_to_local_elems
An object whose state is distributed along a set of processors.
void compute_num_global_sidesets(const MeshBase &pmesh)
void get_eb_info_global()
void compute_internal_and_border_elems_and_internal_nodes(const MeshBase &pmesh)
void put_elem_cmap(std::vector< std::vector< int >> &elem_cmap_elem_ids, std::vector< std::vector< int >> &elem_cmap_side_ids, std::vector< std::vector< int >> &elem_cmap_proc_ids)
std::map< subdomain_id_type, unsigned > local_subdomain_counts
std::map< int, std::vector< int > > block_id_to_elem_connectivity
virtual void write_nodesets(const MeshBase &mesh) override
std::map< unsigned, std::set< unsigned > >::iterator proc_nodes_touched_iterator
void get_ns_param_global()
void put_node_map(std::vector< int > &node_mapi, std::vector< int > &node_mapb, std::vector< int > &node_mape)
std::vector< int > elem_cmap_elem_cnts
std::string construct_nemesis_filename(const std::string &base_filename)
std::vector< int > elem_cmap_ids
void put_ss_param_global(std::vector< int > &global_sideset_ids, std::vector< int > &num_global_side_counts, std::vector< int > &num_global_side_df_counts)
virtual void write_sidesets(const MeshBase &mesh) override
std::vector< int > node_cmap_node_cnts
std::map< unsigned, std::set< unsigned > > proc_nodes_touched_intersections
void write_element_values(const MeshBase &mesh, const NumericVector< Number > ¶llel_soln, const std::vector< std::string > &names, int timestep, const std::vector< std::set< subdomain_id_type >> &vars_active_subdomains)
void write_exodus_initialization_info(const MeshBase &pmesh, const std::string &title)
std::vector< char > title
void put_init_info(unsigned num_proc, unsigned num_proc_in_file, const char *ftype)
void put_node_cmap(std::vector< std::vector< int >> &node_cmap_node_ids, std::vector< std::vector< int >> &node_cmap_proc_ids)
std::vector< int > elem_mapb
std::vector< int > node_mapb
std::vector< std::vector< int > > node_cmap_node_ids
std::map< unsigned, std::set< std::pair< unsigned, unsigned > > >::iterator proc_border_elem_sets_iterator
std::vector< int > global_elem_blk_cnts
void put_loadbal_param(unsigned num_internal_nodes, unsigned num_border_nodes, unsigned num_external_nodes, unsigned num_internal_elems, unsigned num_border_elems, unsigned num_node_cmaps, unsigned num_elem_cmaps)
virtual void create(std::string filename) override
std::vector< int > elem_mapi
std::map< unsigned, std::set< std::pair< unsigned, unsigned > > > proc_border_elem_sets
void put_n_coord(unsigned start_node_num, unsigned num_nodes, std::vector< Real > &x_coor, std::vector< Real > &y_coor, std::vector< Real > &z_coor)
std::set< unsigned > internal_elem_ids
void write_nodal_solution(const NumericVector< Number > ¶llel_soln, const std::vector< std::string > &names, int timestep, const std::vector< std::string > &output_names)