89 if ( mtrx == MassMatrix ) {
92 OOFEM_ERROR(
"Unknown Type of characteristic mtrx.");
104 if ( mtrx == LumpedMassMatrix ) {
110 OOFEM_ERROR(
"Unknown Type of characteristic mtrx.");
174 if ( type == IST_Velocity ) {
176 std::vector< Dof* >::const_iterator dofindx;
178 answer.
at(indx++) = (*dofindx)->giveUnknown(VM_Total, tStep);
180 answer.
at(indx++) = (*dofindx)->giveUnknown(VM_Total, tStep);
182 answer.
at(indx++) = (*dofindx)->giveUnknown(VM_Total, tStep);
186 }
else if ( type == IST_Pressure ) {
188 if ( dofindx != n->
end() ) {
190 answer.
at(1) = (*dofindx)->giveUnknown(VM_Total, tStep);
int giveInternalStateAtNode(FloatArray &answer, InternalStateType type, InternalStateMode mode, int node, TimeStep *tStep)
Returns internal state variable (like stress,strain) at node of element in Reduced form...
InternalStateType
Type representing the physical meaning of element or constitutive model internal variable.
virtual void giveInputRecord(DynamicInputRecord &input)
Setups the input record string of receiver.
virtual IRResultType initializeFrom(InputRecord *ir)
Initializes receiver according to object description stored in input record.
IntArray boundarySides
Array of boundary sides.
bool isEmpty() const
Checks if receiver is empty (i.e., zero sized).
double & at(int i)
Coefficient access function.
ValueModeType
Type representing the mode of UnknownType or CharType, or similar types.
IntArray boundaryCodes
Boundary sides codes.
virtual void giveInputRecord(DynamicInputRecord &input)
Setups the input record string of receiver.
virtual void computeDiagonalMassMtrx(FloatArray &answer, TimeStep *tStep)=0
Calculates diagonal mass matrix.
virtual void giveCharacteristicMatrix(FloatMatrix &answer, CharType type, TimeStep *tStep)
Computes characteristic matrix of receiver of requested type in given time step.
CBSElement(int n, Domain *aDomain)
virtual void computeVectorOfPressures(ValueModeType mode, TimeStep *tStep, FloatArray &pressures)
virtual IRResultType initializeFrom(InputRecord *ir)
Initializes receiver according to object description stored in input record.
virtual void computeVectorOfVelocities(ValueModeType mode, TimeStep *tStep, FloatArray &velocities)
virtual void computeDeviatoricStress(FloatArray &answer, GaussPoint *gp, TimeStep *tStep)=0
Computes deviatoric stress vector in given integration point and solution step from given total strai...
void beProductOf(const FloatMatrix &aMatrix, const FloatArray &anArray)
Receiver becomes the result of the product of aMatrix and anArray.
virtual int giveInternalStateAtNode(FloatArray &answer, InternalStateType type, InternalStateMode mode, int node, TimeStep *tStep)
Returns internal state variable (like stress,strain) at node of element in Reduced form...
virtual void computeConsistentMassMtrx(FloatMatrix &answer, TimeStep *tStep)=0
Calculates consistent mass matrix.
Class representing vector of real numbers.
This abstract class represent a general base element class for fluid dynamic problems.
virtual int giveSpatialDimension()
Returns the element spatial dimension (1, 2, or 3).
Implementation of matrix containing floating point numbers.
IRResultType
Type defining the return values of InputRecord reading operations.
virtual void updateInternalState(TimeStep *tStep)
Updates element state after equilibrium in time step has been reached.
#define _IFT_CBSElement_bsides
std::vector< Dof * >::const_iterator findDofWithDofId(DofIDItem dofID) const
Finds index of DOF with required physical meaning of receiver.
virtual void giveCharacteristicVector(FloatArray &answer, CharType type, ValueModeType mode, TimeStep *tStep)
Computes characteristic vector of receiver of requested type in given time step.
std::vector< std::unique_ptr< IntegrationRule > > integrationRulesArray
List of integration rules of receiver (each integration rule contains associated integration points a...
virtual void computePrescribedTermsI(FloatArray &answer, TimeStep *tStep)
Calculates rhs due to prescribed (*) velocities for (*) velocities.
virtual int checkConsistency()
Performs consistency check.
virtual void computePressureLhs(FloatMatrix &answer, TimeStep *tStep)=0
Calculates the pressure LHS.
the oofem namespace is to define a context or scope in which all oofem names are defined.
std::vector< Dof * >::iterator end()
Class implementing node in finite element mesh.
void negated()
Switches the sign of every coefficient of receiver.
#define _IFT_CBSElement_bcodes
Node * giveNode(int i) const
Returns reference to the i-th node of element.
Class representing integration point in finite element program.
Class representing solution step.
InternalStateMode
Determines the mode of internal variable.
void resize(int s)
Resizes receiver towards requested size.