35 #include "../sm/Elements/Beams/beambaseelement.h" 73 for (
int i = 1; i <= nBodyLoads; i++ ) {
80 answer.
add(helpLoadVector);
85 OOFEM_ERROR(
"body load %d is of unsupported type (%d)",
id, ltype);
92 for (
int i = 1; i <= nBoundaryLoads; i++ ) {
97 if ((bLoad = dynamic_cast<BoundaryLoad*> (load))) {
102 answer.
add(helpLoadVector);
107 answer.
add(helpLoadVector);
113 answer.
add(helpLoadVector);
116 OOFEM_ERROR(
"boundary load %d is of unsupported type (%d)",
id, ltype);
127 for (BCTracker::entryListType::iterator it = bcList.begin(); it != bcList.end(); ++it) {
132 if ((bodyLoad = dynamic_cast<BodyLoad*>(bc))) {
135 }
else if ((boundaryLoad = dynamic_cast<BoundaryLoad*>(bc))) {
138 ExternalForcesVector, VM_Total, tStep,
false);
virtual bool isImposed(TimeStep *tStep)
Returns nonzero if receiver representing BC is imposed at given time, otherwise returns zero...
int number
Component number.
This class keeps track of applied boundary conditions on individual entities.
IntArray * giveBoundaryLoadArray()
Returns array containing load numbers of boundary loads acting on element.
Domain * domain
Link to domain object, useful for communicating with other FEM components.
bcGeomType
Type representing the geometric character of loading.
BeamBaseElement(int n, Domain *d)
ValueModeType
Type representing the mode of UnknownType or CharType, or similar types.
Class implementing element body load, acting over whole element volume (e.g., the dead weight)...
void clear()
Clears receiver (zero size).
BCTracker * giveBCTracker()
Concentrated point load (placed anywhere).
int & at(int i)
Coefficient access function.
virtual void computeLocalForceLoadVector(FloatArray &answer, TimeStep *tStep, ValueModeType mode)
Computes element end force vector from applied loading in local coordinate system.
const entryListType & getElementRecords(int elem)
GeneralBoundaryCondition * giveBc(int n)
Service for accessing particular domain bc.
Abstract base class for all "structural" finite elements.
virtual ~BeamBaseElement()
virtual void computeBodyLoadVectorAt(FloatArray &answer, Load *load, TimeStep *tStep, ValueModeType mode)
Computes the load vector due to body load acting on receiver, at given time step. ...
Abstract base class representing a boundary load (force, momentum, ...) that acts directly on a bound...
virtual void computeBoundarySurfaceLoadVector(FloatArray &answer, BoundaryLoad *load, int boundary, CharType type, ValueModeType mode, TimeStep *tStep, bool global=true)
Computes the contribution of the given load at the given boundary surface in global coordinate system...
IntArray * giveBodyLoadArray()
Returns array containing load numbers of loads acting on element.
IntArray bodyLoadArray
Array containing indexes of loads (body loads and boundary loads are kept separately), that apply on receiver.
Abstract base class for all boundary conditions of problem.
Distributed surface load.
Class representing vector of real numbers.
std::list< Entry > entryListType
virtual void computeBoundaryEdgeLoadVector(FloatArray &answer, BoundaryLoad *load, int boundary, CharType type, ValueModeType mode, TimeStep *tStep, bool global=true)
Computes the contribution of the given load at the given boundary edge.
virtual bcGeomType giveBCGeoType() const
Returns geometry character of boundary condition.
Load is base abstract class for all loads.
int giveSize() const
Returns the size of receiver.
the oofem namespace is to define a context or scope in which all oofem names are defined.
virtual void computePointLoadVectorAt(FloatArray &answer, Load *load, TimeStep *tStep, ValueModeType mode, bool global=true)
Computes point load vector contribution of receiver for given load (should has BoundaryLoad Base)...
virtual bcValType giveBCValType() const
Returns receiver load type.
Load * giveLoad(int n)
Service for accessing particular domain load.
IntArray boundaryLoadArray
Class representing solution step.
void add(const FloatArray &src)
Adds array src to receiver.