14 #ifndef _LOCAL_INTEGRAL_H
15 #define _LOCAL_INTEGRAL_H
56 bool forceCurrent =
false)
const
58 int nvec =
vec.size();
59 if (nvec > 5 && forceCurrent) nvec = 3;
60 int idis = nvec > 5 ? 3 : 0;
61 if (nvec == 2 && !forceCurrent) idis = 1;
64 if (u && idis < nvec) u->fill(
vec[idis],nsd,nen);
65 if (v && ivel < nvec) v->fill(
vec[ivel],nsd,nen);
66 if (a && iacc < nvec) a->fill(
vec[iacc],nsd,nen);
Global algebraic operations on index 1-based matrices and vectors.
std::vector< Vector > Vectors
An array of real-valued vectors with algebraic operations.
Definition: MatVec.h:37
Abstract base class representing an element level integrated quantity.
Definition: LocalIntegral.h:25
Vectors vec
Element-level primary solution vectors.
Definition: LocalIntegral.h:69
LocalIntegral()
The default constructor is protected to allow sub-classes only.
Definition: LocalIntegral.h:28
virtual void destruct()
Virtual destruction method to clean up after numerical integration.
Definition: LocalIntegral.h:34
virtual ~LocalIntegral()
Empty destructor.
Definition: LocalIntegral.h:32
virtual const LocalIntegral * ref() const
Returns the LocalIntegral object to assemble into the global one.
Definition: LocalIntegral.h:36
void getSolution(size_t nsd, size_t nen, Matrix *u=nullptr, Matrix *v=nullptr, Matrix *a=nullptr, bool forceCurrent=false) const
Extracts element solution vectors as nsd by nen matrices.
Definition: LocalIntegral.h:54