59 const double *
const *alpha,
60 const double *
const *beta,
61 const double *
const *gamma) = 0;
66 const double*
const* ,
73 const double*
const* ,
79 const double* ) {
return(0); }
85 const double* CRWeights,
92 const double* CRWeights,
100 const double* rhsEntries) = 0;
106 const double* rhsEntries) = 0;
118 virtual int parameters(
int numParams,
const char *
const* paramStrings);
122 int* fieldIDs,
double* norms,
double& residTime) = 0;
125 virtual int solve(
int& status,
double& sTime) = 0;
137 double *results) = 0;
142 double *results) = 0;
149 double *results) = 0;
155 int& numElemDOFPerElement,
156 double *results) = 0;
159 double* multipliers) = 0;
176 const double *estimates) = 0;
183 const double *estimates) = 0;
189 const double *estimates) = 0;
193 const double *multEstimates) = 0;
204 double* results) = 0;
209 const double* nodeData) = 0;
214 const double* nodeData) = 0;
228 const double* gamma,
int numEqns) = 0;
230 static void copyStiffness(
const double*
const* elemStiff,
int numRows,
231 int elemFormat,
double** copy);
240 const double*
const* ,
249 const double*
const* ,
251 int ,
int ) {
return(-1);}
254 int* fieldIDs,
double* norms,
255 std::vector<double>& residValues);
virtual int residualNorm(int whichNorm, int numFields, int *fieldIDs, double *norms, double &residTime)=0
virtual int resetInitialGuess(double s)=0
Filter(SNL_FEI_Structure *probStruct)
virtual int getNodalSolution(int numNodes, const GlobalID *nodeIDs, int *offsets, double *results)=0
virtual int getBlockFieldNodeSolution(GlobalID elemBlockID, int fieldID, int numNodes, const GlobalID *nodeIDs, double *results)=0
Filter & operator=(const Filter &)
virtual int sumInElem(GlobalID, GlobalID, const GlobalID *, const double *const *, const double *, int)
std::ostream * logStream()
virtual int resetSystem(double s)=0
virtual int sumInElemMatrix(GlobalID, GlobalID, const GlobalID *, const double *const *, int)
virtual int unpackSolution()=0
virtual int resetRHSVector(double s)=0
virtual int generalElemInput(GlobalID, GlobalID, const GlobalID *, const double *const *, const double *, int)
virtual int parameters(int numParams, const char *const *paramStrings)
virtual int putBlockFieldNodeSolution(GlobalID elemBlockID, int fieldID, int numNodes, const GlobalID *nodeIDs, const double *estimates)=0
virtual int putNodalFieldSolution(int fieldID, int numNodes, const GlobalID *nodeIDs, const double *nodeData)=0
virtual int putCRMultipliers(int numMultCRs, const int *CRIDs, const double *multEstimates)=0
virtual void setEqnCommMgr(EqnCommMgr *eqnCommMgr)=0
virtual int exchangeRemoteEquations()
static void copyStiffness(const double *const *elemStiff, int numRows, int elemFormat, double **copy)
virtual int setNumRHSVectors(int numRHSs, int *rhsIDs)=0
int calculateResidualNorms(int whichNorm, int numFields, int *fieldIDs, double *norms, std::vector< double > &residValues)
virtual int setCurrentRHS(int rhsID)=0
virtual int sumIntoRHS(int IDType, int fieldID, int numIDs, const GlobalID *IDs, const double *rhsEntries)=0
virtual int putNodalFieldData(int fieldID, int numNodes, const GlobalID *nodeIDs, const double *nodeData)=0
virtual int sumIntoMatrixDiagonal(int, int, int, const GlobalID *, const double *)
SNL_FEI_Structure * problemStructure_
int generalCoefInput(int, const int *, const GlobalID *, const int *, const GlobalID *, const double *const *, const double *, int, int)
virtual int loadElemBCs(int numElems, const GlobalID *elemIDs, int fieldID, const double *const *alpha, const double *const *beta, const double *const *gamma)=0
const NodeDescriptor & findNodeDescriptor(GlobalID nodeID) const
virtual int putBlockNodeSolution(GlobalID elemBlockID, int numNodes, const GlobalID *nodeIDs, const int *offsets, const double *estimates)=0
virtual int loadCRPen(int CRPenID, int numCRNodes, const GlobalID *CRNodes, const int *CRFields, const double *CRWeights, double CRValue, double penValue)=0
virtual int getBlockElemSolution(GlobalID elemBlockID, int numElems, const GlobalID *elemIDs, int &numElemDOFPerElement, double *results)=0
virtual int resetMatrix(double s)=0
virtual int sumInElemRHS(GlobalID, GlobalID, const GlobalID *, const double *)
void setLogStream(std::ostream *logstrm)
virtual int getCRMultipliers(int numCRs, const int *CRIDs, double *multipliers)=0
virtual int loadCRMult(int CRMultID, int numCRNodes, const GlobalID *CRNodes, const int *CRFields, const double *CRWeights, double CRValue)=0
std::ostream * logInputStream_
std::ostream & console_out()
const NodeDescriptor * findNode(GlobalID nodeID) const
virtual int enforceEssentialBCs(const int *eqns, const double *alpha, const double *gamma, int numEqns)=0
virtual int loadComplete()=0
virtual EqnCommMgr * getEqnCommMgr()=0
virtual int putBlockElemSolution(GlobalID elemBlockID, int numElems, const GlobalID *elemIDs, int dofPerElem, const double *estimates)=0
virtual int solve(int &status, double &sTime)=0
virtual int initialize()=0
virtual int loadNodeBCs(int, const GlobalID *, int, const int *, const double *)
virtual int getBlockNodeSolution(GlobalID elemBlockID, int numNodes, const GlobalID *nodeIDs, int *offsets, double *results)=0
virtual int getNodalFieldSolution(int fieldID, int numNodes, const GlobalID *nodeIDs, double *results)=0
virtual int deleteMultCRs()=0
virtual int iterations() const =0
virtual int putIntoRHS(int IDType, int fieldID, int numIDs, const GlobalID *IDs, const double *rhsEntries)=0