9#ifndef _fei_LinearSystem_hpp_
10#define _fei_LinearSystem_hpp_
52 const char*
const* paramStrings) = 0;
125 const double* prescribedValues);
147 const int* offsetsIntoField,
148 const double* prescribedValues);
159 const double *weights,
160 double rhsValue) = 0;
172 const double *weights,
174 double rhsValue) = 0;
180 bool globalAssemble=
true) = 0;
197 std::vector<double>& bcVals)
const = 0;
virtual fei::SharedPtr< fei::LinearSystem > createLinearSystem(fei::SharedPtr< fei::MatrixGraph > &matrixGraph)
virtual void getConstrainedEqns(std::vector< int > &crEqns) const =0
fei::SharedPtr< fei::MatrixGraph > matrixGraph_
fei::SharedPtr< fei::Matrix > matrix_
virtual void setRHS(fei::SharedPtr< fei::Vector > &rhs)
virtual int loadEssentialBCs(int numIDs, const int *IDs, int idType, int fieldID, int offsetIntoField, const double *prescribedValues)
virtual void setSolutionVector(fei::SharedPtr< fei::Vector > &soln)
std::vector< void * > attributes_
virtual int parameters(const fei::ParameterSet ¶ms)=0
virtual int loadPenaltyConstraint(int constraintID, const double *weights, double penaltyValue, double rhsValue)=0
fei::SharedPtr< fei::Vector > soln_
virtual fei::SharedPtr< fei::Vector > getRHS()
fei::DirichletBCManager * dbcManager_
std::vector< char * > attributeNames_
virtual int loadLagrangeConstraint(int constraintID, const double *weights, double rhsValue)=0
virtual int parameters(int numParams, const char *const *paramStrings)=0
fei::SharedPtr< fei::Vector > rhs_
virtual int putAttribute(const char *name, void *attribute)
virtual int setBCValuesOnVector(fei::Vector *vector)=0
virtual void getEssentialBCs(std::vector< int > &bcEqns, std::vector< double > &bcVals) const =0
virtual int getAttribute(const char *name, void *&attribute)
virtual fei::SharedPtr< fei::Matrix > getMatrix()
virtual bool eqnIsEssentialBC(int globalEqnIndex) const =0
virtual fei::SharedPtr< fei::Vector > getSolutionVector()
virtual void setMatrix(fei::SharedPtr< fei::Matrix > &matrix)
virtual fei::SharedPtr< const fei::Vector > getSolutionVector() const
virtual fei::SharedPtr< const fei::Vector > getRHS() const
virtual fei::SharedPtr< const fei::Matrix > getMatrix() const
virtual int loadComplete(bool applyBCs=true, bool globalAssemble=true)=0