95 this->
mAssem.matrixFromElement(mat, element, tStep);
103 this->
mAssem.matrixFromLoad(mat, element, load, tStep);
110 this->
mAssem.matrixFromSurfaceLoad(mat, element, load, boundary, tStep);
117 this->
mAssem.matrixFromEdgeLoad(mat, element, load, edge, tStep);
148 bc.
assembleVector(answer, tStep, InternalForcesVector, mode, s, eNorms, lock);
193 bc.
assembleVector(answer, tStep, ExternalForcesVector, mode, s, eNorms, lock);
248 if ( this->
rmode == TangentStiffness ) {
250 }
else if ( this->
rmode == ElasticStiffness ) {
252 }
else if ( this->
rmode == SecantStiffness ) {
277 bc.
assemble(k, tStep, TangentStiffnessMatrix, s_r, s_c, 1.0, lock);
290EffectiveTangentAssembler :: EffectiveTangentAssembler(MatResponseMode mode,
bool lumped,
double k,
double m) :
298 if ( this->
rmode == TangentStiffness ) {
300 }
else if ( this->
rmode == ElasticStiffness ) {
302 }
else if ( this->
rmode == SecantStiffness ) {
309 answer.
add(this->
m, massMatrix);
335 bc.
assemble(
k, tStep, TangentStiffnessMatrix, s_r, s_c, this->k, lock);
virtual void assembleVector(FloatArray &answer, TimeStep *tStep, CharType type, ValueModeType mode, const UnknownNumberingScheme &s, FloatArray *eNorms=nullptr, void *lock=nullptr)
virtual void assemble(SparseMtrx &answer, TimeStep *tStep, CharType type, const UnknownNumberingScheme &r_s, const UnknownNumberingScheme &c_s, double scale=1.0, void *lock=nullptr)
virtual void computeLoadVector(FloatArray &answer, Load *load, CharType type, TimeStep *tStep, ValueModeType mode)
virtual void giveCharacteristicMatrix(FloatMatrix &answer, CharType type, TimeStep *tStep)
virtual void giveBoundaryLocationArray(IntArray &locationArray, const IntArray &bNodes, const UnknownNumberingScheme &s, IntArray *dofIds=NULL)
virtual void giveCharacteristicVector(FloatArray &answer, CharType type, ValueModeType mode, TimeStep *tStep)
void giveLocationArray(IntArray &locationArray, const UnknownNumberingScheme &s, IntArray *dofIds=NULL) const
virtual void computeTangentFromSurfaceLoad(FloatMatrix &answer, BoundaryLoad *load, int boundary, MatResponseMode rmode, TimeStep *tStep)
void computeVectorOf(ValueModeType u, TimeStep *tStep, FloatArray &answer)
virtual void computeLoadVector(FloatArray &answer, BodyLoad *load, CharType type, ValueModeType mode, TimeStep *tStep)
virtual void computeBoundarySurfaceLoadVector(FloatArray &answer, BoundaryLoad *load, int boundary, CharType type, ValueModeType mode, TimeStep *tStep, bool global=true)
virtual void computeTangentFromEdgeLoad(FloatMatrix &answer, BoundaryLoad *load, int boundary, MatResponseMode rmode, TimeStep *tStep)
virtual void computeBoundaryEdgeLoadVector(FloatArray &answer, BoundaryLoad *load, int edge, CharType type, ValueModeType mode, TimeStep *tStep, bool global=true)
void beProductOf(const FloatMatrix &aMatrix, const FloatArray &anArray)
void add(const FloatMatrix &a)
*Sets size of receiver to be an empty matrix It will have zero rows and zero columns size void clear()
const MatrixAssembler & mAssem