Go to the documentation of this file.
   19 #ifndef LIBMESH_ABAQUS_IO_H 
   20 #define LIBMESH_ABAQUS_IO_H 
   23 #include "libmesh/libmesh_common.h" 
   24 #include "libmesh/mesh_input.h" 
   57   virtual void read (
const std::string & 
name) 
override;
 
   72   typedef std::map<std::string, std::vector<dof_id_type>> 
container_t;
 
   95   void read_elements(std::string upper, std::string elset_name);
 
  104   std::string 
parse_label(std::string line, std::string label_name) 
const;
 
  240 #endif // LIBMESH_ABAQUS_IO_H 
  
The AbaqusIO class is a preliminary implementation for reading Abaqus mesh files in ASCII format.
 
std::set< ElemType > _elem_types
A set of the different geometric element types detected when reading the mesh.
 
sideset_container_t _sideset_ids
 
std::ifstream _in
Stream object used to interact with the file.
 
std::string parse_label(std::string line, std::string label_name) const
This function parses a label of the form foo=bar from a comma-delimited line of the form ....
 
unsigned char max_elem_dimension_seen()
 
The libMesh namespace provides an interface to certain functionality in the library.
 
std::map< std::string, std::vector< std::pair< dof_id_type, unsigned > > > sideset_container_t
Type of the data structure for storing the (elem ID, side) pairs defining sidesets.
 
AbaqusIO(MeshBase &mesh)
Constructor.
 
std::map< dof_id_type, dof_id_type > _abaqus_to_libmesh_node_mapping
Map from abaqus node number -> sequential, 0-based libmesh node numbering.
 
std::map< std::string, std::vector< dof_id_type > > container_t
The type of data structure used to store Node and Elemset IDs.
 
bool _already_seen_part
This flag gets set to true after the first "*PART" section we see.
 
This is the MeshBase class.
 
void assign_sideset_ids()
Called at the end of the read() function, assigns any sideset IDs found when reading the file to the ...
 
void generate_ids(std::string set_name, container_t &container)
This function handles "generated" nset and elset sections.
 
void read_sideset(std::string sideset_name, sideset_container_t &container)
This function reads a sideset from the input file.
 
bool detect_generated_set(std::string upper) const
 
std::map< dof_id_type, dof_id_type > _abaqus_to_libmesh_elem_mapping
Map from libmesh element number -> abaqus element number, and the converse.
 
void process_and_discard_comments()
Any of the various sections can start with some number of lines of comments, which start with "**".
 
virtual ~AbaqusIO()
Destructor.
 
void read_nodes(std::string nset_name)
This function parses a block of nodes in the Abaqus file once such a block has been found.
 
container_t _nodeset_ids
Abaqus writes nodesets and elemsets with labels.
 
void assign_boundary_node_ids()
This function assigns boundary IDs to node sets based on the alphabetical order in which the sets are...
 
virtual void read(const std::string &name) override
This method implements reading a mesh from a specified file.
 
void read_elements(std::string upper, std::string elset_name)
This function parses a block of elements in the Abaqus file.
 
void assign_subdomain_ids()
This function is called after all the elements have been read and assigns element subdomain IDs.
 
void read_ids(std::string set_name, container_t &container)
This function reads all the IDs for the current node or element set of the given name,...
 
std::string name(const ElemQuality q)
This function returns a string containing some name for q.
 
bool build_sidesets_from_nodesets
Default false.