53 double alpha = 1.0, beta = 0.0;
59 if (
sflag == SPOOLES_SYMMETRIC ) {
61 }
else if (
sflag == SPOOLES_NONSYMMETRIC ) {
78 double alpha = 1.0, beta = 0.0;
83 if (
sflag == SPOOLES_SYMMETRIC ) {
85 }
else if (
sflag == SPOOLES_NONSYMMETRIC ) {
92 OOFEM_ERROR(
"error code from InpMtx_(non)sym_gmvm %d", result);
104 this->
mtrx = InpMtx_new();
105 InpMtx_init(this->
mtrx, INPMTX_BY_ROWS,
type, nent, neq);
113 int i, j, ac1, ac2, ndofe;
117 for ( i = 1; i <= ndofe; i++ ) {
123 for ( j = 1; j <= ndofe; j++ ) {
133 InpMtx_inputRealEntry( this->
mtrx, ac1 - 1, ac2 - 1, mat.
at(i, j) );
145 int i, j, ii, jj, dim1, dim2;
149 for ( i = 1; i <= dim1; i++ ) {
152 for ( j = 1; j <= dim2; j++ ) {
155 InpMtx_inputRealEntry( this->
mtrx, ii - 1, jj - 1, mat.
at(i, j) );
170 InpMtx_clearData(this->
mtrx);
190 InpMtx_writeStats(this->
mtrx, stdout);
196 InpMtx_writeForHumanEye(this->
mtrx, stdout);
int giveNumberOfColumns() const
Returns number of columns of receiver.
int nColumns
Number of columns.
virtual int giveNumberOfDomainEquations(int di, const UnknownNumberingScheme &num)
Returns number of equations for given domain in active (current time step) time step.
Spooles sparse mtrx representation.
virtual void zero()
Zeroes the receiver.
virtual int assemble(const IntArray &loc, const FloatMatrix &mat)
Assembles sparse matrix from contribution of local elements.
virtual void timesT(const FloatArray &x, FloatArray &answer) const
Evaluates .
virtual void printYourself() const
Prints receiver to stdout. Works only for relatively small matrices.
Class implementing an array of integers.
int & at(int i)
Coefficient access function.
virtual double & at(int i, int j)
Returns coefficient at position (i,j).
int giveNumberOfRows() const
Returns number of rows of receiver.
REGISTER_SparseMtrx(CompCol, SMT_CompCol)
Abstract base class allowing to control the way, how equations are assigned to individual DOFs...
virtual void printStatistics() const
Prints the receiver statistics (one-line) to stdout.
virtual SparseMtrx * GiveCopy() const
Returns a newly allocated copy of receiver.
double at(int i, int j) const
Coefficient access function.
SparseMtrxVersionType version
Allows to track if receiver changes.
Class representing vector of real numbers.
Implementation of matrix containing floating point numbers.
void zero()
Zeroes all coefficients of receiver.
const double * givePointer() const
Gives the pointer to the raw data, breaking encapsulation.
virtual int buildInternalStructure(EngngModel *eModel, int di, const UnknownNumberingScheme &s)
Builds internal structure of receiver.
int giveNumberOfColumns() const
Returns number of columns of receiver.
Abstract base class representing the "problem" under consideration.
the oofem namespace is to define a context or scope in which all oofem names are defined.
virtual void times(const FloatArray &x, FloatArray &answer) const
Evaluates .
int giveNumberOfRows() const
Returns number of rows of receiver.
void resize(int s)
Resizes receiver towards requested size.