1 #ifndef _fei_FiniteElementData_hpp_
2 #define _fei_FiniteElementData_hpp_
4 #include <fei_Lookup.hpp>
43 virtual int parameters(
int numParams,
char** params) = 0;
72 const int* numElemsPerBlock,
73 const int* numNodesPerElem,
74 const int* elemMatrixSizePerBlock,
94 const int* nodeNumbers,
95 const int* numDofPerNode,
96 const int* dof_ids) = 0;
112 const int* nodeNumbers,
113 const int* numDofPerNode,
115 const double *
const * coefs) = 0;
130 const int* nodeNumbers,
131 const int* numDofPerNode,
133 const double* coefs) = 0;
142 const int* nodeNumbers,
144 const double* values) = 0;
158 const int* rowNodeNumbers,
159 const int* row_dof_ids,
160 const int* numColNodesPerRow,
161 const int* colNodeNumbers,
162 const int* col_dof_ids,
163 const double* coefs) = 0;
165 virtual int sumIntoRHSVector(
int numNodes,
166 const int* nodeNumbers,
168 const double* coefs) = 0;
170 virtual int putIntoRHSVector(
int numNodes,
171 const int* nodeNumbers,
173 const double* coefs) = 0;
193 virtual int launchSolver(
int& solveStatus,
int& iterations) = 0;
200 virtual int reset() = 0;
234 const int* nodeNumbers,
235 const double* coefs) = 0;
241 const int* nodeNumbers,
243 const double* coefWeights,
244 double rhsValue) = 0;
250 const int* nodeNumbers,
252 const double* coefWeights,
254 double rhsValue) = 0;
virtual int parameters(int numParams, char **params)=0
virtual int setPenaltyCR(int CRID, int numNodes, const int *nodeNumbers, const int *dof_ids, const double *coefWeights, double penaltyValue, double rhsValue)=0
virtual int loadComplete()=0
virtual int deleteConstraints()=0
virtual int getMultiplierSoln(int CRID, double &lagrangeMultiplier)=0
virtual int setConnectivity(int elemBlockID, int elemID, int numNodes, const int *nodeNumbers, const int *numDofPerNode, const int *dof_ids)=0
virtual int putNodalFieldData(int fieldID, int fieldSize, int numNodes, const int *nodeNumbers, const double *coefs)=0
virtual int setLookup(Lookup &lookup)=0
virtual int setElemVector(int elemBlockID, int elemID, int numNodes, const int *nodeNumbers, const int *numDofPerNode, const int *dof_ids, const double *coefs)=0
virtual int launchSolver(int &solveStatus, int &iterations)=0
virtual int setMultiplierCR(int CRID, int numNodes, const int *nodeNumbers, const int *dof_ids, const double *coefWeights, double rhsValue)=0
virtual int setElemMatrix(int elemBlockID, int elemID, int numNodes, const int *nodeNumbers, const int *numDofPerNode, const int *dof_ids, const double *const *coefs)=0
virtual int sumIntoMatrix(int numRowNodes, const int *rowNodeNumbers, const int *row_dof_ids, const int *numColNodesPerRow, const int *colNodeNumbers, const int *col_dof_ids, const double *coefs)=0
virtual int getSolnEntry(int nodeNumber, int dof_id, double &value)=0
virtual int describeStructure(int numElemBlocks, const int *numElemsPerBlock, const int *numNodesPerElem, const int *elemMatrixSizePerBlock, int totalNumNodes, int numSharedNodes, int numMultCRs)=0
virtual int setDirichletBCs(int numBCs, const int *nodeNumbers, const int *dof_ids, const double *values)=0