IOSS 2.0
Loading...
Searching...
No Matches
Ioss_Quad6.h
Go to the documentation of this file.
1// Copyright(C) 1999-2022, 2024 National Technology & Engineering Solutions
2// of Sandia, LLC (NTESS). Under the terms of Contract DE-NA0003525 with
3// NTESS, the U.S. Government retains certain rights in this software.
4//
5// See packages/seacas/LICENSE for details
6
7#pragma once
8
9#include "ioss_export.h"
10
11#include "Ioss_CodeTypes.h" // for IntVector
12#include "Ioss_ElementTopology.h" // for ElementTopology
13
14// STL Includes
15
16namespace Ioss {
17 class IOSS_EXPORT Quad6 : public Ioss::ElementTopology
18 {
19
20 public:
21 static const char *name;
22
23 static void factory();
24 Quad6(const Quad6 &) = delete;
25
26 IOSS_NODISCARD ElementShape shape() const override { return ElementShape::QUAD; }
27 IOSS_NODISCARD int spatial_dimension() const override;
28 IOSS_NODISCARD int parametric_dimension() const override;
29 IOSS_NODISCARD bool is_element() const override { return true; }
30 IOSS_NODISCARD bool is_shell() const override { return false; }
31 IOSS_NODISCARD int order() const override;
32
33 IOSS_NODISCARD bool edges_similar() const override
34 {
35 return false;
36 } // true if all edges have same topology
37
38 IOSS_NODISCARD int number_corner_nodes() const override;
39 IOSS_NODISCARD int number_nodes() const override;
40 IOSS_NODISCARD int number_edges() const override;
41 IOSS_NODISCARD int number_faces() const override;
42
43 IOSS_NODISCARD int number_nodes_edge(int edge = 0) const override;
44 IOSS_NODISCARD int number_nodes_face(int face = 0) const override;
45 IOSS_NODISCARD int number_edges_face(int face = 0) const override;
46
47 IOSS_NODISCARD Ioss::IntVector edge_connectivity(int edge_number) const override;
48 IOSS_NODISCARD Ioss::IntVector face_connectivity(int face_number) const override;
49 IOSS_NODISCARD Ioss::IntVector element_connectivity() const override;
50
51 IOSS_NODISCARD Ioss::ElementTopology *face_type(int face_number = 0) const override;
52 IOSS_NODISCARD Ioss::ElementTopology *edge_type(int edge_number = 0) const override;
53
54 private:
55 Quad6();
56 };
57} // namespace Ioss
#define IOSS_NODISCARD
Definition Ioss_CodeTypes.h:54
Represents an element topology.
Definition Ioss_ElementTopology.h:69
Definition Ioss_Quad6.h:18
IOSS_NODISCARD bool is_element() const override
Definition Ioss_Quad6.h:29
Quad6(const Quad6 &)=delete
static const char * name
Definition Ioss_Quad6.h:21
IOSS_NODISCARD bool is_shell() const override
Definition Ioss_Quad6.h:30
IOSS_NODISCARD ElementShape shape() const override
Definition Ioss_Quad6.h:26
IOSS_NODISCARD bool edges_similar() const override
Definition Ioss_Quad6.h:33
The main namespace for the Ioss library.
Definition Ioad_DatabaseIO.C:40
ElementShape
Definition Ioss_ElementTopology.h:24
std::vector< int > IntVector
Definition Ioss_CodeTypes.h:21