45 void resize(
size_t nA,
size_t nB,
size_t nC = 0);
49 void redim(
size_t ndim);
52 virtual bool empty()
const {
return A.empty() &&
b.empty(); }
63 void printMat(std::ostream& os,
size_t idx = 0,
64 const char* prefix =
nullptr)
const;
66 void printVec(std::ostream& os,
size_t idx = 0,
67 const char* prefix =
nullptr)
const;
69 void printScl(std::ostream& os,
size_t idx = 0,
70 const char* prefix =
nullptr)
const;
72 std::vector<Matrix>
A;
73 std::vector<Vector>
b;
74 std::vector<double>
c;
Abstract interface for classes representing integrated quantities.
Global algebraic operations on index 1-based matrices and vectors.
Class collecting the element matrices associated with a FEM problem.
Definition: ElmMats.h:34
std::vector< const char * > Bname
Vector names (for debug print)
Definition: ElmMats.h:77
std::vector< Vector > b
The element right-hand-side vectors.
Definition: ElmMats.h:73
std::vector< const char * > Aname
Matrix names (for debug print)
Definition: ElmMats.h:76
void resize(size_t nA, size_t nB, size_t nC=0)
Defines the number of element matrices and vectors.
Definition: ElmMats.C:17
void printScl(std::ostream &os, size_t idx=0, const char *prefix=nullptr) const
Prints element scalar idx to output stream os.
Definition: ElmMats.C:104
ElmMats(bool lhs=true)
Default constructor.
Definition: ElmMats.h:37
virtual const Vector & getRHSVector() const
Returns the element-level right-hand-side vector.
Definition: ElmMats.C:50
virtual void setStepSize(double, int)
Updates the time step size.
Definition: ElmMats.h:55
virtual bool empty() const
Checks if the element matrices are empty.
Definition: ElmMats.h:52
std::vector< Matrix > A
The element coefficient matrices.
Definition: ElmMats.h:72
std::vector< double > c
The scalar quantities.
Definition: ElmMats.h:74
void printVec(std::ostream &os, size_t idx=0, const char *prefix=nullptr) const
Prints element vector idx to output stream os.
Definition: ElmMats.C:86
bool withLHS
If true, left-hand-side element matrices are present.
Definition: ElmMats.h:81
virtual ~ElmMats()
Empty destructor.
Definition: ElmMats.h:39
std::vector< const char * > Cname
Scalar names (for debug print)
Definition: ElmMats.h:78
bool rhsOnly
If true, only the right-hand-sides are assembled.
Definition: ElmMats.h:80
void printMat(std::ostream &os, size_t idx=0, const char *prefix=nullptr) const
Prints element matrix idx to output stream os.
Definition: ElmMats.C:68
void redim(size_t ndim)
Sets the dimension of the element matrices and vectors.
Definition: ElmMats.C:25
virtual const Matrix & getNewtonMatrix() const
Returns the element-level Newton matrix.
Definition: ElmMats.C:32
Abstract base class representing an element level integrated quantity.
Definition: LocalIntegral.h:25
A vector class with some added algebraic operations.
Definition: matrix.h:64