Pile Group Tool  2.0.3
Educational tool demonstrating behavior of pile groups in layered soil
pilegrouptool_parameters.h
1 #ifndef PILEGROUPTOOL_PARAMETERS_H
2 #define PILEGROUPTOOL_PARAMETERS_H
3 
4 #include <QVector>
5 #include <QColor>
6 
7 // fixed parameters (limits for piles and soil layers)
8 #define MAXPILES 3
9 #define MAXLAYERS 3
10 
11 // Meshing parameters
12 #define MIN_ELEMENTS_PER_LAYER 15
13 #define MAX_ELEMENTS_PER_LAYER 40
14 #define NUM_ELEMENTS_IN_AIR 4
15 
16 // #define MAX_FORCE 5000.0
17 #define MAX_H_FORCE 1000.0
18 #define MAX_V_FORCE 10000.0
19 #define MAX_MOMENT 2500.0
20 #define MAX_DISP 1.0
21 
22 // global constants
23 #define GAMMA_WATER 9.81
24 
25 // functions
26 #define ABS(X) (X<0.0?-X:X)
27 
28 // data types
29 typedef struct {
30  int pileIdx;
31  int nodeIdx;
32  double x;
33  double reductionFactorLeftMovement;
34  double reductionFactorRightMovement;
36 
37 typedef struct {
38  int pileIdx;
39  int nodeIdx;
40  double x;
41  double z;
43 
44 struct PILE_INFO {
45  double L1; // pile length above ground (all the same)
46  double L2; // embedded length of pile
47  double pileDiameter; // pile diameter
48  double E; // pile modulus of elasticity
49  double xOffset; // x-offset of pile
50 };
51 
53  int numNodePile;
54  int maxLayers;
55  int nodeIDoffset;
56  int elemIDoffset;
57  int firstNodeTag;
58  int lastNodeTag;
59  int firstElementTag;
60  int lastElementTag;
61 };
62 
63 #define SWAP(X,Y) {HEAD_NODE_TYPE tmp=Y; Y=X, Y=tmp; }
64 
65 static QVector<QColor> LINE_COLOR({Qt::blue,Qt::red,Qt::green,Qt::cyan,Qt::magenta,Qt::yellow});
66 static QVector<QColor> BRUSH_COLOR({
67  QColor(255, 127, 0, 127),
68  QColor(191, 95, 0, 127),
69  QColor(127, 63, 0, 127),
70  QColor(127, 255, 0, 127),
71  QColor( 95, 191, 0, 127),
72  QColor( 63, 127, 0, 127),
73  QColor(127, 255, 255, 255),
74  QColor( 95, 191, 255, 255),
75  QColor( 63, 127, 255, 255),
76  QColor(127, 255, 255, 127),
77  QColor( 95, 191, 255, 127),
78  QColor( 63, 127, 255, 127),
79  QColor(255, 127, 0, 63),
80  QColor(191, 95, 0, 63),
81  QColor(127, 63, 0, 63),
82  QColor(127, 255, 0, 63),
83  QColor( 95, 191, 0, 63),
84  QColor( 63, 127, 0, 63)
85  });
86 #define GROUND_WATER_BLUE QColor(127,127,255,192)
87 
88 enum class LoadControlType {
89  ForceControl,
90  PushOver,
91  SoilMotion
92  };
93 
94 #endif // PILEGROUPTOOL_PARAMETERS_H
Definition: pilegrouptool_parameters.h:52
Definition: pilegrouptool_parameters.h:37
Definition: pilegrouptool_parameters.h:44
Definition: pilegrouptool_parameters.h:29