9 #ifndef _snl_fei_LinearSystem_FEData_hpp_
10 #define _snl_fei_LinearSystem_FEData_hpp_
12 #include <fei_macros.hpp>
14 #include <fei_utils.hpp>
15 #include <fei_LinearSystem.hpp>
16 #include <fei_Vector.hpp>
17 #include <fei_Matrix.hpp>
18 #include <fei_fwd.hpp>
21 class DirichletBCManager;
38 const double *weights,
43 const double *weights,
51 bool globalAssemble=
true);
63 const char*
const* paramStrings)
64 {
return( feData_->
parameters(numParams, (
char**)paramStrings) ); }
70 const char** paramStrings = NULL;
71 std::vector<std::string> stdstrings;
77 delete [] paramStrings;
94 std::vector<double>& bcVals)
const;
100 int implementBCs(
bool applyBCs);
111 std::vector<char*> attributeNames_;
112 std::vector<void*> attributes_;
116 #endif // _snl_fei_LinearSystem_FEData_hpp_
LinearSystem_FEData(fei::SharedPtr< FiniteElementData > &fedata, fei::SharedPtr< fei::MatrixGraph > &matrixGraph)
int setBCValuesOnVector(fei::Vector *vector)
virtual int parameters(int numParams, char **params)=0
void strings_to_char_ptrs(std::vector< std::string > &stdstrings, int &numStrings, const char **&charPtrs)
virtual ~LinearSystem_FEData()
void convert_ParameterSet_to_strings(const fei::ParameterSet *paramset, std::vector< std::string > ¶mStrings)
void getConstrainedEqns(std::vector< int > &crEqns) const
bool eqnIsEssentialBC(int globalEqnIndex) const
void setLookup(Lookup *lookup)
int loadPenaltyConstraint(int constraintID, const double *weights, double penaltyValue, double rhsValue)
int loadLagrangeConstraint(int constraintID, const double *weights, double rhsValue)
fei::SharedPtr< FiniteElementData > getFiniteElementData()
int parameters(int numParams, const char *const *paramStrings)
void getEssentialBCs(std::vector< int > &bcEqns, std::vector< double > &bcVals) const
int loadComplete(bool applyBCs=true, bool globalAssemble=true)