9 #ifndef _fei_LinearSystem_hpp_
10 #define _fei_LinearSystem_hpp_
12 #include <fei_macros.hpp>
13 #include <fei_SharedPtr.hpp>
14 #include <fei_MatrixGraph.hpp>
15 #include <fei_Matrix.hpp>
16 #include <fei_Vector.hpp>
17 #include <fei_DirichletBCManager.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;
210 fei::DirichletBCManager* dbcManager_;
212 std::vector<char*> attributeNames_;
213 std::vector<void*> attributes_;
217 #endif // _fei_LinearSystem_hpp_
virtual void setMatrix(fei::SharedPtr< fei::Matrix > &matrix)
virtual int loadEssentialBCs(int numIDs, const int *IDs, int idType, int fieldID, int offsetIntoField, const double *prescribedValues)
virtual fei::SharedPtr< fei::Matrix > getMatrix()
virtual int loadLagrangeConstraint(int constraintID, const double *weights, double rhsValue)=0
virtual bool eqnIsEssentialBC(int globalEqnIndex) const =0
virtual int parameters(int numParams, const char *const *paramStrings)=0
virtual void setSolutionVector(fei::SharedPtr< fei::Vector > &soln)
virtual int loadPenaltyConstraint(int constraintID, const double *weights, double penaltyValue, double rhsValue)=0
virtual fei::SharedPtr< fei::Vector > getRHS()
virtual void setRHS(fei::SharedPtr< fei::Vector > &rhs)
virtual void getEssentialBCs(std::vector< int > &bcEqns, std::vector< double > &bcVals) const =0
virtual int loadComplete(bool applyBCs=true, bool globalAssemble=true)=0
virtual void getConstrainedEqns(std::vector< int > &crEqns) const =0
virtual int putAttribute(const char *name, void *attribute)
virtual int getAttribute(const char *name, void *&attribute)
virtual int setBCValuesOnVector(fei::Vector *vector)=0
LinearSystem(fei::SharedPtr< fei::MatrixGraph > &matrixGraph)
virtual fei::SharedPtr< fei::Vector > getSolutionVector()