10 #define _driverData_h_
12 #include <fei_macros.hpp>
30 sumInElem() : stiff1D(NULL), stiffness(NULL), load(NULL) {}
51 nodeBC():nodeIDs(NULL), alpha(NULL), beta(NULL), gamma(NULL) {}
54 for(
int i=0; i<numNodes; ++i) {
111 sharedNodes() : nodeIDs(NULL), numProcsPerNode(NULL), sharedProcIDs(NULL){}
114 for(
int i=0; i<numNodes; ++i)
delete [] sharedProcIDs[i];
115 delete [] sharedProcIDs;
116 delete [] numProcsPerNode;
122 int* numProcsPerNode;
128 parameters() : paramList() {}
131 for(
size_t i=0; i<paramList.size(); ++i)
delete [] paramList[i];
134 std::vector<char*> paramList;
139 setIDLists() : matrixIDs(NULL), rhsIDs(NULL) {}
140 ~setIDLists(){
delete [] matrixIDs;
delete [] rhsIDs;}
148 class putBlockFieldNodeSolution {
150 putBlockFieldNodeSolution() : nodeIDs(NULL), estimates(NULL) {}
151 ~putBlockFieldNodeSolution(){
delete [] nodeIDs;
delete [] estimates;}
166 int readData(
const char* fileName);
172 int call_fei_method(
const char* method,
FEI* fei);
174 std::vector<const char*>& get_methodNames() {
return( methodNames ); }
177 int readData(FEI_ISTREAM* instr,
char* keyword);
178 int getKeyword(FEI_ISTREAM* instr,
char*& keyword);
180 int is_reg_char(
char c);
181 int skipWhite(FEI_ISTREAM* instr);
182 int readData(FEI_ISTREAM* instr,
int& n);
183 int readData(FEI_ISTREAM* instr,
double& val);
184 int appendName(
const char* name);
186 std::vector<const char*> methodNames;
192 int initFields_numFields_;
193 int* initFields_fieldSizes_;
194 int* initFields_fieldIDs_;
196 int initElemBlock_numInts_;
197 int* initElemBlock_ints_;
198 int* initElemBlock_fieldsPerNode_;
199 int** initElemBlock_fieldIDs_;
200 int* initElemBlock_elemDofFieldIDs_;
202 std::vector<initElem*> initElems_;
203 int initElemCounter_;
205 std::vector<sumInElem*> sumInElems_;
206 int sumInElemCounter_;
208 std::vector<sumInElem*> sumInElemMatrix_;
209 int sumInElemMatrixCounter_;
211 std::vector<sumInElem*> sumInElemRHS_;
212 int sumInElemRHSCounter_;
216 double resetRHSVector_;
217 double resetInitialGuess_;
219 std::vector<nodeBC*> loadNodeBCs_;
220 int loadNodeBCsCounter_;
222 std::vector<initCR*> initCRMult_;
223 int initCRMultCounter_;
225 std::vector<loadCR*> loadCRMult_;
226 int loadCRMultCounter_;
228 std::vector<sharedNodes*> initSharedNodes_;
229 int initSharedNodesCounter_;
231 std::vector<parameters*> parameters_;
232 int parametersCounter_;
234 std::vector<setIDLists*> setIDLists_;
235 int setIDListsCounter_;
237 std::vector<int> setCurrentMatrix_;
238 int setCurrentMatrixCounter_;
240 std::vector<int> setCurrentRHS_;
241 int setCurrentRHSCounter_;
243 std::vector<putBlockFieldNodeSolution*> putBlockFieldNodeSolution_;
244 int putBlockFieldNodeSolutionCounter_;
247 #endif // _driverData_h_