1 #ifndef PILEFEAMODELER_H 2 #define PILEFEAMODELER_H 8 #include "pilegrouptool_parameters.h" 11 #define CHECK_STATE(X) modelState.value(X) 12 #define ENABLE_STATE(X) modelState[X]=true 13 #define DISABLE_STATE(X) modelState[X]=false 15 enum class PilePlotData {
28 enum class AnalysisState {
50 SoilMotionData(
double d0,
double d1,
double zm) { delta0=d0; delta1=d1;zmax=zm;};
67 void updatePiles(QVector<PILE_INFO> &);
68 void updateSwitches(
bool useToe,
bool assumeRigidHead);
69 void setLoadType(LoadControlType);
70 void updateLoad(
double,
double,
double);
71 void updateSoil(QVector<soilLayer> &);
72 void updateGWtable(
double );
73 void updateDisplacement(
double ux=0.0,
double uy=0.0);
74 void updateDispProfile(QVector<double> &);
75 void setAnalysisType(QString);
76 void setDefaultParameters(
void);
79 void writeFEMinput(QString filename);
80 void dumpDomain(QString filename);
88 void updateMotionData(
void);
89 double shift(
double z);
91 QList<QVector<QVector<double> *> *> getLateralDisplacements();
92 QList<QVector<QVector<double> *> *> getAxialDisplacements();
93 QList<QVector<QVector<double> *> *> getMoment();
94 QList<QVector<QVector<double> *> *> getShear();
95 QList<QVector<QVector<double> *> *> getForce();
96 QList<QVector<QVector<double> *> *> getStress();
97 QList<QVector<QVector<double> *> *> getPult();
98 QList<QVector<QVector<double> *> *> getY50();
99 QList<QVector<QVector<double> *> *> getTult();
100 QList<QVector<QVector<double> *> *> getZ50();
103 int extractPlotData();
104 void clearPlotBuffers();
108 LoadControlType loadControlType;
110 QMap<AnalysisState, bool> modelState;
124 double percentageBase;
126 QVector<double> soilMotion = QVector<double>(MAXLAYERS+1, 0.0);
127 QVector<SoilMotionData> motionData = QVector<SoilMotionData>(MAXLAYERS);
135 bool assumeRigidPileHeadConnection =
false;
136 bool useToeResistance =
true;
142 QVector<soilLayer> mSoilLayers;
157 int minElementsPerLayer = MIN_ELEMENTS_PER_LAYER;
158 int maxElementsPerLayer = MAX_ELEMENTS_PER_LAYER;
159 int numElementsInAir = NUM_ELEMENTS_IN_AIR;
171 QVector<HEAD_NODE_TYPE> headNodeList = QVector<HEAD_NODE_TYPE>(MAXPILES, {-1,-1,0.0, 1.0, 1.0});
172 QList<CAP_NODE_TYPE> capNodeList;
175 StaticAnalysis *theAnalysis = NULL;
178 QVector<double> depthOfLayer = QVector<double>(4, 0.0);
181 QVector<QVector<double> *> locList;
182 QVector<QVector<double> *> lateralDispList;
183 QVector<QVector<double> *> axialDispList;
184 QVector<QVector<double> *> MomentList;
185 QVector<QVector<double> *> ShearList;
186 QVector<QVector<double> *> AxialList;
187 QVector<QVector<double> *> StressList;
189 QVector<QVector<double> *> pultList;
190 QVector<QVector<double> *> y50List;
191 QVector<QVector<double> *> tultList;
192 QVector<QVector<double> *> z50List;
194 QList<SoilNodeData> soilNodes;
199 QFile *FEMfile = NULL;
202 #endif // PILEFEAMODELER_H Definition: pilefeamodeler.h:40
Definition: pilegrouptool_parameters.h:52
Definition: pilefeamodeler.h:46
Definition: pilefeamodeler.h:57