19 #ifndef LIBMESH_ABAQUS_IO_H 20 #define LIBMESH_ABAQUS_IO_H 23 #include "libmesh/libmesh_common.h" 24 #include "libmesh/mesh_input.h" 58 virtual void read (
const std::string &
name)
override;
73 typedef std::map<std::string, std::vector<dof_id_type>>
container_t;
96 void read_elements(std::string upper, std::string elset_name);
105 std::string
parse_label(std::string line, std::string label_name)
const;
161 const std::string & sideset_type,
207 std::unique_ptr<std::istream>
_in;
226 #endif // LIBMESH_ABAQUS_IO_H virtual void read(const std::string &name) override
This method implements reading a mesh from a specified file.
std::string name(const ElemQuality q)
This function returns a string containing some name for q.
void process_and_discard_comments()
Any of the various sections can start with some number of lines of comments, which start with "**"...
bool _already_seen_part
This flag gets set to true after the first "*PART" section we see.
std::map< std::string, std::vector< dof_id_type > > container_t
The type of data structure used to store Node and Elemset IDs.
The AbaqusIO class is a preliminary implementation for reading Abaqus mesh files in ASCII format...
sideset_container_t _sideset_ids
virtual ~AbaqusIO()
Destructor.
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, storing them in the passed map using the name as key.
bool build_sidesets_from_nodesets
Default false.
void assign_sideset_ids()
Called at the end of the read() function, assigns any sideset IDs found when reading the file to the ...
The libMesh namespace provides an interface to certain functionality in the library.
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...
This is the MeshBase class.
void read_elements(std::string upper, std::string elset_name)
This function parses a block of elements in the Abaqus file.
void read_sideset(const std::string &sideset_name, const std::string &sideset_type, sideset_container_t &container)
This function reads a sideset from the input file.
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.
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 ...
bool detect_generated_set(std::string upper) const
void generate_ids(std::string set_name, container_t &container)
This function handles "generated" nset and elset sections.
void assign_subdomain_ids()
This function is called after all the elements have been read and assigns element subdomain IDs...
void assign_boundary_node_ids()
This function assigns boundary IDs to node sets based on the alphabetical order in which the sets are...
container_t _nodeset_ids
Abaqus writes nodesets and elemsets with labels.
AbaqusIO(MeshBase &mesh)
Constructor.
std::set< ElemType > _elem_types
A set of the different geometric element types detected when reading the mesh.
unsigned char max_elem_dimension_seen()
std::unique_ptr< std::istream > _in
Stream object used to interact with the file.