161 const char *
const* paramStrings) = 0;
180 const int* matrixIDs,
182 const int* rhsIDs ) = 0;
210 const int *fieldSizes,
212 const int *fieldTypes = NULL ) = 0;
237 int numNodesPerElement,
238 const int *numFieldsPerNode,
239 const int *
const *nodalFieldIDs,
240 int numElemDofFieldsPerElement,
241 const int* elemDOFFieldIDs,
242 int interleaveStrategy ) = 0;
273 const int *numProcsPerNode,
274 const int *
const *sharingProcIDs ) = 0;
286 const int *CRFieldIDs,
299 const int *CRFieldIDs,
351 int offsetIntoSlaveField,
354 const int* masterFieldIDs,
355 const double* weights,
356 double rhsValue) = 0;
435 const int* offsetsIntoField,
436 const double* prescribedValues) = 0;
463 const double *
const *alpha,
464 const double *
const *beta,
465 const double *
const *gamma ) = 0;
485 const double*
const* elemStiffness,
486 const double* elemLoad,
506 const double*
const* elemStiffness,
520 const double* elemLoad) = 0;
531 virtual int loadCRMult(
int CRMultID,
int numCRNodes,
533 const int* CRFieldIDs,
534 const double* CRWeights,
547 virtual int loadCRPen(
int CRPenID,
int numCRNodes,
549 const int* CRFieldIDs,
550 const double* CRWeights,
552 double penValue) = 0;
559 const double* coefficients) = 0;
566 const double* coefficients) = 0;
584 const double* scalars ) = 0;
595 const double* scalars) = 0;
602 bool globalAssemble=
true) = 0;
619 int* fieldIDs,
double* norms) = 0;
631 virtual int solve(
int& status) = 0;
639 virtual int iterations(
int& itersTaken)
const = 0;
645 virtual int getFieldSize(
int fieldID,
int& numScalars) = 0;
663 int* eqnNumbers) = 0;
680 double* results) = 0;
710 const double* data) = 0;
733 double *results ) = 0;
752 double* results) = 0;
768 double *results) = 0;
782 int& numElemDOFPerElement,
783 double *results ) = 0;
808 double *results) = 0;
832 const double *estimates) = 0;
846 const double *estimates) = 0;
861 const double *estimates) = 0;
869 const int* CRMultIDs,
870 const double *multEstimates ) = 0;
906 virtual int version(
const char*& versionString) = 0;
918 double& solnReturn) = 0;
927 int& numSolnParams)
const = 0;
939 int& numNodes)
const = 0;
947 int& numEqns)
const = 0;
955 int& nodesPerElem)
const = 0;
963 int& eqnsPerElem)
const = 0;
970 int& numElems)
const = 0;
977 int& DOFPerElem)
const = 0;
virtual int getCRMultipliers(int numCRs, const int *CRIDs, double *results)=0
virtual int initSlaveVariable(GlobalID slaveNodeID, int slaveFieldID, int offsetIntoSlaveField, int numMasterNodes, const GlobalID *masterNodeIDs, const int *masterFieldIDs, const double *weights, double rhsValue)=0
virtual int sumInElemMatrix(GlobalID elemBlockID, GlobalID elemID, const GlobalID *elemConn, const double *const *elemStiffness, int elemFormat)=0
virtual int getBlockElemIDList(GlobalID elemBlockID, int numElems, GlobalID *elemIDs)=0
virtual int loadCRPen(int CRPenID, int numCRNodes, const GlobalID *CRNodeIDs, const int *CRFieldIDs, const double *CRWeights, double CRValue, double penValue)=0
virtual int getNumElemBlocks(int &numElemBlocks) const =0
virtual int parameters(int numParams, const char *const *paramStrings)=0
virtual int initComplete()=0
virtual int putBlockNodeSolution(GlobalID elemBlockID, int numNodes, const GlobalID *nodeIDs, const int *offsets, const double *estimates)=0
virtual int setMatScalars(int numScalars, const int *IDs, const double *scalars)=0
virtual int getNumCRMultipliers(int &numMultCRs)=0
virtual int loadNodeBCs(int numNodes, const GlobalID *nodeIDs, int fieldID, const int *offsetsIntoField, const double *prescribedValues)=0
virtual int solve(int &status)=0
virtual int getNumBlockActEqns(GlobalID elemBlockID, int &numEqns) const =0
virtual int getNodalFieldSolution(int fieldID, int numNodes, const GlobalID *nodeIDs, double *results)=0
virtual int getNumBlockElemDOF(GlobalID blockID, int &DOFPerElem) const =0
virtual int putNodalFieldData(int fieldID, int numNodes, const GlobalID *nodeIDs, const double *data)=0
virtual int loadCRMult(int CRMultID, int numCRNodes, const GlobalID *CRNodeIDs, const int *CRFieldIDs, const double *CRWeights, double CRValue)=0
virtual int setRHSScalars(int numScalars, const int *IDs, const double *scalars)=0
virtual int getNumBlockActNodes(GlobalID elemBlockID, int &numNodes) const =0
virtual int putIntoRHS(int IDType, int fieldID, int numIDs, const GlobalID *IDs, const double *coefficients)=0
virtual int initCRMult(int numCRNodes, const GlobalID *CRNodeIDs, const int *CRFieldIDs, int &CRID)=0
virtual int getNumLocalNodes(int &numNodes)=0
virtual int version(const char *&versionString)=0
virtual int loadElemBCs(int numElems, const GlobalID *elemIDs, int fieldID, const double *const *alpha, const double *const *beta, const double *const *gamma)=0
virtual int getNumEqnsPerElement(GlobalID elemBlockID, int &eqnsPerElem) const =0
virtual int deleteMultCRs()=0
virtual int getEqnNumbers(GlobalID ID, int idType, int fieldID, int &numEqns, int *eqnNumbers)=0
virtual int initSharedNodes(int numSharedNodes, const GlobalID *sharedNodeIDs, const int *numProcsPerNode, const int *const *sharingProcIDs)=0
virtual int setCurrentRHS(int rhsID)=0
virtual int resetInitialGuess(double s)=0
virtual int initFields(int numFields, const int *fieldSizes, const int *fieldIDs, const int *fieldTypes=NULL)=0
virtual int initElemBlock(GlobalID elemBlockID, int numElements, int numNodesPerElement, const int *numFieldsPerNode, const int *const *nodalFieldIDs, int numElemDofFieldsPerElement, const int *elemDOFFieldIDs, int interleaveStrategy)=0
virtual int getFieldSize(int fieldID, int &numScalars)=0
virtual int getNumNodesPerElement(GlobalID elemBlockID, int &nodesPerElem) const =0
virtual int setSolveType(int solveType)=0
virtual int getNumSolnParams(GlobalID globalNodeID, int &numSolnParams) const =0
virtual int resetMatrix(double s=0.0)=0
virtual int getNodalSolution(int numNodes, const GlobalID *nodeIDs, int *offsets, double *results)=0
virtual int loadComplete(bool applyBCs=true, bool globalAssemble=true)=0
virtual int getBlockElemSolution(GlobalID elemBlockID, int numElems, const GlobalID *elemIDs, int &numElemDOFPerElement, double *results)=0
virtual int resetSystem(double s=0.0)=0
virtual int sumInElemRHS(GlobalID elemBlockID, GlobalID elemID, const GlobalID *elemConn, const double *elemLoad)=0
virtual int putCRMultipliers(int numMultCRs, const int *CRMultIDs, const double *multEstimates)=0
virtual int resetRHSVector(double s=0.0)=0
virtual int getBlockFieldNodeSolution(GlobalID elemBlockID, int fieldID, int numNodes, const GlobalID *nodeIDs, double *results)=0
virtual int getBlockNodeSolution(GlobalID elemBlockID, int numNodes, const GlobalID *nodeIDs, int *offsets, double *results)=0
virtual int getBlockNodeIDList(GlobalID elemBlockID, int numNodes, GlobalID *nodeIDs)=0
virtual int residualNorm(int whichNorm, int numFields, int *fieldIDs, double *norms)=0
virtual int setIDLists(int numMatrices, const int *matrixIDs, int numRHSs, const int *rhsIDs)=0
virtual int iterations(int &itersTaken) const =0
virtual int sumIntoMatrixDiagonal(int, int, int, const GlobalID *, const double *)
virtual int setCurrentMatrix(int matrixID)=0
virtual int sumInElem(GlobalID elemBlockID, GlobalID elemID, const GlobalID *elemConn, const double *const *elemStiffness, const double *elemLoad, int elemFormat)=0
virtual int getLocalNodeIDList(int &numNodes, GlobalID *nodeIDs, int lenNodeIDs)=0
virtual int putBlockFieldNodeSolution(GlobalID elemBlockID, int fieldID, int numNodes, const GlobalID *nodeIDs, const double *estimates)=0
virtual int sumIntoRHS(int IDType, int fieldID, int numIDs, const GlobalID *IDs, const double *coefficients)=0
virtual int initElem(GlobalID elemBlockID, GlobalID elemID, const GlobalID *elemConn)=0
virtual int getCRMultIDList(int numMultCRs, int *multIDs)=0
virtual int initCRPen(int numCRNodes, const GlobalID *CRNodeIDs, const int *CRFieldIDs, int &CRID)=0
virtual int putBlockElemSolution(GlobalID elemBlockID, int numElems, const GlobalID *elemIDs, int dofPerElem, const double *estimates)=0
virtual int getNumBlockElements(GlobalID blockID, int &numElems) const =0
virtual int cumulative_cpu_times(double &initPhase, double &loadPhase, double &solve, double &solnReturn)=0