9 #include <fei_macros.hpp>
11 #include <fei_MatrixGraph.hpp>
12 #include <fei_LinearSystem.hpp>
13 #include <snl_fei_LinearSystem_General.hpp>
14 #include <snl_fei_Utils.hpp>
21 matrixGraph_(matrixGraph),
31 for(
unsigned i=0; i<attributeNames_.size(); ++i) {
32 delete [] attributeNames_[i];
56 snl_fei::storeNamedAttribute(name, attribute,
57 attributeNames_, attributes_);
65 attribute = snl_fei::retrieveNamedAttribute(name, attributeNames_, attributes_);
66 return(attribute==NULL ? -1 : 0);
75 const double* prescribedValues)
77 if (dbcManager_ == NULL) {
78 dbcManager_ =
new fei::DirichletBCManager(matrixGraph_->getRowSpace());
82 dbcManager_->addBCRecords(numIDs, idType, fieldID, offsetIntoField,
83 IDs, prescribedValues);
85 catch(std::runtime_error& exc) {
98 const int* offsetsIntoField,
99 const double* prescribedValues)
101 if (dbcManager_ == NULL) {
102 dbcManager_ =
new fei::DirichletBCManager(matrixGraph_->getRowSpace());
106 dbcManager_->addBCRecords(numIDs, idType, fieldID, IDs, offsetsIntoField,
109 catch(std::runtime_error& exc) {
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::LinearSystem > createLinearSystem(fei::SharedPtr< fei::MatrixGraph > &matrixGraph)
std::ostream & console_out()
virtual int putAttribute(const char *name, void *attribute)
virtual int getAttribute(const char *name, void *&attribute)
LinearSystem(fei::SharedPtr< fei::MatrixGraph > &matrixGraph)