|
FEI Package Browser (Single Doxygen Collection)
Version of the Day
|
#include <FEData.hpp>

Public Member Functions | |
| FEData (MPI_Comm comm) | |
| virtual | ~FEData () |
| int | parameters (int numParams, char **params) |
| int | setLookup (Lookup &lookup) |
| int | describeStructure (int numElemBlocks, const int *numElemsPerBlock, const int *numNodesPerElem, const int *elemMatrixSizePerBlock, int totalNumNodes, int numSharedNodes, int numMultCRs) |
| int | setConnectivity (int elemBlockID, int elemID, int numNodes, const int *nodeNumbers, const int *numDofPerNode, const int *dof_ids) |
| int | setElemMatrix (int elemBlockID, int elemID, int numNodes, const int *nodeNumbers, const int *dofPerNode, const int *dof_ids, const double *const *coefs) |
| int | setElemVector (int elemBlockID, int elemID, int numNodes, const int *nodeNumbers, const int *dofPerNode, const int *dof_ids, const double *coefs) |
| int | setDirichletBCs (int numBCs, const int *nodeNumbers, const int *dofOffsets, const double *values) |
| int | sumIntoMatrix (int numRowNodes, const int *rowNodeNumbers, const int *rowDofOffsets, const int *numColNodesPerRow, const int *colNodeNumbers, const int *colDofOffsets, const double *coefs) |
| int | sumIntoRHSVector (int numNodes, const int *nodeNumbers, const int *dofOffsets, const double *coefs) |
| int | putIntoRHSVector (int numNodes, const int *nodeNumbers, const int *dofOffsets, const double *coefs) |
| int | loadComplete () |
| int | launchSolver (int &solveStatus, int &iterations) |
| int | reset () |
| int | resetRHSVector () |
| int | resetMatrix () |
| int | deleteConstraints () |
| int | getSolnEntry (int nodeNumber, int dofOffset, double &value) |
| int | getMultiplierSoln (int CRID, double &lagrangeMultiplier) |
| int | putNodalFieldData (int fieldID, int fieldSize, int numNodes, const int *nodeNumbers, const double *coefs) |
| int | setMultiplierCR (int CRID, int numNodes, const int *nodeNumbers, const int *dofOffsets, const double *coefWeights, double rhsValue) |
| int | setPenaltyCR (int CRID, int numNodes, const int *nodeNumbers, const int *dofOffsets, const double *coefWeights, double penaltyValue, double rhsValue) |
Public Member Functions inherited from FiniteElementData | |
| virtual | ~FiniteElementData () |
Private Member Functions | |
| int | setDebugLog (int debugOutputLevel, const char *path) |
Private Attributes | |
| MPI_Comm | comm_ |
| int | numProcs_ |
| int | localProc_ |
| int | debugOutputLevel_ |
| char * | dbgPath_ |
| FEI_OSTREAM * | dbgOStreamPtr_ |
| bool | dbgFileOpened_ |
| FEI_OFSTREAM * | dbgFStreamPtr_ |
Simply a test harness to use for checking the FEI layer's usage of the FiniteElementData interface.
Definition at line 28 of file FEData.hpp.
|
inline |
Constructor.
Definition at line 31 of file FEData.hpp.
References comm_, localProc_, MPI_Abort, MPI_SUCCESS, numProcs_, and setDebugLog().
|
inlinevirtual |
Definition at line 46 of file FEData.hpp.
References dbgFileOpened_, dbgFStreamPtr_, dbgOStreamPtr_, and dbgPath_.
|
virtual |
For setting argc/argv style parameters.
| numParams | Number of strings in the params argument |
| params | A list of strings which will usually contain space-separated key-value pairs. Example: "debugOutput /usr/users/me/work_dir" |
Implements FiniteElementData.
Definition at line 20 of file FEData.cpp.
References dbgOut, FEI_ENDL, snl_fei::getParamValue(), and setDebugLog().
|
inlinevirtual |
Supply the FiniteElementData implementation with an object (created and owned by the caller) that can be used to obtain various information about problem layout, shared finite-element nodes, etc. For details, see the documentation for the Lookup interface.
| lookup | Input. Reference to an implementation of the Lookup interface |
Implements FiniteElementData.
Definition at line 68 of file FEData.hpp.
|
inlinevirtual |
For describing the general structure of the finite-element problem that is to be assembled.
Implements FiniteElementData.
Definition at line 78 of file FEData.hpp.
|
inlinevirtual |
For passing element-connectivity arrays.
Implements FiniteElementData.
Definition at line 100 of file FEData.hpp.
|
inlinevirtual |
For passing element-stiffness arrays.
| elemBlockID | Identifier for the element-block that these elements belong to. |
| elemID | Locally zero-based identifier for this element. |
| numNodes | Number of nodes on this element. |
| nodeNumbers | List of length numNodes |
| numDofPerNode | List of length numNodes. |
| dof_ids | List of length sum(numDofPerNode[i]) |
| coefs | C-style table (list of pointers). Each row of the table is of length sum(dofPerNode[i]), and that is also the number of rows. |
Implements FiniteElementData.
Definition at line 126 of file FEData.hpp.
|
inlinevirtual |
For passing element-load vectors.
| elemBlockID | Identifier for the element-block that this element belongs to. |
| elemID | Locally zero-based identifier for this element. |
| numNodes | Number of nodes on this element. |
| nodeNumbers | |
| numDofPerNode | |
| dof_ids | |
| coefs | Packed list, length sum(dofPerNode[i]). |
Implements FiniteElementData.
Definition at line 161 of file FEData.hpp.
|
inlinevirtual |
Specify dirichlet boundary-condition values.
| numBCs | Number of boundary-condition values. |
| nodeNumbers | List of length numBCs. |
| dof_ids | List of length numBCs. |
| values | List of length numBCs. |
Implements FiniteElementData.
Definition at line 191 of file FEData.hpp.
|
inlinevirtual |
Sum coefficients into the matrix. This may be used to pass a dense rectangular block of coefs, or a diagonal band of coefs, or an arbitrary sparse block of coefs.
| numRowNodes | |
| rowNodeNumbers | List of length numRowNodes |
| row_dof_ids | List of length numRowNodes |
| numColNodesPerRow | List of length numRowNodes |
| colNodeNumbers | List of length sum(numColNodesPerRow[i]) |
| col_dof_ids | List of length sum(numColNodesPerRow[i]) |
| coefs | List of length sum(numColNodesPerRow[i]) |
Implements FiniteElementData.
Definition at line 206 of file FEData.hpp.
|
inlinevirtual |
Implements FiniteElementData.
Definition at line 230 of file FEData.hpp.
|
inlinevirtual |
Implements FiniteElementData.
Definition at line 244 of file FEData.hpp.
|
inlinevirtual |
Function called to signal to the FiniteElementData implementation that data-loading is complete and any synchronization or other final operations may be performed now. This is a collective function, must be called by all processors.
Implements FiniteElementData.
Definition at line 258 of file FEData.hpp.
|
inlinevirtual |
Function called to request the launching of the linear solver.
| solveStatus | Output, should indicate the status of the solve. A successful solve is usually indicated by a value of 0. |
| iterations | Output, how many iterations were performed. |
Implements FiniteElementData.
Definition at line 274 of file FEData.hpp.
|
inlinevirtual |
Function to signal that all coefficient values should be zero'd in preparation for a new assemble/solve phase. This is to handle cases where no structural information is changing from one time-step to the next, but new coefficient values need to be loaded for the next solve.
Implements FiniteElementData.
Definition at line 284 of file FEData.hpp.
|
inline |
Definition at line 290 of file FEData.hpp.
|
inline |
Definition at line 296 of file FEData.hpp.
|
inlinevirtual |
Function to signal that lagrange multiplier constraints should be deleted.
Implements FiniteElementData.
Definition at line 302 of file FEData.hpp.
|
inlinevirtual |
Get solution value from the underlying solver.
| nodeNumber | |
| dof_id | |
| value |
Implements FiniteElementData.
Definition at line 308 of file FEData.hpp.
|
inlinevirtual |
Get solution value of a Lagrange Multiplier from the solver.
Implements FiniteElementData.
Definition at line 320 of file FEData.hpp.
|
inlinevirtual |
Pass nodal data that probably doesn't mean anything to the FEI implementation, but may mean something to the linear solver. Examples: geometric coordinates, nullspace data, etc.
| fieldID | Identifier for the field that describes this data. Lists of field identifiers and field sizes defined for the finite-element problem may be obtained from the Lookup interface that is supplied to the ESI_Broker by the FEI implementation. |
| nodeNumbers | List of nodes for which data is being supplied. |
| numNodes | |
| data | List of length numNodes * (size of field 'fieldID') |
Implements FiniteElementData.
Definition at line 337 of file FEData.hpp.
|
inlinevirtual |
Specify lagrange-multipler constraint-relation.
Implements FiniteElementData.
Definition at line 357 of file FEData.hpp.
|
inlinevirtual |
Specify penalty constraint-relation.
Implements FiniteElementData.
Definition at line 375 of file FEData.hpp.
|
private |
Definition at line 37 of file FEData.cpp.
References dbgFileOpened_, dbgFStreamPtr_, dbgOStreamPtr_, dbgPath_, debugOutputLevel_, FEI_OFSTREAM, FEI_OSTRINGSTREAM, localProc_, and numProcs_.
Referenced by FEData(), and parameters().
|
private |
Definition at line 398 of file FEData.hpp.
Referenced by FEData().
|
private |
Definition at line 399 of file FEData.hpp.
Referenced by FEData(), and setDebugLog().
|
private |
Definition at line 399 of file FEData.hpp.
Referenced by FEData(), and setDebugLog().
|
private |
Definition at line 401 of file FEData.hpp.
Referenced by setDebugLog().
|
private |
Definition at line 402 of file FEData.hpp.
Referenced by setDebugLog(), and ~FEData().
|
private |
Definition at line 403 of file FEData.hpp.
Referenced by setDebugLog(), and ~FEData().
|
private |
Definition at line 404 of file FEData.hpp.
Referenced by setDebugLog(), and ~FEData().
|
private |
Definition at line 405 of file FEData.hpp.
Referenced by setDebugLog(), and ~FEData().
1.8.5