|
FEI
Version of the Day
|
#include <FEData.hpp>

Public Member Functions | |
| FEData (MPI_Comm comm) | |
| 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 | loadComplete () |
| int | launchSolver (int &solveStatus, int &iterations) |
| int | reset () |
| 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) |
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.
|
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.
|
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 |
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.
|
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.
1.8.5