IFEM  90A354
Property.h
Go to the documentation of this file.
1 // $Id$
2 //==============================================================================
12 //==============================================================================
13 
14 #ifndef _PROPERTY_H
15 #define _PROPERTY_H
16 
17 #include <vector>
18 #include <cstddef>
19 
20 
25 struct Property
26 {
31  enum Type
32  {
33  UNDEFINED,
34  MATERIAL,
35  BODYLOAD,
36  NEUMANN,
37  NEUMANN_ANASOL,
38  NEUMANN_GENERIC,
39  ROBIN,
40  ROBIN_ANASOL,
41  RIGID,
42  DIRICHLET,
43  DIRICHLET_INHOM,
44  DIRICHLET_OVERRIDE,
45  DIRICHLET_ANASOL,
46  OTHER
47  };
48 
50  int pindx;
51  size_t patch;
52  char lindx;
53  char ldim;
54  char basis;
55 
57  Property() : pcode(UNDEFINED), pindx(0), patch(0) { lindx=ldim = basis = 0; }
58 
60  Property(Type t, int px, size_t p, char ld, char lx = 0, char b = 0) :
61  pcode(t), pindx(px), patch(p), lindx(lx), ldim(ld), basis(b) {}
62 };
63 
64 using PropertyVec = std::vector<Property>;
65 
66 #endif
std::vector< Property > PropertyVec
Vector of properties.
Definition: Property.h:64
Struct for representing a distributed physical property.
Definition: Property.h:26
char basis
Which basis the property is defined on.
Definition: Property.h:54
size_t patch
Patch index [1,nPatch].
Definition: Property.h:51
Property(Type t, int px, size_t p, char ld, char lx=0, char b=0)
Constructor creating an initialized property instance.
Definition: Property.h:60
Type
The available property types.
Definition: Property.h:32
char lindx
Local entity index (1-based) which is assigned the property.
Definition: Property.h:52
char ldim
Local entity dimension flag [0,3].
Definition: Property.h:53
Property()
Default constructor.
Definition: Property.h:57
int pindx
Physical property index (0-based)
Definition: Property.h:50
Type pcode
Physical property code.
Definition: Property.h:49