Element.h
1 //##################################################################################################
2 //
3 // Ceetron Desktop Components
4 // Component: UnstructGrid
5 //
6 // --------------------------------------------------------------------------------------------
7 // Copyright (C) 2012, Ceetron AS
8 // This is UNPUBLISHED PROPRIETARY SOURCE CODE of Ceetron AS. The contents of this file may
9 // not be disclosed to third parties, copied or duplicated in any form, in whole or in part,
10 // without the prior written permission of Ceetron AS.
11 //##################################################################################################
12 
13 #pragma once
14 
15 #include "CeeUnstructGrid/Base.h"
16 
17 #include "CeeCore/RefCountedObject.h"
18 
19 #include <vector>
20 
21 namespace cee {
22 namespace ug {
23 
24 //==================================================================================================
25 //
26 //
27 //
28 //==================================================================================================
29 class CEE_UG_EXPORT Element
30 {
31 public:
32  enum Type
33  {
34  POINTS = 0,
50  POLYHEDRONS,
51  NULL_ELEMENT
52  };
53 
54  enum Category
55  {
70  CATEGORY_UNDEFINED
71  };
72 
73 public:
74  static size_t nodesPerElement(Type elementType);
75  static bool isVolumeElement(Type elementType);
76 
77  static size_t surfacesPerElement(Type elementType);
78  static std::vector<unsigned int> elementSurface(Type elementType, size_t surfaceIndex);
79 
80  static size_t edgesPerElement(Type elementType);
81  static std::vector<unsigned int> elementEdge(Type elementType, size_t edgeIndex);
82 };
83 
84 } // namespace ug
85 } // namespace cee
Interface element - distributed contact, boundary conditions.
Definition: Element.h:68
Spring & dashpot element.
Definition: Element.h:64
Definition: Element.h:37
Namespace cee contains all functionality and structures under the Core component. ...
Definition: AppComponent.cpp:26
Beam elements - axial stress, bending, shear.
Definition: Element.h:59
Type
List of supported element types.
Definition: Element.h:32
Definition: Element.h:39
Definition: Element.h:45
Constraint element, multipoint constraint.
Definition: Element.h:66
Rigid element.
Definition: Element.h:65
Definition: Element.h:47
Definition: Element.h:43
Definition: Element.h:36
Definition: Element.h:46
Joint element.
Definition: Element.h:63
Definition: Element.h:41
Definition: Element.h:44
Gap element (point contact)
Definition: Element.h:62
Truss elements, axial stress only.
Definition: Element.h:60
Definition: Element.h:35
Membrane elements - only in-plane stress.
Definition: Element.h:58
Definition: Element.h:42
Definition: Element.h:38
Infinite element.
Definition: Element.h:61
Definition: Element.h:40
Definition: Element.h:49
Definition: Element.h:48
Shell elements (in-plane stress, bending, shear)
Definition: Element.h:57
Class for a FEM element.
Definition: Element.h:29
Solid elements.
Definition: Element.h:56
Mass element.
Definition: Element.h:67
Category
List of categories.
Definition: Element.h:54
Super elements.
Definition: Element.h:69