FEI Package Browser (Single Doxygen Collection) Version of the Day
Loading...
Searching...
No Matches
fei_FiniteElementData.hpp
Go to the documentation of this file.
1#ifndef _fei_FiniteElementData_hpp_
2#define _fei_FiniteElementData_hpp_
3
4#include <fei_Lookup.hpp>
5
34 public:
35
36 virtual ~FiniteElementData() {};
37
43 virtual int parameters(int numParams, char** params) = 0;
44
45
53 virtual int setLookup(Lookup& lookup) = 0;
54
55
71 virtual int describeStructure(int numElemBlocks,
72 const int* numElemsPerBlock,
73 const int* numNodesPerElem,
74 const int* elemMatrixSizePerBlock,
75 int totalNumNodes,
76 int numSharedNodes,
77 int numMultCRs) = 0;
78
91 virtual int setConnectivity(int elemBlockID,
92 int elemID,
93 int numNodes,
94 const int* nodeNumbers,
95 const int* numDofPerNode,
96 const int* dof_ids) = 0;
97
109 virtual int setElemMatrix(int elemBlockID,
110 int elemID,
111 int numNodes,
112 const int* nodeNumbers,
113 const int* numDofPerNode,
114 const int* dof_ids,
115 const double *const * coefs) = 0;
116
127 virtual int setElemVector(int elemBlockID,
128 int elemID,
129 int numNodes,
130 const int* nodeNumbers,
131 const int* numDofPerNode,
132 const int* dof_ids,
133 const double* coefs) = 0;
134
141 virtual int setDirichletBCs(int numBCs,
142 const int* nodeNumbers,
143 const int* dof_ids,
144 const double* values) = 0;
145
157 virtual int sumIntoMatrix(int numRowNodes,
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;
164
165 virtual int sumIntoRHSVector(int numNodes,
166 const int* nodeNumbers,
167 const int* dof_ids,
168 const double* coefs) = 0;
169
170 virtual int putIntoRHSVector(int numNodes,
171 const int* nodeNumbers,
172 const int* dof_ids,
173 const double* coefs) = 0;
174
181 virtual int loadComplete() = 0;
182
183
193 virtual int launchSolver(int& solveStatus, int& iterations) = 0;
194
200 virtual int reset() = 0;
201
205 virtual int deleteConstraints() = 0;
206
212 virtual int getSolnEntry(int nodeNumber,
213 int dof_id,
214 double& value) = 0;
215
218 virtual int getMultiplierSoln(int CRID, double& lagrangeMultiplier) = 0;
219
231 virtual int putNodalFieldData(int fieldID,
232 int fieldSize,
233 int numNodes,
234 const int* nodeNumbers,
235 const double* coefs) = 0;
236
239 virtual int setMultiplierCR(int CRID,
240 int numNodes,
241 const int* nodeNumbers,
242 const int* dof_ids,
243 const double* coefWeights,
244 double rhsValue) = 0;
245
248 virtual int setPenaltyCR(int CRID,
249 int numNodes,
250 const int* nodeNumbers,
251 const int* dof_ids,
252 const double* coefWeights,
253 double penaltyValue,
254 double rhsValue) = 0;
255};
256
257#endif
258
virtual int setDirichletBCs(int numBCs, const int *nodeNumbers, const int *dof_ids, const double *values)=0
virtual int setMultiplierCR(int CRID, int numNodes, const int *nodeNumbers, const int *dof_ids, const double *coefWeights, double rhsValue)=0
virtual int setLookup(Lookup &lookup)=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 describeStructure(int numElemBlocks, const int *numElemsPerBlock, const int *numNodesPerElem, const int *elemMatrixSizePerBlock, int totalNumNodes, int numSharedNodes, int numMultCRs)=0
virtual int setConnectivity(int elemBlockID, int elemID, int numNodes, const int *nodeNumbers, const int *numDofPerNode, const int *dof_ids)=0
virtual int reset()=0
virtual int deleteConstraints()=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 loadComplete()=0
virtual int launchSolver(int &solveStatus, int &iterations)=0
virtual int putIntoRHSVector(int numNodes, const int *nodeNumbers, const int *dof_ids, const double *coefs)=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 getSolnEntry(int nodeNumber, int dof_id, double &value)=0
virtual int getMultiplierSoln(int CRID, double &lagrangeMultiplier)=0
virtual int sumIntoRHSVector(int numNodes, const int *nodeNumbers, const int *dof_ids, const double *coefs)=0
virtual int putNodalFieldData(int fieldID, int fieldSize, int numNodes, const int *nodeNumbers, const double *coefs)=0