Element Class Reference

Abstract base class for all finite elements. More...

#include <element.h>

Inheritance diagram for Element:

Inheritance graph
[legend]
Collaboration diagram for Element:

Collaboration graph
[legend]

List of all members.

Public Member Functions

 Element (int n, Domain *aDomain)
 Constructor.
virtual ~Element ()
 Virtual destructor.
virtual void giveMatLocalCS (FloatMatrix &answer)
 Gives transformation matrix Global=T*Local for material orientation on element.
int giveLabel () const
 Returns receiver globally unique number (label).
int giveGlobalNumber () const
 Returns receiver globally unique number.
void setGlobalNumber (int num)
 Sets receiver globally unique number.
elementParallelMode giveParallelMode () const
 Return elementParallelMode of receiver.
void setParallelMode (elementParallelMode _mode)
 Sets parallel mode of element.
int packUnknowns (CommunicationBuffer &buff, TimeStep *stepN)
 Pack all necessary data of element (according to its parallel_mode) integration points into given communication buffer.
int unpackAndUpdateUnknowns (CommunicationBuffer &buff, TimeStep *stepN)
 Unpack and updates all necessary data of element (according to its parallel_mode) integration points into given communication buffer.
int estimatePackSize (CommunicationBuffer &buff)
 Estimates the necessary pack size to hold all packed data of receiver.
const IntArraygivePartitionList () const
 Returns partition list of receiver.
void setPartitionList (IntArray &pl)
 Sets partition list of receiver.
virtual double predictRelativeComputationalCost ()
 Returns the weight representing relative computational cost of receiver The reference element is triangular plane stress element with linear approximation, single integration point and linear isotropic material.
virtual double giveRelativeSelfComputationalCost ()
 Returns the weight representing relative computational cost of receiver The reference element is triangular plane stress element.
virtual double predictRelativeRedistributionCost ()
 Returns the relative redistribution cost of the receiver.
IntArraygiveBodyLoadArray ()
 Returns array containing load numbers of loads acting on element.
IntArraygiveBoundaryLoadArray ()
 Returns array containing load numbers of boundary loads acting on element.
Methods refering to code numbers
virtual void giveLocationArray (IntArray &locationArray, EquationID, const UnknownNumberingScheme &s) const
 Returns the location array (array of code numbers) of receiver for given numbering scheme.
void invalidateLocationArray ()
 Invalidates location array in receiver.
General methods for obtaining element contributions
Note: These member functions have to be overloaded by derived analysis-specific clases in order to invoke proper method acording to type of component requested.

Derived classes from these analysis-specific clases should not modify these functions.

virtual void giveCharacteristicMatrix (FloatMatrix &answer, CharType mtrx, TimeStep *tStep)
 Computes characteristic matrix of receiver of requested type in given Timestep.
virtual void giveCharacteristicVector (FloatArray &answer, CharType type, ValueModeType mode, TimeStep *)
 Computes characteristic vector of receiver of requested type in given Timestep.
virtual double giveCharacteristicValue (CharType, TimeStep *)
 Computes characteristic value of receiver of requested type in given Timestep.
General element functions
virtual void computeVectorOf (EquationID type, ValueModeType u, TimeStep *stepN, FloatArray &answer)
 Returns local vector of unknowns.
virtual void computeVectorOf (PrimaryField &field, ValueModeType u, TimeStep *stepN, FloatArray &answer)
 Returns local vector of unknowns.
void computeVectorOfPrescribed (EquationID ut, ValueModeType type, TimeStep *stepN, FloatArray &answer)
 Returns local vector of prescribed unknowns.
virtual int computeNumberOfDofs (EquationID ut)
 Computes or simply returns total number of element's local dofs.
virtual int computeGlobalNumberOfDofs (EquationID ut)
 Computes the total number of element's global dofs (the size of global element contribution).
virtual void giveDofManDofIDMask (int inode, EquationID ut, IntArray &answer) const
 Returns dofmanager dof mask for node.
virtual void giveElementDofIDMask (EquationID ut, IntArray &answer) const
 Returns element dof mask for node.
virtual double computeVolumeAround (GaussPoint *gp)
 Returns volume related to given integration point.
int giveDofManagerNumber (int i) const
 Returns (global) number of i-th dofmanager of element.
DofManagergiveDofManager (int i) const
 Rerurns reference to the i-th dofmanager of element.
virtual NodegiveNode (int i) const
 Returns reference to the i-th node of element.
virtual ElementSidegiveSide (int i) const
 Returns reference to the i-th side of element.
GeometrygiveGeometry ()
 Returns reference to the associated geometry of element.
virtual FEInterpolationgiveInterpolation ()
 Returns interpolation of Element.
MaterialgiveMaterial ()
 Returns reference to the associated material of element.
CrossSectiongiveCrossSection ()
 Returns reference to the associated crossSection of element.
void setMaterial (int matIndx)
 Sets the material of receiver.
void setCrossSection (int csIndx)
 Sets the cross section model of receiver.
int giveNumberOfDofManagers ()
 Returns number of dofmanagers of receiver.
virtual int giveNumberOfNodes ()
 Returns number of nodes of receiver.
void setDofManagers (const IntArray &_dmans)
 Sets receiver dofManagers.
void setIntegrationRules (AList< IntegrationRule > *irlist)
 Sets integration rules.
virtual integrationDomain giveIntegrationDomain ()
 Returns integration domain for receiver, used to initialize integration point over receiver volume.
virtual int giveIntegrationRuleLocalCodeNumbers (IntArray &answer, IntegrationRule *ie, EquationID ut)
 Assembles the code numbers of given integration element (sub-patch) This is done by obtaining list of nonzero shape functions and by collecting the code numbers of nodes corresponding to these shape functions.
int giveRegionNumber ()
 Returns number of sides (which have unknown dofs) of receiver.
IRResultType initializeFrom (InputRecord *ir)
 Initializes receiver acording to object description stored in input record.
void postInitialize ()
 Performs a post initialization steps.
contextIOResultType saveContext (DataStream *stream, ContextMode mode, void *obj=NULL)
 Stores receiver state to output stream.
contextIOResultType restoreContext (DataStream *stream, ContextMode mode, void *obj=NULL)
 Restores the receiver state previously written in stream.
void printOutputAt (FILE *, TimeStep *)
 Prints output of receiver to stream, for given time step.
virtual void updateInternalState (TimeStep *tStep)
 Updates element state corresponding to newly reached solution.
virtual void updateYourself (TimeStep *tStep)
 Updates element state after equlibrium in time step has been reached.
virtual void initializeYourself (TimeStep *timeStepWhenICApply)
 Initialization according to state given by initial conditions.
virtual int checkConsistency ()
 Performs consistency check.
virtual void initForNewStep ()
 Initializes receivers state to new time step.
ElementofType (char *aClass)
 Returns a newly allocated element, with type depending on parameter.
const char * giveClassName () const
 Returns class name of the receiver.
classType giveClassID () const
 Returns classType id of receiver.
virtual Element_Geometry_Type giveGeometryType () const
 Returns the element geometry type.
int giveSpatialDimension (void)
 Returns the element spacial dimension irrespectably to its position in space.
int giveNumberOfBoundarySides (void)
 Returns the number of boundaries of dimension equal to element spatial dimension - 1.
virtual int giveDefaultIntegrationRule ()
 Returns id of default integration rule.
IntegrationRulegiveDefaultIntegrationRulePtr ()
virtual int testElementExtension (ElementExtension ext)
 Tests if the element implements required extension.
Methods required by some specialized models
virtual int giveIPValue (FloatArray &answer, GaussPoint *aGaussPoint, InternalStateType type, TimeStep *atTime)
 Returns the integration point corresponding value in REDUCED form.
virtual int giveIPValueSize (InternalStateType type, GaussPoint *)
 Returns the corresponding integration point value size in Reduced form.
virtual InternalStateValueType giveIPValueType (InternalStateType type)
 Returns the type of internal variable (scalar, vector, tensor,.
virtual int giveIntVarCompFullIndx (IntArray &answer, InternalStateType type)
 Returns the mask of reduced indexes of Internal Variable component .
virtual double giveLenghtInDir (const FloatArray &normalToCrackPlane)
 Returns element length in given direction.
virtual double giveCharacteristicLenght (GaussPoint *gp, const FloatArray &normalToCrackPlane)
 Returns characteristic length of element in given integration point and in given direction.
virtual void updateBeforeNonlocalAverage (TimeStep *atTime)
 Updates internal element state (in all integration points of receiver) before nonlocal averaging takes place.
virtual int computeGlobalCoordinates (FloatArray &answer, const FloatArray &lcoords)
 Computes the global coordinates from given element's local coordinates.
virtual int computeLocalCoordinates (FloatArray &answer, const FloatArray &gcoords)
 Computes the element local coordinates from given global coordinates.
virtual int giveLocalCoordinateSystem (FloatMatrix &answer)
 Returns local coordinate system of receiver.
virtual FloatArrayComputeMidPlaneNormal (GaussPoint *)
 Computes mid-plane normal of receiver at integration point.
virtual int adaptiveMap (Domain *oldd, TimeStep *tStep)
 Initializes the internal state variables stored in all IPs according to stete in given domain.
virtual int adaptiveUpdate (TimeStep *tStep)
 Updates the internal state variables stored in all IPs according to already mapped state.
virtual int adaptiveFinish (TimeStep *tStep)
 Finishes the mapping for given time step.
virtual void updateLocalNumbering (EntityRenumberingFunctor &f)
 Local renumbering support.
template<class T>
void ipEvaluator (T *src, void(T::*f)(GaussPoint *gp))
 Integration point evaluator, loops over receiver IP's and calls given function (passed as f parameter) on them. The IP is parameter to function f.
template<class T, class S>
void ipEvaluator (T *src, void(T::*f)(GaussPoint *, S &), S &_val)
 Integration point evaluator, loops over receiver IP's and calls given function (passed as f parameter) on them. The IP is parameter to function f as well as additional array.

Protected Member Functions

virtual void computeGaussPoints ()
 Initializes the array of integration rules and numberOfIntegrationRules member variable.

Protected Attributes

int numberOfDofMans
 Number of dofmanagers.
IntArray dofManArray
 Array containing dofmanager numbers.
int material
 Number of associated material.
int crossSection
 Number of associated cross section.
IntArray bodyLoadArray
 Array containing indexes of loads (bodyloads and boundary loads are kept separately), that apply on receiver.
IntArray boundaryLoadArray
int numberOfIntegrationRules
 Number of integration rules used by receiver.
IntegrationRule ** integrationRulesArray
 List of integration rules of receiver (each integration rule contains associated integration points also).
IntArraylocationArray
 Array of code numbers of element.
FloatMatrix matLocalCS
 Transformation material matrix, used in orthotropic and anisotropic materials, global->local transformation.
int globalNumber
 In parallel mode, globalNumber contains globally unique DoFManager number.
elementParallelMode parallel_mode
IntArray partitions
 List of partition sharing the shared eleemnt or remote partion containing remote element counterpart.


Detailed Description

Abstract base class for all finite elements.

Derived clases should be base clases for specific analysis type (for example base class for structural analysis, thermal analysis or magnetostatics one). These derived classes then declare analysis-specific part of interface and they provide default implementation for these methods. This abstract class declares (and possibly implements) general data and methods common to all element types. General methods for obtaining characteristic vectors, matrices and values are introduced and should be used instead of calling directly specific member functions (these must be overloaded by derived analysis-specific clases in order to invoke proper method acording to type of component requested). In general, element class memeber functions are called in following cases:

There are some general rules, that programmer must take into account.

Definition at line 148 of file element.h.


Constructor & Destructor Documentation

Element::Element ( int  n,
Domain aDomain 
)

Constructor.

Creates an element with number n belonging to domain aDomain.

Parameters:
n Element's number
aDomain Pointer to the domain to which element belongs.

Definition at line 90 of file element.C.

References integrationRulesArray, locationArray, material, numberOfDofMans, and numberOfIntegrationRules.

Element::~Element (  )  [virtual]

Virtual destructor.

Definition at line 102 of file element.C.

References integrationRulesArray, locationArray, and numberOfIntegrationRules.


Member Function Documentation

void Element::giveLocationArray ( IntArray locationArray,
EquationID  ut,
const UnknownNumberingScheme s 
) const [virtual]

Returns the location array (array of code numbers) of receiver for given numbering scheme.

Results are cached at receiver for default scheme in locationArray attribute. The UnknownType parameter allows to distinguis between several possible governing equations, that can be numbered separately. The default implementation assumes that location array will be assembled only for one UnknownType value, and this array is cached on element level.

Reimplemented in PlaneStress2dXfem.

Definition at line 255 of file element.C.

References IntArray::followedBy(), giveDofManager(), giveDofManDofIDMask(), DofManager::giveLocationArray(), locationArray, numberOfDofMans, and IntArray::resize().

Referenced by EngngModel::assemble(), NonStationaryTransportProblem::assembleAlgorithmicPartOfRhs(), NLTransientTransportProblem::assembleAlgorithmicPartOfRhs(), StationaryTransportProblem::assembleDirichletBcRhsVector(), NonStationaryTransportProblem::assembleDirichletBcRhsVector(), EngngModel::assemblePrescribedVectorFromElements(), EngngModel::assembleVectorFromElements(), SymCompCol::buildInternalStructure(), SkylineUnsym::buildInternalStructure(), Skyline::buildInternalStructure(), PetscSparseMtrx::buildInternalStructure(), DynCompRow::buildInternalStructure(), DynCompCol::buildInternalStructure(), CompCol::buildInternalStructure(), PNlDEIDynamic::computeMassMtrx(), PNlDEIDynamic::giveInternalForces(), NonLinearStatic::giveInternalForces(), NlDEIDynamic::giveInternalForces(), EngngModel::petsc_assemblePrescribedVectorFromElements(), EngngModel::petsc_assembleVectorFromElements(), NlDEIDynamic::solveYourselfAt(), and DEIDynamic::solveYourselfAt().

void Element::invalidateLocationArray (  ) 

Invalidates location array in receiver.

Each element stores its copy of location array(s), in order to avoid time consuming assembly of code numbers every time when requested. Some enginnering models may support dynamic changes of static system (generally of boundary conditions during analysis), then these models use this function to invalidate location array after finishing time step, to enforce elements to update they code numbers, which may change. Changes of static system will lead to different number of equations, which requires special attention (for example internal structure of sparse matrices must be reinitialized and characteristic vectors and matrices has to be newly assembled).

Definition at line 280 of file element.C.

References locationArray.

Referenced by SUPG::forceEquationNumbering(), and EngngModel::forceEquationNumbering().

void Element::giveCharacteristicMatrix ( FloatMatrix answer,
CharType  mtrx,
TimeStep tStep 
) [virtual]

Computes characteristic matrix of receiver of requested type in given Timestep.

Parameters:
answer requested characteristic matrix
mtrx id of characteristic component requested.
tStep time step when answer is computed.
See also:
CharType type.
Returns:
If element has no capability to compute requsted type of caharacteristic matrix error function is invoked.

Reimplemented in StructuralElement, TransportElement, CBSElement, SUPGElement, and SUPGElement2.

Definition at line 395 of file element.C.

References _error.

Referenced by NonStationaryTransportProblem::assembleAlgorithmicPartOfRhs(), NLTransientTransportProblem::assembleAlgorithmicPartOfRhs(), NonStationaryTransportProblem::assembleDirichletBcRhsVector(), PNlDEIDynamic::computeMassMtrx(), NonStationaryTransportProblem::giveElementCharacteristicMatrix(), EngngModel::giveElementCharacteristicMatrix(), DIIDynamic::giveElementCharacteristicMatrix(), SUPG::giveElementCharacteristicVector(), NlDEIDynamic::solveYourselfAt(), and DEIDynamic::solveYourselfAt().

void Element::giveCharacteristicVector ( FloatArray answer,
CharType  type,
ValueModeType  mode,
TimeStep tStep 
) [virtual]

Computes characteristic vector of receiver of requested type in given Timestep.

Parameters:
answer requested characteristic vector
type id of characteristic component requested.
mode determines mode of answer.
tStep time step when answer is computed.
See also:
CharType and ValueModeType types.
Returns:
If element has no capability to compute requsted type of caharacteristic vector error function is invoked.

Reimplemented in StructuralElement, TransportElement, CBSElement, SUPGElement, and SUPGElement2.

Definition at line 408 of file element.C.

References _error.

Referenced by SUPG::giveElementCharacteristicVector(), EngngModel::giveElementCharacteristicVector(), PNlDEIDynamic::giveInternalForces(), NonLinearStatic::giveInternalForces(), and NlDEIDynamic::giveInternalForces().

double Element::giveCharacteristicValue ( CharType  mtrx,
TimeStep tStep 
) [virtual]

Computes characteristic value of receiver of requested type in given Timestep.

Parameters:
mtrx id of characteristic component requested.
tStep time step when answer is computed.
See also:
CharType type.
Returns:
requested value. If element has no capability to compute requsted type of caharacteristic value error function is invoked.

Reimplemented in CBSElement, SUPGElement, and SUPGElement2.

Definition at line 419 of file element.C.

References _error.

Referenced by TransportElement::computeCapacitySubMatrix(), and TransportElement::computeIntSourceLHSSubMatrix().

void Element::giveMatLocalCS ( FloatMatrix answer  )  [virtual]

Gives transformation matrix Global=T*Local for material orientation on element.

Only if defined by mlcs on element

Parameters:
answer transformation matrix 3x3

Definition at line 428 of file element.C.

References FloatMatrix::at(), FloatMatrix::beUnitMatrix(), matLocalCS, FloatMatrix::resize(), and FloatMatrix::zero().

Referenced by CompoDamageMat::giveMatStiffRotationMatrix(), and CompoDamageMat::giveRealStressVector().

void Element::computeVectorOf ( EquationID  type,
ValueModeType  u,
TimeStep stepN,
FloatArray answer 
) [virtual]

Returns local vector of unknowns.

Local vector of unknowns is extracted from engineering model global unknowns vector (if specific dof has assigned corresponding equation number) and from boundary conditions (if dof has active boundary and possibly initial condition). Because unknowns are obtained from engineering model, this must support queries for given unknown and unknown mode. Also engineering model must not be able to complete request for any TimeStep, because keeping history of all unknowns may became unpossible. But generally all enginnering models should be able return supported unknowns at current and previous time step. Consult reference manual for particular engineering model.

Parameters:
type Identifies unknown type (eg. displacement or temperature vector).
u Identifies mode of unknown (eg. total value or velocity of unknown).
stepN Time step, when vector of unknowns is requested.
answer Local vector of unknowns.

Reimplemented in PlaneStress2dXfem.

Definition at line 119 of file element.C.

References _error, FloatArray::at(), computeGlobalNumberOfDofs(), giveDofManager(), giveDofManDofIDMask(), FloatArray::giveSize(), DofManager::giveUnknownVector(), numberOfDofMans, and FloatArray::resize().

Referenced by NonStationaryTransportProblem::assembleAlgorithmicPartOfRhs(), NLTransientTransportProblem::assembleAlgorithmicPartOfRhs(), TR1_2D_SUPG_AXI::computeAccelerationTerm_MB(), TR1_2D_SUPG2_AXI::computeAccelerationTerm_MB(), TR1_2D_SUPG2::computeAccelerationTerm_MB(), TR1_2D_SUPG::computeAccelerationTerm_MB(), TR1_2D_SUPG_AXI::computeAdvectionDerivativeTerm_MB(), TR1_2D_SUPG2_AXI::computeAdvectionDerivativeTerm_MB(), TR1_2D_SUPG2::computeAdvectionDerivativeTerm_MB(), TR1_2D_SUPG::computeAdvectionDerivativeTerm_MB(), TR1_2D_SUPG_AXI::computeAdvectionDerivativeTerm_MC(), TR1_2D_SUPG2_AXI::computeAdvectionDerivativeTerm_MC(), TR1_2D_SUPG::computeAdvectionDerivativeTerm_MC(), TR1_2D_SUPG_AXI::computeAdvectionTerm_MB(), TR1_2D_SUPG2_AXI::computeAdvectionTerm_MB(), TR1_2D_SUPG2::computeAdvectionTerm_MB(), TR1_2D_SUPG::computeAdvectionTerm_MB(), SUPGElement2::computeAdvectionTerm_MB(), TR1_2D_SUPG_AXI::computeAdvectionTerm_MC(), TR1_2D_SUPG2_AXI::computeAdvectionTerm_MC(), TR1_2D_SUPG::computeAdvectionTerm_MC(), SUPGElement2::computeAdvectionTerm_MC(), TR1_2D_SUPG_AXI::computeBCRhsTerm_MB(), TR1_2D_SUPG2_AXI::computeBCRhsTerm_MB(), TR1_2D_SUPG2::computeBCRhsTerm_MB(), TR1_2D_SUPG::computeBCRhsTerm_MB(), TR1_2D_CBS::computeConvectionTermsI(), TR1_2D_CBS::computeCorrectionRhs(), TR1_2D_SUPG::computeCriticalLEPlicTimeStep(), TR1_2D_CBS::computeCriticalTimeStep(), PY1_3D_SUPG::computeCriticalTimeStep(), TR1_2D_CBS::computeDensityRhsPressureTerms(), TR1_2D_CBS::computeDensityRhsVelocityTerms(), TR1_2D_SUPG_AXI::computeDeviatoricStress(), TR1_2D_SUPG2_AXI::computeDeviatoricStress(), TR1_2D_SUPG2::computeDeviatoricStress(), TR1_2D_SUPG::computeDeviatoricStress(), TR1_2D_CBS::computeDeviatoricStress(), SUPGElement2::computeDeviatoricStress(), TR1_2D_SUPG_AXI::computeDiffusionDerivativeTerm_MB(), TR1_2D_SUPG2_AXI::computeDiffusionDerivativeTerm_MB(), TR1_2D_SUPG_AXI::computeDiffusionTerm_MB(), TR1_2D_SUPG2_AXI::computeDiffusionTerm_MB(), TR1_2D_SUPG2::computeDiffusionTerm_MB(), TR1_2D_SUPG::computeDiffusionTerm_MB(), SUPGElement2::computeDiffusionTerm_MB(), TR1_2D_SUPG_AXI::computeDiffusionTerm_MC(), TR1_2D_SUPG2_AXI::computeDiffusionTerm_MC(), TR1_2D_SUPG_AXI::computePressureTerm_MB(), TR1_2D_SUPG2_AXI::computePressureTerm_MB(), TR1_2D_SUPG::computePressureTerm_MB(), NLStructuralElement::computeStiffnessMatrix(), NLStructuralElement::computeStiffnessMatrix_withIRulesAsSubcells(), TrPlaneStrRot::computeStrainVector(), StructuralElement::computeStrainVector(), Q4Axisymm::computeStrainVector(), NLStructuralElement::computeStrainVector(), LIBeam3d2::computeStrainVector(), L4Axisymm::computeStrainVector(), Axisymm3d::computeStrainVector(), LIBeam3dNL2::computeTempCurv(), LIBeam3dNL::computeTempCurv(), PY1_3D_SUPG::computeUDotGradUMatrix(), LIBeam3dNL2::computeXdVector(), LIBeam3dNL::computeXdVector(), TransportElement::EIPrimaryFieldI_evaluateFieldVectorAt(), TR1_2D_SUPG2::EIPrimaryFieldI_evaluateFieldVectorAt(), TR1_2D_SUPG::EIPrimaryFieldI_evaluateFieldVectorAt(), TR1_2D_CBS::EIPrimaryFieldI_evaluateFieldVectorAt(), Truss1d::EIPrimaryUnknownMI_computePrimaryUnknownVectorAt(), TrPlaneStress2d::EIPrimaryUnknownMI_computePrimaryUnknownVectorAt(), TrPlaneStrain::EIPrimaryUnknownMI_computePrimaryUnknownVectorAt(), Quad1PlaneStrain::EIPrimaryUnknownMI_computePrimaryUnknownVectorAt(), QTrPlaneStress2d::EIPrimaryUnknownMI_computePrimaryUnknownVectorAt(), PlaneStress2d::EIPrimaryUnknownMI_computePrimaryUnknownVectorAt(), LTRSpace::EIPrimaryUnknownMI_computePrimaryUnknownVectorAt(), LSpace::EIPrimaryUnknownMI_computePrimaryUnknownVectorAt(), LIBeam3d2::giveCurrentLength(), SUPG::giveElementCharacteristicVector(), Beam2d::giveEndForcesVector(), NLStructuralElement::giveInternalForcesVector(), Beam3d::giveInternalForcesVector(), Beam2d::giveInternalForcesVector(), TR1_2D_SUPG::LS_PCS_computeF(), PY1_3D_SUPG::LS_PCS_computeF(), Beam3d::printOutputAt(), Beam2d::printOutputAt(), HuertaErrorEstimatorInterface::setupRefinedElementProblem1D(), HuertaErrorEstimatorInterface::setupRefinedElementProblem2D(), HuertaErrorEstimatorInterface::setupRefinedElementProblem3D(), TransportElement::updateInternalState(), TR1_2D_SUPG_AXI::updateStabilizationCoeffs(), TR1_2D_SUPG2_AXI::updateStabilizationCoeffs(), TR1_2D_SUPG2::updateStabilizationCoeffs(), TR1_2D_SUPG::updateStabilizationCoeffs(), SUPGElement2::updateStabilizationCoeffs(), LIBeam3dNL2::updateTempQuaternion(), LIBeam3dNL::updateTempTriad(), LIBeam3d2::updateTempTriad(), and StructuralElement::updateYourself().

void Element::computeVectorOf ( PrimaryField field,
ValueModeType  u,
TimeStep stepN,
FloatArray answer 
) [virtual]

Returns local vector of unknowns.

Local vector of unknowns is extracted from given field and from boundary conditions (if dof has active boundary and possibly initial condition). Because unknowns are obtained from given field model, this must support queries for given unknown.

Parameters:
field source field (eg. displacement or temperature vector).
stepN Time step, when vector of unknowns is requested.
answer Local vector of unknowns.

Definition at line 153 of file element.C.

References _error, FloatArray::at(), computeGlobalNumberOfDofs(), giveDofManager(), giveDofManDofIDMask(), PrimaryField::giveEquationID(), FloatArray::giveSize(), DofManager::giveUnknownVector(), numberOfDofMans, and FloatArray::resize().

void Element::computeVectorOfPrescribed ( EquationID  ut,
ValueModeType  type,
TimeStep stepN,
FloatArray answer 
)

Returns local vector of prescribed unknowns.

Local vector of prescribed unknowns is extracted from nodal (and side - if they hold unknowns) boundary conditions.

Parameters:
u Identifies mode of unknown (eg. total values or velocity of unknown).
stepN Time step, when vector of prescribed unknowns is requested.
answer Local vector of prescribed unknowns. If unknown is not prescibed, zero value is placed on position of free dof.

Definition at line 182 of file element.C.

References _error, FloatArray::at(), computeGlobalNumberOfDofs(), giveDofManager(), giveDofManDofIDMask(), DofManager::givePrescribedUnknownVector(), FloatArray::giveSize(), numberOfDofMans, and FloatArray::resize().

Referenced by StationaryTransportProblem::assembleDirichletBcRhsVector(), NonStationaryTransportProblem::assembleDirichletBcRhsVector(), StructuralElement::computeBcLoadVectorAt(), TR1_2D_CBS::computeDensityRhsVelocityTerms(), and CBSElement::computePrescribedTermsI().

virtual int Element::computeNumberOfDofs ( EquationID  ut  )  [inline, virtual]

Computes or simply returns total number of element's local dofs.

Must be defined by particular element.

Reimplemented in Axisymm3d, Beam2d, Beam3d, CCTPlate, InterfaceElem2dQuad, InterfaceElement3dTrLin, InterfaceElem1d, L4Axisymm, LIBeam2d, LIBeam2dNL, LIBeam3d, LIBeam3d2, LIBeam3dNL, LIBeam3dNL2, LSpace, LTRSpace, PlaneStress2d, PlaneStress2dXfem, Q4Axisymm, QPlaneStress2d, QTrPlaneStress2d, Quad1PlaneStrain, RerShell, TrPlaneStrain, TrPlaneStrRot, TrPlaneStress2d, Truss1d, Truss2d, Truss3d, Brick1_ht, Quad1_ht, Tetrah1_ht, Tr1_ht, PY1_3D_SUPG, TR1_2D_CBS, TR1_2D_SUPG, and TR1_2D_SUPG2.

Definition at line 336 of file element.h.

Referenced by SUPGElement2::computeAccelerationTerm_MB(), SUPGElement2::computeAccelerationTerm_MC(), SUPGElement2::computeAdvectionDerivativeTerm_MB(), SUPGElement2::computeAdvectionDerivativeTerm_MC(), SUPGElement2::computeAdvectionTerm_MB(), SUPGElement2::computeAdvectionTerm_MC(), StructuralElement::computeBcLoadVectorAt(), TransportElement::computeBCMtrxAt(), SUPGElement2::computeBCRhsTerm_MB(), SUPGElement2::computeBCRhsTerm_MC(), TransportElement::computeBCVectorAt(), TransportElement::computeCapacityMatrix(), TransportElement::computeConductivityMatrix(), StructuralElement::computeConsistentMassMatrix(), SUPGElement2::computeDiffusionDerivativeTerm_MB(), SUPGElement2::computeDiffusionDerivativeTerm_MC(), SUPGElement2::computeDiffusionTerm_MB(), SUPGElement2::computeDiffusionTerm_MC(), StructuralElement::computeEdgeLoadVectorAt(), StructuralElement::computeGNDofRotationMatrix(), StructuralElement::computeGNLoadRotationMatrix(), TransportElement::computeIntSourceLHSMatrix(), SUPGElement2::computeLinearAdvectionTerm_MC(), SUPGElement2::computeLSICStabilizationTerm_MB(), StructuralElement::computeLumpedMassMatrix(), SUPGElement2::computePressureTerm_MB(), SUPGElement2::computePressureTerm_MC(), StructuralElement::computeStiffnessMatrix(), NLStructuralElement::computeStiffnessMatrix(), StructuralElement::computeStiffnessMatrix_withIRulesAsSubcells(), NLStructuralElement::computeStiffnessMatrix_withIRulesAsSubcells(), StructuralElement::computeSurfaceLoadVectorAt(), StructuralElement::condense(), and StructuralElement::updateRotationMatrix().

int Element::computeGlobalNumberOfDofs ( EquationID  ut  )  [virtual]

virtual void Element::giveDofManDofIDMask ( int  inode,
EquationID  ut,
IntArray answer 
) const [inline, virtual]

Returns dofmanager dof mask for node.

This mask defines the dofs which are used by element in node. Mask influences the code number ordering for particular node. Code numbers are ordered acording to node order and dofs belonging to particular node are ordered according to this mask. If element requests dofs using node mask which are not in node then error is generated. This masking allows node to be shared by different elements with different dofs in same node. Elements local code numbers are extracted from node using this mask. Must be defined by particular element.

Parameters:
inode Mask is computed for local dofmanager with inode number.
ut unknown type (support for several independent numberings within problem)
answer mask for node.

Reimplemented in Axisymm3d, Beam2d, Beam3d, CCTPlate, InterfaceElem2dQuad, InterfaceElement3dTrLin, InterfaceElem1d, L4Axisymm, LIBeam2d, LIBeam2dNL, LIBeam3d, LIBeam3d2, LIBeam3dNL, LIBeam3dNL2, LSpace, LTRSpace, PlaneStress2d, PlaneStress2dXfem, Q4Axisymm, QPlaneStress2d, QSpace, QTrPlaneStress2d, Quad1PlaneStrain, RerShell, TrPlaneStrain, TrPlaneStrRot, TrPlaneStress2d, Truss1d, Truss2d, Truss3d, Brick1_ht, Quad1_ht, Tetrah1_ht, Tr1_ht, PY1_3D_SUPG, TR1_2D_CBS, TR1_2D_SUPG, and TR1_2D_SUPG2.

Definition at line 354 of file element.h.

References IntArray::resize().

Referenced by StructuralElement::computeBcLoadVectorAt(), computeGlobalNumberOfDofs(), StructuralElement::computeGNDofRotationMatrix(), StructuralElement::computeGNLoadRotationMatrix(), StructuralElement::computeLumpedMassMatrix(), computeVectorOf(), computeVectorOfPrescribed(), EIPrimaryUnknownMapper::evaluateAt(), and giveLocationArray().

virtual void Element::giveElementDofIDMask ( EquationID  ut,
IntArray answer 
) const [inline, virtual]

Returns element dof mask for node.

This mask defines the dof ordering of the element interpolation. Must be defined by particular element.

Parameters:
answer dof mask for receiver.

Reimplemented in TransportElement, PY1_3D_SUPG, TR1_2D_CBS, TR1_2D_SUPG, and TR1_2D_SUPG2.

Definition at line 362 of file element.h.

References IntArray::resize().

Referenced by SUPGElement2::giveIntVarCompFullIndx(), SUPGElement::giveIntVarCompFullIndx(), and CBSElement::giveIntVarCompFullIndx().

virtual double Element::computeVolumeAround ( GaussPoint gp  )  [inline, virtual]

Returns volume related to given integration point.

Used typically in subroutines, that perform integration over element volume. Should be implemented by particular elements.

Parameters:
gp related volume for given integration point will be computed
Returns:
related volume
See also:
GaussPoint class

Reimplemented in Axisymm3d, Beam2d, Beam3d, CCTPlate, InterfaceElem2dQuad, InterfaceElement3dTrLin, InterfaceElem1d, L4Axisymm, LIBeam2d, LIBeam2dNL, LIBeam3d, LIBeam3d2, LIBeam3dNL, LIBeam3dNL2, LSpace, LTRSpace, PlaneStress2d, Q4Axisymm, QPlaneStress2d, QSpace, QTrPlaneStress2d, Quad1PlaneStrain, TrPlaneStrain, TrPlaneStress2d, Truss1d, Truss2d, Truss3d, Brick1_ht, Quad1_ht, QuadAxisym1_ht, Tetrah1_ht, Tr1_ht, TrAxisym1_ht, PY1_3D_SUPG, and TR1_2D_SUPG_AXI.

Definition at line 372 of file element.h.

Referenced by NonlocalMaterialExtensionInterface::buildNonlocalPointTable(), SUPGElement2::computeAccelerationTerm_MB(), SUPGElement2::computeAccelerationTerm_MC(), SUPGElement2::computeAdvectionDerivativeTerm_MB(), SUPGElement2::computeAdvectionDerivativeTerm_MC(), SUPGElement2::computeAdvectionTerm_MB(), SUPGElement2::computeAdvectionTerm_MC(), SUPGElement2::computeBCRhsTerm_MB(), SUPGElement2::computeBCRhsTerm_MC(), StructuralElement::computeBodyLoadVectorAt(), TransportElement::computeCapacitySubMatrix(), TransportElement::computeConductivitySubMatrix(), StructuralElement::computeConsistentMassMatrix(), SUPGElement2::computeDiffusionDerivativeTerm_MB(), SUPGElement2::computeDiffusionTerm_MB(), TransportElement::computeInternalSourceRhsSubVectorAt(), TransportElement::computeIntSourceLHSSubMatrix(), SUPGElement2::computeLinearAdvectionTerm_MC(), SUPGElement2::computeLSICStabilizationTerm_MB(), StructuralElement::computePrescribedStrainLocalLoadVectorAt(), SUPGElement2::computePressureTerm_MB(), SUPGElement2::computePressureTerm_MC(), StructuralElement::computeStiffnessMatrix(), NLStructuralElement::computeStiffnessMatrix(), StructuralElement::computeStiffnessMatrix_withIRulesAsSubcells(), NLStructuralElement::computeStiffnessMatrix_withIRulesAsSubcells(), HOMExportModule::doOutput(), StructuralElement::giveInternalForcesVector(), NLStructuralElement::giveInternalForcesVector(), MicroMaterial::giveRealStressVector(), IDNLMaterial::NonlocalMaterialStiffnessInterface_addIPContribution(), NonlocalMaterialExtensionInterface::rebuildNonlocalPointTable(), HuertaErrorEstimator::solveRefinedElementProblem(), ZZErrorEstimatorInterface::ZZErrorEstimatorI_computeElementContributions(), ZZNodalRecoveryModelInterface::ZZNodalRecoveryMI_computeNNMatrix(), and ZZNodalRecoveryModelInterface::ZZNodalRecoveryMI_computeNValProduct().

int Element::giveDofManagerNumber ( int  i  )  const [inline]

DofManager * Element::giveDofManager ( int  i  )  const

Node * Element::giveNode ( int  i  )  const [virtual]

Returns reference to the i-th node of element.

Default implementation returns i-th dofmanager of element converted to Node class (check is made).

Definition at line 341 of file element.C.

References _error, IntArray::at(), dofManArray, FEMComponent::domain, Domain::giveNode(), and IntArray::giveSize().

Referenced by TR1_2D_CBS::checkConsistency(), TR1_2D_SUPG_AXI::computeBCRhsTerm_MB(), TR1_2D_SUPG2_AXI::computeBCRhsTerm_MB(), TR1_2D_SUPG2::computeBCRhsTerm_MB(), TR1_2D_SUPG::computeBCRhsTerm_MB(), Truss3d::computeBmatrixAt(), Truss2d::computeBmatrixAt(), Truss1d::computeBmatrixAt(), TrPlaneStress2d::computeBmatrixAt(), TrPlaneStrRot::computeBmatrixAt(), TrPlaneStrain::computeBmatrixAt(), RerShell::computeBmatrixAt(), Q4Axisymm::computeBmatrixAt(), L4Axisymm::computeBmatrixAt(), CCTPlate::computeBmatrixAt(), Axisymm3d::computeBmatrixAt(), PY1_3D_SUPG::computeCriticalTimeStep(), TR1_2D_CBS::computeDensityRhsVelocityTerms(), TR1_2D_CBS::computeDiffusionTermsI(), TrPlaneStress2d::computeEdgeIpGlobalCoords(), TrPlaneStrain::computeEdgeIpGlobalCoords(), Tr1_ht::computeEdgeIpGlobalCoords(), Quad1PlaneStrain::computeEdgeIpGlobalCoords(), Quad1_ht::computeEdgeIpGlobalCoords(), Beam3d::computeEdgeLoadVectorAt(), Beam2d::computeEdgeLoadVectorAt(), TrPlaneStress2d::computeEdgeVolumeAround(), TrPlaneStrain::computeEdgeVolumeAround(), TrAxisym1_ht::computeEdgeVolumeAround(), Tr1_ht::computeEdgeVolumeAround(), QuadAxisym1_ht::computeEdgeVolumeAround(), Quad1PlaneStrain::computeEdgeVolumeAround(), Quad1_ht::computeEdgeVolumeAround(), Truss3d::computeGlobalCoordinates(), Truss2d::computeGlobalCoordinates(), Truss1d::computeGlobalCoordinates(), TrPlaneStress2d::computeGlobalCoordinates(), TrPlaneStrain::computeGlobalCoordinates(), Tr1_ht::computeGlobalCoordinates(), TR1_2D_SUPG2_AXI::computeGlobalCoordinates(), TR1_2D_SUPG2::computeGlobalCoordinates(), TR1_2D_SUPG::computeGlobalCoordinates(), TR1_2D_CBS::computeGlobalCoordinates(), Quad1PlaneStrain::computeGlobalCoordinates(), Quad1_ht::computeGlobalCoordinates(), Q4Axisymm::computeGlobalCoordinates(), LIBeam3dNL2::computeGlobalCoordinates(), LIBeam3dNL::computeGlobalCoordinates(), LIBeam3d2::computeGlobalCoordinates(), LIBeam3d::computeGlobalCoordinates(), LIBeam2dNL::computeGlobalCoordinates(), LIBeam2d::computeGlobalCoordinates(), InterfaceElem1d::computeGlobalCoordinates(), InterfaceElement3dTrLin::computeGlobalCoordinates(), InterfaceElem2dQuad::computeGlobalCoordinates(), CCTPlate::computeGlobalCoordinates(), Beam3d::computeGlobalCoordinates(), Beam2d::computeGlobalCoordinates(), Tr1_ht::computeGradientMatrixAt(), RerShell::computeGtoLRotationMatrix(), InterfaceElem2dQuad::computeGtoLRotationMatrix(), Quad1_ht::computeJacobianMatrix(), Quad1PlaneStrain::computeJacobianMatrixAt(), Q4Axisymm::computeJacobianMatrixAt(), InterfaceElement3dTrLin::computeLCS(), TrPlaneStress2d::computeLoadLEToLRotationMatrix(), TrPlaneStrain::computeLoadLEToLRotationMatrix(), Quad1PlaneStrain::computeLoadLEToLRotationMatrix(), Axisymm3d::computeLoadLEToLRotationMatrix(), Truss1d::computeLocalCoordinates(), TrPlaneStress2d::computeLocalCoordinates(), TrPlaneStrain::computeLocalCoordinates(), Tr1_ht::computeLocalCoordinates(), TR1_2D_SUPG2::computeLocalCoordinates(), TR1_2D_SUPG::computeLocalCoordinates(), TR1_2D_CBS::computeLocalCoordinates(), RerShell::computeLocalCoordinates(), Quad1PlaneStrain::computeLocalCoordinates(), Quad1_ht::computeLocalCoordinates(), CCTPlate::computeLocalCoordinates(), InterfaceElem1d::computeLocalSlipDir(), CCTPlate::ComputeMidPlaneNormal(), TR1_2D_SUPG2_AXI::computeMyVolume(), TR1_2D_SUPG2::computeMyVolume(), TR1_2D_SUPG::computeMyVolume(), TrPlaneStrRot::computeNmatrixAt(), RerShell::computeNmatrixAt(), CCTPlate::computeNmatrixAt(), TR1_2D_CBS::computePrescribedTractionPressure(), TrAxisym1_ht::computeRadiusAt(), TR1_2D_SUPG_AXI::computeRadiusAt(), TR1_2D_SUPG2_AXI::computeRadiusAt(), QuadAxisym1_ht::computeRadiusAt(), Q4Axisymm::computeVolumeAround(), L4Axisymm::computeVolumeAround(), InterfaceElement3dTrLin::computeVolumeAround(), InterfaceElem2dQuad::computeVolumeAround(), Axisymm3d::computeVolumeAround(), LIBeam3dNL2::computeXdVector(), LIBeam3dNL::computeXdVector(), Targe2Interface::createInput(), T3DInterface::createInput(), FreemInterface::createInput(), VTKXMLExportModule::doOutput(), VTKExportModule::doOutput(), LEPlic::findCellLineConstant(), TR1_2D_SUPG2_AXI::formMaterialVolumePoly(), TR1_2D_SUPG2::formMaterialVolumePoly(), TR1_2D_SUPG::formMaterialVolumePoly(), TR1_2D_SUPG2_AXI::formMyVolumePoly(), TR1_2D_SUPG2::formMyVolumePoly(), TR1_2D_SUPG::formMyVolumePoly(), TR1_2D_SUPG2_AXI::formVolumeInterfacePoly(), TR1_2D_SUPG2::formVolumeInterfacePoly(), TR1_2D_SUPG::formVolumeInterfacePoly(), TrPlaneStress2d::giveArea(), TrPlaneStrain::giveArea(), Tr1_ht::giveArea(), RerShell::giveArea(), CCTPlate::giveArea(), RefinedElement::giveBcDofArray1D(), RefinedElement::giveBcDofArray2D(), RefinedElement::giveBcDofArray3D(), TrPlaneStress2d::GivebCoeff(), TrPlaneStrain::GivebCoeff(), TrPlaneStress2d::GivecCoeff(), TrPlaneStrain::GivecCoeff(), L4Axisymm::giveCharacteristicLenght(), Axisymm3d::giveCharacteristicLenght(), LIBeam3d2::giveCurrentLength(), TrPlaneStrRot::GiveDerivativeUX(), TrPlaneStrRot::GiveDerivativeUY(), TrPlaneStrRot::GiveDerivativeVX(), TrPlaneStrRot::GiveDerivativeVY(), VTKXMLExportModule::giveElementCell(), VTKExportModule::giveElementCell(), TR1_2D_SUPG2_AXI::giveElementCenter(), TR1_2D_SUPG2::giveElementCenter(), TR1_2D_SUPG::giveElementCenter(), giveLenghtInDir(), Truss3d::giveLength(), Truss2d::giveLength(), Truss1d::giveLength(), LIBeam3dNL2::giveLength(), LIBeam3dNL::giveLength(), LIBeam3d2::giveLength(), LIBeam3d::giveLength(), LIBeam2dNL::giveLength(), LIBeam2d::giveLength(), Beam3d::giveLength(), Beam2d::giveLength(), Truss3d::giveLocalCoordinateSystem(), LIBeam3dNL2::giveLocalCoordinateSystem(), LIBeam3dNL::giveLocalCoordinateSystem(), LIBeam3d2::giveLocalCoordinateSystem(), LIBeam3d::giveLocalCoordinateSystem(), Beam3d::giveLocalCoordinateSystem(), Truss2d::givePitch(), TrPlaneStrRot::GivePitch(), LIBeam2dNL::givePitch(), LIBeam2d::givePitch(), Beam2d::givePitch(), VTKExportModule::giveTotalRBRNumberOfNodes(), Truss1d::HuertaErrorEstimatorI_setupRefinedElementProblem(), TrPlaneStress2d::HuertaErrorEstimatorI_setupRefinedElementProblem(), TrPlaneStrain::HuertaErrorEstimatorI_setupRefinedElementProblem(), Quad1PlaneStrain::HuertaErrorEstimatorI_setupRefinedElementProblem(), PlaneStress2d::HuertaErrorEstimatorI_setupRefinedElementProblem(), LTRSpace::HuertaErrorEstimatorI_setupRefinedElementProblem(), LSpace::HuertaErrorEstimatorI_setupRefinedElementProblem(), OctreeSpatialLocalizer::initElementIPDataStructure(), TR1_2D_SUPG_AXI::initGeometry(), TR1_2D_SUPG::initGeometry(), VTKXMLExportModule::initRegionNodeNumbering(), VTKExportModule::initRegionNodeNumbering(), TR1_2D_SUPG::LS_PCS_computeS(), TR1_2D_SUPG::LS_PCS_computeVOFFractions(), PY1_3D_SUPG::LS_PCS_computeVOFFractions(), RefinedMesh::refineMeshGlobally(), HuertaErrorEstimatorInterface::setupRefinedElementProblem1D(), HuertaErrorEstimatorInterface::setupRefinedElementProblem2D(), HuertaErrorEstimatorInterface::setupRefinedElementProblem3D(), FreemInterface::smoothNodalDensities(), HuertaErrorEstimator::solveRefinedPatchProblem(), SpatialLocalizerInterface::SpatialLocalizerI_BBoxContainsPoint(), TrPlaneStress2d::SPRNodalRecoveryMI_giveDofMansDeterminedByPatch(), TrPlaneStrain::SPRNodalRecoveryMI_giveDofMansDeterminedByPatch(), TR1_2D_SUPG2_AXI::SPRNodalRecoveryMI_giveDofMansDeterminedByPatch(), TR1_2D_SUPG2::SPRNodalRecoveryMI_giveDofMansDeterminedByPatch(), TR1_2D_SUPG::SPRNodalRecoveryMI_giveDofMansDeterminedByPatch(), TR1_2D_CBS::SPRNodalRecoveryMI_giveDofMansDeterminedByPatch(), Quad1PlaneStrain::SPRNodalRecoveryMI_giveDofMansDeterminedByPatch(), QTrPlaneStress2d::SPRNodalRecoveryMI_giveDofMansDeterminedByPatch(), PlaneStress2d::SPRNodalRecoveryMI_giveDofMansDeterminedByPatch(), LTRSpace::SPRNodalRecoveryMI_giveDofMansDeterminedByPatch(), LSpace::SPRNodalRecoveryMI_giveDofMansDeterminedByPatch(), L4Axisymm::SPRNodalRecoveryMI_giveDofMansDeterminedByPatch(), CCTPlate::SPRNodalRecoveryMI_giveDofMansDeterminedByPatch(), Axisymm3d::SPRNodalRecoveryMI_giveDofMansDeterminedByPatch(), TrPlaneStress2d::SPRNodalRecoveryMI_giveSPRAssemblyPoints(), TrPlaneStrain::SPRNodalRecoveryMI_giveSPRAssemblyPoints(), TR1_2D_SUPG2_AXI::SPRNodalRecoveryMI_giveSPRAssemblyPoints(), TR1_2D_SUPG2::SPRNodalRecoveryMI_giveSPRAssemblyPoints(), TR1_2D_SUPG::SPRNodalRecoveryMI_giveSPRAssemblyPoints(), TR1_2D_CBS::SPRNodalRecoveryMI_giveSPRAssemblyPoints(), Quad1PlaneStrain::SPRNodalRecoveryMI_giveSPRAssemblyPoints(), QTrPlaneStress2d::SPRNodalRecoveryMI_giveSPRAssemblyPoints(), PlaneStress2d::SPRNodalRecoveryMI_giveSPRAssemblyPoints(), LTRSpace::SPRNodalRecoveryMI_giveSPRAssemblyPoints(), LSpace::SPRNodalRecoveryMI_giveSPRAssemblyPoints(), L4Axisymm::SPRNodalRecoveryMI_giveSPRAssemblyPoints(), CCTPlate::SPRNodalRecoveryMI_giveSPRAssemblyPoints(), Axisymm3d::SPRNodalRecoveryMI_giveSPRAssemblyPoints(), TR1_2D_SUPG2_AXI::updateIntegrationRules(), TR1_2D_SUPG2::updateIntegrationRules(), TR1_2D_SUPG2_AXI::updateVolumePolygons(), and TR1_2D_SUPG2::updateVolumePolygons().

ElementSide * Element::giveSide ( int  i  )  const [virtual]

Returns reference to the i-th side of element.

Default implementation returns i-th dofmanager of element converted to ElementSide class (check is made).

Definition at line 354 of file element.C.

References _error, IntArray::at(), dofManArray, FEMComponent::domain, Domain::giveSide(), and IntArray::giveSize().

Geometry* Element::giveGeometry (  )  [inline]

Returns reference to the associated geometry of element.

Definition at line 390 of file element.h.

Referenced by IntegrationRule::giveGeometry().

virtual FEInterpolation* Element::giveInterpolation (  )  [inline, virtual]

Material * Element::giveMaterial (  ) 

Returns reference to the associated material of element.

Definition at line 298 of file element.C.

References _error, FEMComponent::domain, Domain::giveMaterial(), and material.

Referenced by adaptiveFinish(), adaptiveMap(), StructuralElement::adaptiveUpdate(), StructuralElement::addNonlocalStiffnessContributions(), TransportElement::checkConsistency(), StructuralElement::checkConsistency(), TR1_2D_SUPG_AXI::computeAccelerationTerm_MB(), TR1_2D_SUPG::computeAccelerationTerm_MB(), SUPGElement2::computeAccelerationTerm_MB(), TR1_2D_SUPG_AXI::computeAdvectionDerivativeTerm_MB(), TR1_2D_SUPG::computeAdvectionDerivativeTerm_MB(), SUPGElement2::computeAdvectionDerivativeTerm_MB(), TR1_2D_SUPG_AXI::computeAdvectionTerm_MB(), TR1_2D_SUPG::computeAdvectionTerm_MB(), SUPGElement2::computeAdvectionTerm_MB(), TR1_2D_SUPG_AXI::computeBCRhsTerm_MB(), TR1_2D_SUPG::computeBCRhsTerm_MB(), SUPGElement2::computeBCRhsTerm_MB(), StructuralElement::computeBodyLoadVectorAt(), RerShell::computeBodyLoadVectorAt(), CCTPlate::computeBodyLoadVectorAt(), TransportElement::computeCapacitySubMatrix(), StructuralElement::computeConsistentMassMatrix(), Beam3d::computeConsistentMassMatrix(), Beam2d::computeConsistentMassMatrix(), TR1_2D_CBS::computeConsistentMassMtrx(), TransportElement::computeConstitutiveMatrixAt(), TR1_2D_CBS::computeConvectionTermsI(), TR1_2D_CBS::computeDensityRhsVelocityTerms(), TR1_2D_SUPG_AXI::computeDeviatoricStress(), TR1_2D_SUPG::computeDeviatoricStress(), TR1_2D_CBS::computeDeviatoricStress(), SUPGElement2::computeDeviatoricStress(), TR1_2D_CBS::computeDiagonalMassMtrx(), TR1_2D_SUPG_AXI::computeDiffusionDerivativeTerm_MB(), TR1_2D_SUPG2_AXI::computeDiffusionDerivativeTerm_MB(), TR1_2D_SUPG::computeDiffusionDerivativeTerm_MB(), SUPGElement2::computeDiffusionDerivativeTerm_MB(), TR1_2D_SUPG_AXI::computeDiffusionDerivativeTerm_MC(), TR1_2D_SUPG2_AXI::computeDiffusionDerivativeTerm_MC(), TR1_2D_SUPG_AXI::computeDiffusionTerm_MB(), TR1_2D_SUPG2_AXI::computeDiffusionTerm_MB(), TR1_2D_SUPG::computeDiffusionTerm_MB(), SUPGElement2::computeDiffusionTerm_MB(), TR1_2D_SUPG_AXI::computeDiffusionTerm_MC(), TR1_2D_SUPG2_AXI::computeDiffusionTerm_MC(), TR1_2D_CBS::computeDiffusionTermsI(), LIBeam2dNL::computeInitialStressMatrix(), TransportElement::computeInternalSourceRhsSubVectorAt(), TransportElement::computeIntSourceLHSMatrix(), TransportElement::computeIntSourceLHSSubMatrix(), TR1_2D_SUPG_AXI::computeLSICStabilizationTerm_MB(), TR1_2D_SUPG::computeLSICStabilizationTerm_MB(), SUPGElement2::computeLSICStabilizationTerm_MB(), Truss3d::computeLumpedMassMatrix(), Truss2d::computeLumpedMassMatrix(), Truss1d::computeLumpedMassMatrix(), RerShell::computeLumpedMassMatrix(), LTRSpace::computeLumpedMassMatrix(), LIBeam3dNL2::computeLumpedMassMatrix(), LIBeam3dNL::computeLumpedMassMatrix(), LIBeam3d2::computeLumpedMassMatrix(), LIBeam3d::computeLumpedMassMatrix(), LIBeam2dNL::computeLumpedMassMatrix(), LIBeam2d::computeLumpedMassMatrix(), CCTPlate::computeLumpedMassMatrix(), TR1_2D_CBS::computePrescribedTractionPressure(), TR1_2D_SUPG_AXI::computePressureTerm_MC(), TR1_2D_SUPG::computePressureTerm_MC(), SUPGElement2::computePressureTerm_MC(), NLStructuralElement::computeStiffnessMatrix(), MacroLSpace::computeStiffnessMatrix(), StructuralElement::computeStiffnessMatrix_withIRulesAsSubcells(), NLStructuralElement::computeStiffnessMatrix_withIRulesAsSubcells(), LIBeam3d2::computeStrainVector(), StructuralCrossSection::computeStressIndependentStrainVector(), SimpleCrossSection::computeStressIndependentStrainVector(), LIBeam3dNL2::computeTempCurv(), LIBeam3dNL::computeTempCurv(), Subdivision::createMesh(), NonlocalMaterialWTP::fastElementIPNonlocTableUpdater(), StructuralCrossSection::giveCharMaterialStiffnessMatrix(), LayeredCrossSection::giveCharMaterialStiffnessMatrix(), FiberedCrossSection::giveCharMaterialStiffnessMatrix(), NonlocalMaterialWTP::giveElementNonlocalDepArry(), StructuralCrossSection::giveFullCharacteristicVector(), StructuralElement::giveInternalForcesVector(), NLStructuralElement::giveInternalForcesVector(), LIBeam3dNL2::giveInternalForcesVector(), LIBeam3dNL::giveInternalForcesVector(), giveIntVarCompFullIndx(), TR1_2D_SUPG2::giveIPValue(), TR1_2D_SUPG::giveIPValue(), TR1_2D_CBS::giveIPValue(), CCTPlate::giveIPValue(), giveIPValueType(), GaussPoint::giveMaterial(), StructuralCrossSection::giveMaterialStiffnessMatrix(), NonlocalMaterialWTP::giveNonlocalDepArryElementPlugin(), StructuralElement::giveNonlocalLocationArray(), StructuralCrossSection::giveRealStresses(), SimpleCrossSection::giveRealStresses(), StructuralCrossSection::giveReducedCharacteristicVector(), SimpleCrossSection::giveReducedCharacteristicVector(), CCTPlate::NodalAveragingRecoveryMI_computeNodalValue(), TR1_2D_SUPG2_AXI::printOutputAt(), TR1_2D_SUPG2::printOutputAt(), TR1_2D_SUPG::printOutputAt(), HuertaErrorEstimatorInterface::setupRefinedElementProblem1D(), HuertaErrorEstimatorInterface::setupRefinedElementProblem2D(), HuertaErrorEstimatorInterface::setupRefinedElementProblem3D(), StructuralElement::updateBeforeNonlocalAverage(), TransportElement::updateInternalState(), TR1_2D_SUPG_AXI::updateStabilizationCoeffs(), TR1_2D_SUPG::updateStabilizationCoeffs(), SUPGElement2::updateStabilizationCoeffs(), and ZZErrorEstimatorInterface::ZZErrorEstimatorI_computeElementContributions().

CrossSection * Element::giveCrossSection (  ) 

Returns reference to the associated crossSection of element.

Definition at line 310 of file element.C.

References _error, crossSection, FEMComponent::domain, and Domain::giveCrossSection().

Referenced by StructuralElement::checkConsistency(), RerShell::computeBodyLoadVectorAt(), CCTPlate::computeBodyLoadVectorAt(), Beam3d::computeConsistentMassMatrix(), Beam2d::computeConsistentMassMatrix(), StructuralElement::computeConstitutiveMatrixAt(), RCSDEMaterial::computeCurrEquivStrain(), RCSDMaterial::computeCurrEquivStrain(), MDM::computeDamageOnPlane(), MazarsMaterial::computeDamageParam(), Tr1_ht::computeEdgeVolumeAround(), Quad1_ht::computeEdgeVolumeAround(), MazarsMaterial::computeEquivalentStrain(), IsotropicDamageMaterial1::computeEquivalentStrain(), PlasticMaterial::ComputeGradientVector(), MPlasticMaterial::computeGradientVector(), RerShell::computeLocalCoordinates(), Truss3d::computeLumpedMassMatrix(), Truss2d::computeLumpedMassMatrix(), Truss1d::computeLumpedMassMatrix(), RerShell::computeLumpedMassMatrix(), LIBeam3dNL2::computeLumpedMassMatrix(), LIBeam3dNL::computeLumpedMassMatrix(), LIBeam3d2::computeLumpedMassMatrix(), LIBeam3d::computeLumpedMassMatrix(), LIBeam2dNL::computeLumpedMassMatrix(), LIBeam2d::computeLumpedMassMatrix(), CCTPlate::computeLumpedMassMatrix(), PerfectlyPlasticMaterial::computePlasticStiffnessAt(), StructuralElement::computePrescribedStrainLocalLoadVectorAt(), MPlasticMaterial2::computeReducedStressGradientVector(), StructuralElement::computeStiffnessMatrix(), StructuralElement::computeStiffnessMatrix_withIRulesAsSubcells(), StructuralElement::computeStrainVector(), NLStructuralElement::computeStrainVector(), RerShell::computeStrainVectorInLayer(), LIBeam2dNL::computeStrainVectorInLayer(), LIBeam2d::computeStrainVectorInLayer(), CCTPlate::computeStrainVectorInLayer(), Beam2d::computeStrainVectorInLayer(), J2plasticMaterial::ComputeStressSpaceHardeningVarsReducedGradient(), J2MPlasticMaterial::computeStressSpaceHardeningVarsReducedGradient(), StructuralElement::computeStressVector(), PlaneStress2dXfem::computeStressVector(), MPlasticMaterial2::computeTrialStressIncrement(), MPlasticMaterial::computeTrialStressIncrement(), J2plasticMaterial::computeTrialStressIncrement(), Truss3d::computeVolumeAround(), Truss2d::computeVolumeAround(), Truss1d::computeVolumeAround(), TrPlaneStress2d::computeVolumeAround(), TrPlaneStrain::computeVolumeAround(), Tr1_ht::computeVolumeAround(), Quad1PlaneStrain::computeVolumeAround(), Quad1_ht::computeVolumeAround(), QTrPlaneStress2d::computeVolumeAround(), QPlaneStress2d::computeVolumeAround(), PlaneStress2d::computeVolumeAround(), InterfaceElement3dTrLin::computeVolumeAround(), InterfaceElem2dQuad::computeVolumeAround(), Subdivision::createMesh(), MPlasticMaterial::cuttingPlaneReturn(), Quad1PlaneStrain::DirectErrorIndicatorRCI_giveCharacteristicSize(), QTrPlaneStress2d::DirectErrorIndicatorRCI_giveCharacteristicSize(), PlaneStress2d::DirectErrorIndicatorRCI_giveCharacteristicSize(), estimatePackSize(), PlasticMaterial::giveConsistentStiffnessMatrix(), MPlasticMaterial2::giveConsistentStiffnessMatrix(), MPlasticMaterial::giveConsistentStiffnessMatrix(), GaussPoint::giveCrossSection(), MPlasticMaterial2::giveElastoPlasticStiffnessMatrix(), MPlasticMaterial::giveElastoPlasticStiffnessMatrix(), giveIntVarCompFullIndx(), giveIPValue(), TR1_2D_SUPG2::giveIPValueSize(), TR1_2D_SUPG::giveIPValueSize(), TR1_2D_CBS::giveIPValueSize(), giveIPValueSize(), giveIPValueType(), PerfectlyPlasticMaterial::giveMaterialStiffnessMatrix(), MDM::giveRawMDMParameters(), Concrete2::giveRealStresses3dShellLayer(), RCSDNLMaterial::giveRealStressVector(), RCSDEMaterial::giveRealStressVector(), RCSDMaterial::giveRealStressVector(), RCM2Material::giveRealStressVector(), PlasticMaterial::giveRealStressVector(), PerfectlyPlasticMaterial::giveRealStressVector(), MPlasticMaterial2::giveRealStressVector(), MPlasticMaterial::giveRealStressVector(), MDM::giveRealStressVector(), MaxwellChainMaterial::giveRealStressVector(), LinearElasticMaterial::giveRealStressVector(), DruckerPragerPlasticitySM::giveRealStressVector(), DruckerPragerPlasticitySM::giveRegAlgorithmicStiffMatrix(), giveRegionNumber(), IDNLMaterial::giveRemoteNonlocalStiffnessContribution(), PerfectlyPlasticMaterial::GiveStressCorrectionBackToYieldSurface(), StructuralMaterial::giveStressDependentPartOfStrainVector(), DruckerPragerPlasticitySM::giveVertexAlgorithmicStiffMatrix(), IsotropicDamageMaterial1::initDamaged(), packUnknowns(), predictRelativeComputationalCost(), HuertaErrorEstimatorInterface::setupRefinedElementProblem1D(), HuertaErrorEstimatorInterface::setupRefinedElementProblem2D(), HuertaErrorEstimatorInterface::setupRefinedElementProblem3D(), MDM::transformStrainToPDC(), MDM::transformStressFromPDC(), and unpackAndUpdateUnknowns().

void Element::setMaterial ( int  matIndx  )  [inline]

Sets the material of receiver.

Definition at line 398 of file element.h.

References material.

Referenced by Subdivision::createMesh().

void Element::setCrossSection ( int  csIndx  )  [inline]

Sets the cross section model of receiver.

Definition at line 400 of file element.h.

References crossSection.

Referenced by Subdivision::createMesh().

int Element::giveNumberOfDofManagers (  )  [inline]

Returns number of dofmanagers of receiver.

Definition at line 403 of file element.h.

References numberOfDofMans.

Referenced by MMAShapeFunctProjection::__mapVariable(), TransportElement::assembleLocalContribution(), TransportElement::computeBCSubMtrxAt(), TransportElement::computeBCSubVectorAt(), PlaneStress2dXfem::computeBmatrixAt(), TransportElement::computeConductivitySubMatrix(), TransportElement::computeEdgeBCSubVectorAt(), Line::computeIntersectionPoints(), PlaneStress2dXfem::computeNumberOfDofs(), Line::computeNumberOfIntersectionPoints(), TransportElement::computeSurfaceBCSubVectorAt(), ZZRemeshingCriteria::estimateMeshDensities(), HuertaRemeshingCriteria::estimateMeshDensities(), RampFunction::evaluateDerivativeAt(), RampFunction::evaluateFunctionAt(), HuertaErrorEstimator::extractVectorFrom(), LevelSetPCS::FMMReinitialization(), ConnectivityTable::giveElementNeighbourList(), SloanGraph::initialize(), FastMarchingMethod::initialize(), NodalRecoveryModel::initRegionNodeNumbering(), ConnectivityTable::instanciateConnectivityTable(), Circle::intersects(), MMAShapeFunctProjection::mapVariable(), LoadBalancer::migrateLoad(), NonlocalMaterialWTP::packRemoteElements(), ZZNodalRecoveryModel::recoverValues(), NodalAveragingRecoveryModel::recoverValues(), RefinedElement::RefinedElement(), FastMarchingMethod::solve(), XfemElementInterface::XfemElementInterface_prepareNodesForDelaunay(), ZZErrorEstimatorInterface::ZZErrorEstimatorI_computeElementContributions(), ZZNodalRecoveryModelInterface::ZZNodalRecoveryMI_computeNNMatrix(), and ZZNodalRecoveryModelInterface::ZZNodalRecoveryMI_computeNValProduct().

virtual int Element::giveNumberOfNodes (  )  [inline, virtual]

void Element::setDofManagers ( const IntArray _dmans  ) 

Sets receiver dofManagers.

Definition at line 368 of file element.C.

References dofManArray.

Referenced by Subdivision::createMesh().

void Element::setIntegrationRules ( AList< IntegrationRule > *  irlist  ) 

virtual integrationDomain Element::giveIntegrationDomain (  )  [inline, virtual]

Returns integration domain for receiver, used to initialize integration point over receiver volume.

Must be specialized.

Reimplemented in StructuralElement, Axisymm3d, Beam2d, Beam3d, CCTPlate, InterfaceElem2dQuad, InterfaceElement3dTrLin, InterfaceElem1d, L4Axisymm, LIBeam2d, LIBeam2dNL, LIBeam3d, LIBeam3d2, LIBeam3dNL, LIBeam3dNL2, LSpace, LTRSpace, PlaneStress2d, Q4Axisymm, QPlaneStress2d, QSpace, QTrPlaneStress2d, Quad1PlaneStrain, RerShell, TrPlaneStrain, TrPlaneStrRot, TrPlaneStress2d, Truss1d, Truss2d, and Truss3d.

Definition at line 417 of file element.h.

References _Unknown_integrationDomain.

virtual int Element::giveIntegrationRuleLocalCodeNumbers ( IntArray answer,
IntegrationRule ie,
EquationID  ut 
) [inline, virtual]

Assembles the code numbers of given integration element (sub-patch) This is done by obtaining list of nonzero shape functions and by collecting the code numbers of nodes corresponding to these shape functions.

Returns:
returns nonzero if integration rule code numbers differ from element code numbers

Definition at line 425 of file element.h.

Referenced by StructuralElement::computeStiffnessMatrix_withIRulesAsSubcells(), and NLStructuralElement::computeStiffnessMatrix_withIRulesAsSubcells().

int Element::giveRegionNumber (  ) 

Returns number of sides (which have unknown dofs) of receiver.

Returns the corresponding element region. Currently corresponds to cross section model number.

Definition at line 321 of file element.C.

References giveCrossSection(), and FEMComponent::giveNumber().

Referenced by MMALeastSquareProjection::__init(), MMAShapeFunctProjection::__mapVariable(), Subdivision::RS_Tetra::bisect(), NonlocalMaterialExtensionInterface::buildNonlocalPointTable(), SPRNodalRecoveryModel::determinePatchAssemblyPoints(), VTKXMLExportModule::doOutput(), VTKExportModule::doOutput(), ZZErrorEstimator::estimateError(), HuertaErrorEstimator::estimateError(), ZZRemeshingCriteria::estimateMeshDensities(), OctreeSpatialLocalizer::giveClosestIP(), DummySpatialLocalizer::giveClosestIP(), OctreeSpatialLocalizer::giveClosestIPWithinOctant(), OctreeSpatialLocalizer::giveElementCloseToPoint(), DummySpatialLocalizer::giveElementCloseToPoint(), OctreeSpatialLocalizer::giveElementCloseToPointWithinOctant(), OctreeSpatialLocalizer::giveElementContainingPoint(), DummySpatialLocalizer::giveElementContainingPoint(), ZZErrorEstimator::giveElementError(), ScalarErrorIndicator::giveElementError(), NodalRecoveryModel::giveRegionRecordMap(), NodalRecoveryModel::giveRegionRecordSize(), MaterialMappingAlgorithm::init(), ZZNodalRecoveryModel::initRegionMap(), SPRNodalRecoveryModel::initRegionMap(), NodalAveragingRecoveryModel::initRegionMap(), VTKXMLExportModule::initRegionNodeNumbering(), VTKExportModule::initRegionNodeNumbering(), NodalRecoveryModel::initRegionNodeNumbering(), MMAShapeFunctProjection::mapVariable(), NonlocalMaterialExtensionInterface::rebuildNonlocalPointTable(), ZZNodalRecoveryModel::recoverValues(), NodalAveragingRecoveryModel::recoverValues(), HuertaErrorEstimator::solveRefinedElementProblem(), HuertaErrorEstimator::solveRefinedPatchProblem(), and ZZErrorEstimatorInterface::ZZErrorEstimatorI_computeElementContributions().

IRResultType Element::initializeFrom ( InputRecord ir  )  [virtual]

void Element::postInitialize (  ) 

Performs a post initialization steps.

Definition at line 517 of file element.C.

References computeGaussPoints().

Referenced by Subdivision::createMesh().

contextIOResultType Element::saveContext ( DataStream stream,
ContextMode  mode,
void *  obj = NULL 
) [virtual]

contextIOResultType Element::restoreContext ( DataStream stream,
ContextMode  mode,
void *  obj = NULL 
) [virtual]

void Element::printOutputAt ( FILE *  file,
TimeStep stepN 
) [virtual]

Prints output of receiver to stream, for given time step.

Corresponding function for element gauss points is invoked (gaussPoint::printOutputAt).

Reimplemented from FEMComponent.

Reimplemented in Beam2d, Beam3d, RerShell, TransportElement, CBSElement, SUPGElement, SUPGElement2, TR1_2D_CBS, TR1_2D_SUPG, TR1_2D_SUPG2, and TR1_2D_SUPG2_AXI.

Definition at line 572 of file element.C.

References giveLabel(), FEMComponent::giveNumber(), integrationRulesArray, FEMComponent::number, numberOfIntegrationRules, and IntegrationRule::printOutputAt().

Referenced by OutputManager::doElementOutput(), and TransportElement::printOutputAt().

virtual void Element::updateInternalState ( TimeStep tStep  )  [inline, virtual]

Updates element state corresponding to newly reached solution.

Default is empty, derived classes should force the update of internal integration point values acording to newly reached state.

See also:
Element::updateYourself

Reimplemented in StructuralElement, TransportElement, CBSElement, SUPGElement, and SUPGElement2.

Definition at line 460 of file element.h.

Referenced by LinearStability::terminateLinStatic(), SUPG::updateInternalState(), StructuralEngngModel::updateInternalState(), NLTransientTransportProblem::updateInternalState(), and CBS::updateInternalState().

void Element::updateYourself ( TimeStep tStep  )  [virtual]

Updates element state after equlibrium in time step has been reached.

Default implementation updates all integration rules defined by integrationRulesArray member variable. Doing this, all integration points and their material statuses are updated also. All temporary history variables, which now describe equlibrium state are copied into equilibrium ones. The existing internal state is used for update.

See also:
Material::updateYourself

IntegrationRule::updateYourself

gaussPoint::updateYourself

Element::updateInternalState

Reimplemented in StructuralElement, LIBeam3d2, LIBeam3dNL, LIBeam3dNL2, TR1_2D_CBS, TR1_2D_SUPG, and TR1_2D_SUPG2.

Definition at line 603 of file element.C.

References integrationRulesArray, numberOfIntegrationRules, and IntegrationRule::updateYourself().

Referenced by SUPG::applyIC(), NLTransientTransportProblem::applyIC(), CBS::applyIC(), TR1_2D_SUPG2::updateYourself(), TR1_2D_SUPG::updateYourself(), TR1_2D_CBS::updateYourself(), StructuralElement::updateYourself(), and EngngModel::updateYourself().

virtual void Element::initializeYourself ( TimeStep timeStepWhenICApply  )  [inline, virtual]

Initialization according to state given by initial conditions.

Some type of problems may require initialization of state variables stored in integration points (in statuses related to material models) according to initial conditions. Defaul implementation is not provided. Typically, loop over all integration points, and call to some initialization method of material (with necessary agruments) have to be made.

Definition at line 482 of file element.h.

virtual int Element::checkConsistency (  )  [inline, virtual]

Performs consistency check.

This method is called at startup for all elements in particular domain. This method is intended to check data compatibility. Particular element types should test if compatible material and crossSection both with required capabilities are specified. Derived classes should provide their own analysis specific tests. Some printed input if incompatibility is found should be provided (error or warning member functions). Method can be also used to initialize some variables, since this is invoked after all domain components are instanciated.

Returns:
zero value if check fail, othervise nonzero is returned.

Reimplemented from FEMComponent.

Reimplemented in StructuralElement, TransportElement, CBSElement, SUPGElement, SUPGElement2, TR1_2D_CBS, and TR1_2D_SUPG.

Definition at line 497 of file element.h.

Referenced by Domain::checkConsistency().

void Element::initForNewStep (  )  [virtual]

Initializes receivers state to new time step.

It can be used also if current time step must be re-started. Default implementation invokes initForNewStep member function for all defined integrationRules. Thus all state variables in all defined integration points are re initialized.

See also:
IntegrationRule::initForNewStep.

Reimplemented in LIBeam3d2, LIBeam3dNL, and LIBeam3dNL2.

Definition at line 616 of file element.C.

References IntegrationRule::initForNewStep(), integrationRulesArray, and numberOfIntegrationRules.

Referenced by LIBeam3dNL2::initForNewStep(), LIBeam3dNL::initForNewStep(), LIBeam3d2::initForNewStep(), EngngModel::initStepIncrements(), and LoadBalancer::unpackMigratingData().

Element * Element::ofType ( char *  aClass  ) 

Returns a newly allocated element, with type depending on parameter.

Calls directly CreateUsrDefElementOfType global function to allocate new instance of element of given type. Calls global function CreateUsrDefElementOfType for creating appropriate element instance. This function must be implemented by user.

Parameters:
aClass string with element name
Returns:
newly allocated element with required type.
See also:
CreateUsrDefElementOfType function.

Definition at line 522 of file element.C.

References _error2, CreateUsrDefElementOfType(), FEMComponent::domain, and FEMComponent::number.

const char* Element::giveClassName (  )  const [inline, virtual]

classType Element::giveClassID (  )  const [inline, virtual]

virtual Element_Geometry_Type Element::giveGeometryType (  )  const [inline, virtual]

int Element::giveSpatialDimension ( void   ) 

Returns the element spacial dimension irrespectably to its position in space.

Definition at line 961 of file element.C.

References _error, and giveGeometryType().

Referenced by RefinedElement::giveBoundaryFlagArray(), and RefinedElement::RefinedElement().

int Element::giveNumberOfBoundarySides ( void   ) 

Returns the number of boundaries of dimension equal to element spatial dimension - 1.

Definition at line 990 of file element.C.

References __Element_Geometry_TypeToString(), _error2, and giveGeometryType().

Referenced by Circle::computeIntersectionPoints(), and RefinedElement::RefinedElement().

virtual int Element::giveDefaultIntegrationRule (  )  [inline, virtual]

IntegrationRule* Element::giveDefaultIntegrationRulePtr (  )  [inline]

Definition at line 548 of file element.h.

References giveDefaultIntegrationRule(), and integrationRulesArray.

Referenced by MMALeastSquareProjection::__init(), MMAContainingElementProjection::__init(), NonlocalMaterialExtensionInterface::buildNonlocalPointTable(), SPRNodalRecoveryModel::computePatch(), QTrPlaneStress2d::DirectErrorIndicatorRCI_giveCharacteristicSize(), HOMExportModule::doOutput(), HuertaRemeshingCriteria::estimateMeshDensities(), DummySpatialLocalizer::giveAllElementsWithIpWithinBox(), OctreeSpatialLocalizer::giveClosestIP(), DummySpatialLocalizer::giveClosestIP(), OctreeSpatialLocalizer::giveClosestIPWithinOctant(), ScalarErrorIndicator::giveElementError(), OctreeSpatialLocalizer::giveElementsWithIPWithinBox(), giveIntVarCompFullIndx(), MicroMaterial::giveRealStressVector(), OctreeSpatialLocalizer::initElementIPDataStructure(), predictRelativeComputationalCost(), NonlocalMaterialExtensionInterface::rebuildNonlocalPointTable(), HuertaErrorEstimatorInterface::setupRefinedElementProblem1D(), HuertaErrorEstimatorInterface::setupRefinedElementProblem2D(), HuertaErrorEstimatorInterface::setupRefinedElementProblem3D(), HuertaErrorEstimator::solveRefinedElementProblem(), Quad1PlaneStrain::SPRNodalRecoveryMI_giveNumberOfIP(), PlaneStress2d::SPRNodalRecoveryMI_giveNumberOfIP(), LTRSpace::SPRNodalRecoveryMI_giveNumberOfIP(), LSpace::SPRNodalRecoveryMI_giveNumberOfIP(), L4Axisymm::SPRNodalRecoveryMI_giveNumberOfIP(), Axisymm3d::SPRNodalRecoveryMI_giveNumberOfIP(), XfemElementInterface::XfemElementInterface_updateIntegrationRule(), ZZErrorEstimatorInterface::ZZErrorEstimatorI_computeElementContributions(), ZZNodalRecoveryModelInterface::ZZNodalRecoveryMI_computeNNMatrix(), and ZZNodalRecoveryModelInterface::ZZNodalRecoveryMI_computeNValProduct().

virtual int Element::testElementExtension ( ElementExtension  ext  )  [inline, virtual]

Tests if the element implements required extension.

ElementExtension type defines the list of all available element extensions.

Parameters:
ext tested extension id
Returns:
nonzero if extension supported.
See also:
ElementExtension

Reimplemented in Axisymm3d, Beam2d, Beam3d, InterfaceElem2dQuad, InterfaceElement3dTrLin, InterfaceElem1d, L4Axisymm, LIBeam3d, LIBeam3d2, LSpace, LTRSpace, PlaneStress2d, QPlaneStress2d, QSpace, QTrPlaneStress2d, Quad1PlaneStrain, TrPlaneStrain, TrPlaneStrRot, TrPlaneStress2d, Truss1d, Truss2d, Truss3d, Brick1_ht, and Tetrah1_ht.

Definition at line 556 of file element.h.

Referenced by StructuralElement::computeEdgeLoadVectorAt(), TransportElement::computeSurfaceBCSubVectorAt(), and StructuralElement::computeSurfaceLoadVectorAt().

int Element::giveIPValue ( FloatArray answer,
GaussPoint aGaussPoint,
InternalStateType  type,
TimeStep atTime 
) [virtual]

int Element::giveIPValueSize ( InternalStateType  type,
GaussPoint gp 
) [virtual]

Returns the corresponding integration point value size in Reduced form.

Parameters:
type determines the type of internal variable
mat corresponding material
Returns:
nonzero if o.k, zero otherwise

Reimplemented in TR1_2D_CBS, TR1_2D_SUPG, and TR1_2D_SUPG2.

Definition at line 949 of file element.C.

References giveCrossSection(), and CrossSection::giveIPValueSize().

Referenced by StructuralElement::computeStrainVector(), NLStructuralElement::computeStrainVector(), QTrPlaneStress2d::SPRNodalRecoveryMI_giveDofManRecordSize(), Truss3d::ZZNodalRecoveryMI_ComputeEstimatedInterpolationMtrx(), Truss1d::ZZNodalRecoveryMI_ComputeEstimatedInterpolationMtrx(), TrPlaneStress2d::ZZNodalRecoveryMI_ComputeEstimatedInterpolationMtrx(), TrPlaneStrain::ZZNodalRecoveryMI_ComputeEstimatedInterpolationMtrx(), Quad1PlaneStrain::ZZNodalRecoveryMI_ComputeEstimatedInterpolationMtrx(), QSpace::ZZNodalRecoveryMI_ComputeEstimatedInterpolationMtrx(), QPlaneStress2d::ZZNodalRecoveryMI_ComputeEstimatedInterpolationMtrx(), PlaneStress2d::ZZNodalRecoveryMI_ComputeEstimatedInterpolationMtrx(), LTRSpace::ZZNodalRecoveryMI_ComputeEstimatedInterpolationMtrx(), LSpace::ZZNodalRecoveryMI_ComputeEstimatedInterpolationMtrx(), L4Axisymm::ZZNodalRecoveryMI_ComputeEstimatedInterpolationMtrx(), Axisymm3d::ZZNodalRecoveryMI_ComputeEstimatedInterpolationMtrx(), Truss3d::ZZNodalRecoveryMI_giveDofManRecordSize(), Truss1d::ZZNodalRecoveryMI_giveDofManRecordSize(), TrPlaneStress2d::ZZNodalRecoveryMI_giveDofManRecordSize(), TrPlaneStrain::ZZNodalRecoveryMI_giveDofManRecordSize(), Quad1PlaneStrain::ZZNodalRecoveryMI_giveDofManRecordSize(), QSpace::ZZNodalRecoveryMI_giveDofManRecordSize(), QPlaneStress2d::ZZNodalRecoveryMI_giveDofManRecordSize(), PlaneStress2d::ZZNodalRecoveryMI_giveDofManRecordSize(), LTRSpace::ZZNodalRecoveryMI_giveDofManRecordSize(), LSpace::ZZNodalRecoveryMI_giveDofManRecordSize(), L4Axisymm::ZZNodalRecoveryMI_giveDofManRecordSize(), and Axisymm3d::ZZNodalRecoveryMI_giveDofManRecordSize().

InternalStateValueType Element::giveIPValueType ( InternalStateType  type  )  [virtual]

Returns the type of internal variable (scalar, vector, tensor,.

..).

Parameters:
type determines the type of internal variable
Returns:
type of internal variable

Reimplemented in TR1_2D_CBS, TR1_2D_SUPG, and TR1_2D_SUPG2.

Definition at line 937 of file element.C.

References giveCrossSection(), CrossSection::giveIPValueType(), giveMaterial(), and ISVT_SCALAR.

Referenced by TR1_2D_SUPG2::giveIPValueType(), TR1_2D_SUPG::giveIPValueType(), TR1_2D_CBS::giveIPValueType(), and NodalRecoveryModel::giveRegionRecordSize().

int Element::giveIntVarCompFullIndx ( IntArray answer,
InternalStateType  type 
) [virtual]

Returns the mask of reduced indexes of Internal Variable component .

Parameters:
answer mask of Full VectorSize, with components beeing the indexes to reduced form vectors.
type determines the internal variable requested (physical meaning)
Returns:
nonzero if ok or error is generated for unknown mat mode.

Reimplemented in RerShell, TransportElement, CBSElement, SUPGElement, SUPGElement2, TR1_2D_CBS, TR1_2D_SUPG, and TR1_2D_SUPG2.

Definition at line 921 of file element.C.

References IntArray::at(), giveCrossSection(), giveDefaultIntegrationRulePtr(), CrossSection::giveIntVarCompFullIndx(), giveMaterial(), and IntArray::resize().

Referenced by HOMExportModule::doOutput(), TransportElement::giveIntVarCompFullIndx(), SUPGElement2::giveIntVarCompFullIndx(), SUPGElement::giveIntVarCompFullIndx(), RerShell::giveIntVarCompFullIndx(), CBSElement::giveIntVarCompFullIndx(), MicroMaterial::giveRealStressVector(), and NodalRecoveryModel::giveRegionRecordMap().

double Element::giveLenghtInDir ( const FloatArray normalToCrackPlane  )  [virtual]

virtual double Element::giveCharacteristicLenght ( GaussPoint gp,
const FloatArray normalToCrackPlane 
) [inline, virtual]

virtual void Element::updateBeforeNonlocalAverage ( TimeStep atTime  )  [inline, virtual]

Updates internal element state (in all integration points of receiver) before nonlocal averaging takes place.

Used by so nonlocal materials, because their response in particular point depends not only on state in this point, but depends also on state in point's neighbourhood. Nonlocal quatity is computed as nonlocal average of local quantities. Therefore, before updating integration point state depending on nonlocal quantity (or quantities), local quantities in all integration points must be updated in advance. This function should be overloaded by derived analysis-specific class, which updates state in all receiver's integration points (using updateBeforeNonlocalAverage member function deklared at corresponding analysis specific material base class) depending on driving variable (for example - strain vector in case of structural-analysis elements).

Reimplemented in StructuralElement.

Definition at line 615 of file element.h.

Referenced by NonlocalMaterialExtensionInterface::updateDomainBeforeNonlocAverage().

virtual int Element::computeGlobalCoordinates ( FloatArray answer,
const FloatArray lcoords 
) [inline, virtual]

Computes the global coordinates from given element's local coordinates.

Returns:
nonzero if successful; zero otherwise

Reimplemented in Axisymm3d, Beam2d, Beam3d, CCTPlate, InterfaceElem2dQuad, InterfaceElement3dTrLin, InterfaceElem1d, L4Axisymm, LIBeam2d, LIBeam2dNL, LIBeam3d, LIBeam3d2, LIBeam3dNL, LIBeam3dNL2, LSpace, LTRSpace, PlaneStress2d, Q4Axisymm, QPlaneStress2d, QSpace, QTrPlaneStress2d, Quad1PlaneStrain, TrPlaneStrain, TrPlaneStress2d, Truss1d, Truss2d, Truss3d, Brick1_ht, Quad1_ht, Tetrah1_ht, Tr1_ht, TR1_2D_CBS, TR1_2D_SUPG, TR1_2D_SUPG2, and TR1_2D_SUPG2_AXI.

Definition at line 620 of file element.h.

References FloatArray::resize().

Referenced by MMALeastSquareProjection::__init(), MMAContainingElementProjection::__init(), MMALeastSquareProjection::__mapVariable(), NonlocalMaterialExtensionInterface::buildNonlocalPointTable(), TransportElement::computeInternalSourceRhsSubVectorAt(), StructuralElement::computeResultingIPTemperatureAt(), B3Material::computeShrinkageStrainVector(), StructuralMaterial::computeStressIndependentStrainVector(), EnrichmentFunction::evaluateDerivativeAt(), EnrichmentFunction::evaluateFunctionAt(), RandomFieldGenerator::generateRandomValueAt(), DummySpatialLocalizer::giveAllElementsWithIpWithinBox(), OctreeSpatialLocalizer::giveClosestIP(), DummySpatialLocalizer::giveClosestIP(), OctreeSpatialLocalizer::giveClosestIPWithinOctant(), OctreeSpatialLocalizer::giveElementsWithIPWithinBox(), MaterialMappingAlgorithm::init(), OctreeSpatialLocalizer::initElementIPDataStructure(), MaterialMappingAlgorithm::mapVariable(), and NonlocalMaterialExtensionInterface::rebuildNonlocalPointTable().

virtual int Element::computeLocalCoordinates ( FloatArray answer,
const FloatArray gcoords 
) [inline, virtual]

Computes the element local coordinates from given global coordinates.

Should compute local coordinates even if point is outside element (for mapping purposes in adaptivity)

Returns:
nonzero if point is inside element; zero otherwise

Reimplemented in CCTPlate, InterfaceElem2dQuad, InterfaceElement3dTrLin, InterfaceElem1d, L4Axisymm, LSpace, LTRSpace, PlaneStress2d, QTrPlaneStress2d, Quad1PlaneStrain, RerShell, TrPlaneStrain, TrPlaneStress2d, Truss1d, Brick1_ht, Quad1_ht, Tetrah1_ht, Tr1_ht, TR1_2D_CBS, TR1_2D_SUPG, and TR1_2D_SUPG2.

Definition at line 629 of file element.h.

References FloatArray::resize().

Referenced by StructuralElement::computePointLoadVectorAt(), TrianglePatch::convertGPIntoParental(), TransportElement::EIPrimaryFieldI_evaluateFieldVectorAt(), and LevelSetPCS::giveMaterialMixtureAt().

virtual int Element::giveLocalCoordinateSystem ( FloatMatrix answer  )  [inline, virtual]

Returns local coordinate system of receiver.

Required by material models with ortho and anisotrophy. If local system is equal to global one, can set answer to empty mtrx and return zero value.

Returns:
nonzero if answer computed, zero value if answer is empty, i.e. no transformation is necessary.

Reimplemented in Beam2d, Beam3d, LIBeam3d, LIBeam3d2, LIBeam3dNL, LIBeam3dNL2, RerShell, Truss2d, and Truss3d.

Definition at line 642 of file element.h.

References FloatMatrix::beEmptyMtrx().

Referenced by OrthotropicLinearElasticMaterial::GiveTensorRotationMatrix().

FloatArray * Element::ComputeMidPlaneNormal ( GaussPoint  )  [virtual]

Computes mid-plane normal of receiver at integration point.

Only for plane elements in space (3d) (shells, plates, ....).

Reimplemented in CCTPlate.

Definition at line 871 of file element.C.

References _error.

Referenced by OrthotropicLinearElasticMaterial::GiveTensorRotationMatrix().

int Element::adaptiveMap ( Domain oldd,
TimeStep tStep 
) [virtual]

Initializes the internal state variables stored in all IPs according to stete in given domain.

Used in adaptive procedures.

Parameters:
oldd old mesh reference
tStep time step
Returns:
nonzero if o.k.

Definition at line 1024 of file element.C.

References IntegrationRule::getIntegrationPoint(), IntegrationRule::getNumberOfIntegrationPoints(), FEMComponent::giveInterface(), giveMaterial(), integrationRulesArray, MaterialModelMapperInterfaceType, MaterialModelMapperInterface::MMI_map(), and numberOfIntegrationRules.

Referenced by AdaptiveNonLinearStatic::adaptiveRemap(), and AdaptiveNonLinearStatic::initializeAdaptiveFrom().

virtual int Element::adaptiveUpdate ( TimeStep tStep  )  [inline, virtual]

Updates the internal state variables stored in all IPs according to already mapped state.

Parameters:
oldd old mesh reference
tStep time step
Returns:
nonzero if o.k.

Reimplemented in StructuralElement.

Definition at line 668 of file element.h.

Referenced by AdaptiveNonLinearStatic::adaptiveRemap(), and AdaptiveNonLinearStatic::initializeAdaptiveFrom().

int Element::adaptiveFinish ( TimeStep tStep  )  [virtual]

void Element::updateLocalNumbering ( EntityRenumberingFunctor f  )  [virtual]

Local renumbering support.

For some tasks (parallel load balancing, for example) it is necessary to renumber the entities. The various fem components (such as nodes or elements) typically contain links to other entities in terms of their local numbers, etc. This service allows to update these relations to reflext updated numbering. The renumbering funciton is passed, which is supposed to return an updated number of specified entyty type based on old number.

Reimplemented from FEMComponent.

Definition at line 1070 of file element.C.

References IntArray::at(), dofManArray, ERS_DofManager, and numberOfDofMans.

Referenced by Domain::instanciateYourself().

template<class T>
void Element::ipEvaluator ( T *  src,
void(T::*)(GaussPoint *gp)  f 
) [inline]

Integration point evaluator, loops over receiver IP's and calls given function (passed as f parameter) on them. The IP is parameter to function f.

Definition at line 853 of file element.h.

References IntegrationRule::getIntegrationPoint(), IntegrationRule::getNumberOfIntegrationPoints(), integrationRulesArray, and numberOfIntegrationRules.

Referenced by NonlocalMaterialWTP::fastRebuildNonlocalTables(), and NonlocalMaterialWTP::giveElementNonlocalDepArry().

template<class T, class S>
void Element::ipEvaluator ( T *  src,
void(T::*)(GaussPoint *, S &)  f,
S &  _val 
) [inline]

Integration point evaluator, loops over receiver IP's and calls given function (passed as f parameter) on them. The IP is parameter to function f as well as additional array.

Definition at line 868 of file element.h.

References IntegrationRule::getIntegrationPoint(), IntegrationRule::getNumberOfIntegrationPoints(), integrationRulesArray, and numberOfIntegrationRules.

int Element::giveLabel (  )  const [inline]

Returns receiver globally unique number (label).

Definition at line 751 of file element.h.

References globalNumber.

Referenced by printOutputAt().

int Element::giveGlobalNumber (  )  const [inline]

void Element::setGlobalNumber ( int  num  )  [inline]

Sets receiver globally unique number.

Definition at line 759 of file element.h.

References globalNumber.

Referenced by Subdivision::assignGlobalNumbersToElements(), Subdivision::createMesh(), and Domain::instanciateYourself().

elementParallelMode Element::giveParallelMode (  )  const [inline]

Return elementParallelMode of receiver.

Defined for __Parallel_Mode only.

Definition at line 765 of file element.h.

References parallel_mode.

Referenced by OutputManager::_testElementOutput(), AdaptiveNonLinearStatic::adaptiveRemap(), EngngModel::assemble(), NonStationaryTransportProblem::assembleAlgorithmicPartOfRhs(), NLTransientTransportProblem::assembleAlgorithmicPartOfRhs(), EngngModel::assemblePrescribedVectorFromElements(), EngngModel::assembleVectorFromElements(), Subdivision::assignGlobalNumbersToElements(), PNlDEIDynamic::computeMassMtrx(), Subdivision::createMesh(), WallClockLoadBalancerMonitor::decide(), LoadBalancer::deleteRemoteElements(), SPRNodalRecoveryModel::determinePatchAssemblyPoints(), OutputManager::doElementOutput(), VTKXMLExportModule::doOutput(), VTKExportModule::doOutput(), HuertaErrorEstimator::estimateError(), Subdivision::exchangeRemoteElements(), NonlocalMaterialWTP::fastRebuildNonlocalTables(), OctreeSpatialLocalizer::giveClosestIP(), OctreeSpatialLocalizer::giveClosestIPWithinOctant(), OctreeSpatialLocalizer::giveElementCloseToPoint(), OctreeSpatialLocalizer::giveElementCloseToPointWithinOctant(), OctreeSpatialLocalizer::giveElementContainingPoint(), PNlDEIDynamic::giveInternalForces(), NonLinearStatic::giveInternalForces(), VTKExportModule::giveTotalRBRNumberOfNodes(), NonlocalMaterialWTP::init(), SPRNodalRecoveryModel::initPatch(), ZZNodalRecoveryModel::initRegionMap(), SPRNodalRecoveryModel::initRegionMap(), NodalAveragingRecoveryModel::initRegionMap(), VTKXMLExportModule::initRegionNodeNumbering(), VTKExportModule::initRegionNodeNumbering(), EngngModel::initStepIncrements(), NonlocalMaterialWTP::migrate(), LoadBalancer::migrateLoad(), LoadBalancer::packMigratingData(), NonlocalMaterialWTP::packMigratingElementDependencies(), EngngModel::petsc_assemblePrescribedVectorFromElements(), EngngModel::petsc_assembleVectorFromElements(), LoadBalancer::printStatistics(), ZZNodalRecoveryModel::recoverValues(), NodalAveragingRecoveryModel::recoverValues(), EngngModel::restoreContext(), EngngModel::saveContext(), ProblemCommunicator::setUpCommunicationMapsForRemoteElementMode(), PNlDEIDynamicComunicator::setUpCommunicationMapsForRemoteElementMode(), HuertaErrorEstimator::solveRefinedElementProblem(), HuertaErrorEstimator::solveRefinedPatchProblem(), StructuralEngngModel::unpackRemoteElementData(), and StructuralElement::updateBeforeNonlocalAverage().

void Element::setParallelMode ( elementParallelMode  _mode  )  [inline]

Sets parallel mode of element.

Definition at line 767 of file element.h.

References parallel_mode.

Referenced by Subdivision::createMesh(), Subdivision::unpackRemoteElements(), and NonlocalMaterialWTP::unpackRemoteElements().

int Element::packUnknowns ( CommunicationBuffer buff,
TimeStep stepN 
)

Pack all necessary data of element (according to its parallel_mode) integration points into given communication buffer.

The corresponding cross section service is invoked, which in turn should invoke material model service for particular integration point. The nature of packed data is material model dependent. Typically, for material of "local" response (response depeneds only on integration point local state) no data are exchanged. For "nonlocal" constitutive models the send/receive of local values which undergo averaging is performed between local and corressponding remote elements.

Parameters:
buff communication buffer
stepN solution step.

Definition at line 1081 of file element.C.

References IntegrationRule::getIntegrationPoint(), IntegrationRule::getNumberOfIntegrationPoints(), giveCrossSection(), integrationRulesArray, numberOfIntegrationRules, and CrossSection::packUnknowns().

int Element::unpackAndUpdateUnknowns ( CommunicationBuffer buff,
TimeStep stepN 
)

Unpack and updates all necessary data of element (according to its parallel_mode) integration points into given communication buffer.

See also:
packUnknowns service.
Parameters:
buff communication buffer
stepN solution step.

Definition at line 1099 of file element.C.

References IntegrationRule::getIntegrationPoint(), IntegrationRule::getNumberOfIntegrationPoints(), giveCrossSection(), integrationRulesArray, numberOfIntegrationRules, and CrossSection::unpackAndUpdateUnknowns().

Referenced by StructuralEngngModel::unpackRemoteElementData().

int Element::estimatePackSize ( CommunicationBuffer buff  ) 

Estimates the necessary pack size to hold all packed data of receiver.

The corresponding cross section service is invoked, which in turn should invoke material model service for particular integration point. The nature of packed data is material model dependent.

Definition at line 1116 of file element.C.

References CrossSection::estimatePackSize(), IntegrationRule::getIntegrationPoint(), IntegrationRule::getNumberOfIntegrationPoints(), giveCrossSection(), integrationRulesArray, and numberOfIntegrationRules.

const IntArray* Element::givePartitionList (  )  const [inline]

Returns partition list of receiver.

Returns:
partition array.

Definition at line 798 of file element.h.

References partitions.

Referenced by ProblemCommunicator::setUpCommunicationMapsForRemoteElementMode(), and PNlDEIDynamicComunicator::setUpCommunicationMapsForRemoteElementMode().

void Element::setPartitionList ( IntArray pl  )  [inline]

Sets partition list of receiver.

Definition at line 802 of file element.h.

References partitions.

Referenced by Subdivision::unpackRemoteElements(), and NonlocalMaterialWTP::unpackRemoteElements().

double Element::predictRelativeComputationalCost (  )  [virtual]

Returns the weight representing relative computational cost of receiver The reference element is triangular plane stress element with linear approximation, single integration point and linear isotropic material.

Its weight is equal to 1.0 Default implementation computes average computational cost of cross section model (this include material as well) and multiplies it by element type weight (obtained by giveRelativeSelfComputationalCost()) The other elements should compare to this reference element.

Definition at line 1132 of file element.C.

References IntegrationRule::getIntegrationPoint(), IntegrationRule::getNumberOfIntegrationPoints(), giveCrossSection(), giveDefaultIntegrationRulePtr(), giveRelativeSelfComputationalCost(), and CrossSection::predictRelativeComputationalCost().

Referenced by WallClockLoadBalancerMonitor::decide().

virtual double Element::giveRelativeSelfComputationalCost (  )  [inline, virtual]

Returns the weight representing relative computational cost of receiver The reference element is triangular plane stress element.

Its weight is equal to 1.0 The other elements should compare to this reference element.

Reimplemented in LTRSpace.

Definition at line 819 of file element.h.

Referenced by predictRelativeComputationalCost().

virtual double Element::predictRelativeRedistributionCost (  )  [inline, virtual]

Returns the relative redistribution cost of the receiver.

Definition at line 823 of file element.h.

IntArray * Element::giveBodyLoadArray (  ) 

IntArray * Element::giveBoundaryLoadArray (  ) 

virtual void Element::computeGaussPoints (  )  [inline, protected, virtual]

Initializes the array of integration rules and numberOfIntegrationRules member variable.

Element can have multiple integration rules for different tasks. For example structural element family class uses this feature to implement transparent support for reduced and selective integration of some strain components. Must be defined by terminator clases.

See also:
IntegrationRule class.

Reimplemented in Axisymm3d, Beam2d, Beam3d, CCTPlate, InterfaceElem2dQuad, InterfaceElement3dTrLin, InterfaceElem1d, L4Axisymm, LIBeam2d, LIBeam2dNL, LIBeam3d, LIBeam3d2, LIBeam3dNL, LIBeam3dNL2, LSpace, LTRSpace, PlaneStress2d, Q4Axisymm, QPlaneStress2d, QSpace, QTrPlaneStress2d, Quad1PlaneStrain, RerShell, TrPlaneStrain, TrPlaneStrRot, TrPlaneStress2d, Truss1d, Truss2d, Truss3d, Brick1_ht, Quad1_ht, Tetrah1_ht, Tr1_ht, PY1_3D_SUPG, TR1_2D_CBS, TR1_2D_SUPG, TR1_2D_SUPG2, TR1_2D_SUPG2_AXI, and TR1_2D_SUPG_AXI.

Definition at line 849 of file element.h.

Referenced by SUPGElement2::initializeFrom(), SUPGElement::initializeFrom(), CBSElement::initializeFrom(), and postInitialize().


Member Data Documentation

int Element::numberOfDofMans [protected]

Number of dofmanagers.

Definition at line 152 of file element.h.

Referenced by Axisymm3d::Axisymm3d(), Beam2d::Beam2d(), Beam3d::Beam3d(), Brick1_ht::Brick1_ht(), CCTPlate::CCTPlate(), StructuralElement::computeBcLoadVectorAt(), L4Axisymm::computeBmatrixAt(), Axisymm3d::computeBmatrixAt(), computeGlobalNumberOfDofs(), StructuralElement::computeGNDofRotationMatrix(), StructuralElement::computeGNLoadRotationMatrix(), StructuralElement::computeLumpedMassMatrix(), PlaneStress2dXfem::computeVectorOf(), computeVectorOf(), computeVectorOfPrescribed(), L4Axisymm::computeVolumeAround(), Axisymm3d::computeVolumeAround(), Element(), L4Axisymm::giveCharacteristicLenght(), Axisymm3d::giveCharacteristicLenght(), giveLocationArray(), giveNumberOfDofManagers(), giveNumberOfNodes(), InterfaceElem1d::InterfaceElem1d(), InterfaceElem2dQuad::InterfaceElem2dQuad(), InterfaceElement3dTrLin::InterfaceElement3dTrLin(), L4Axisymm::L4Axisymm(), LIBeam2d::LIBeam2d(), LIBeam2dNL::LIBeam2dNL(), LIBeam3d::LIBeam3d(), LIBeam3d2::LIBeam3d2(), LIBeam3dNL::LIBeam3dNL(), LIBeam3dNL2::LIBeam3dNL2(), LSpace::LSpace(), LTRSpace::LTRSpace(), PlaneStress2d::PlaneStress2d(), PY1_3D_SUPG::PY1_3D_SUPG(), Q4Axisymm::Q4Axisymm(), QPlaneStress2d::QPlaneStress2d(), QSpace::QSpace(), QTrPlaneStress2d::QTrPlaneStress2d(), Quad1_ht::Quad1_ht(), Quad1PlaneStrain::Quad1PlaneStrain(), RerShell::RerShell(), restoreContext(), saveContext(), Tetrah1_ht::Tetrah1_ht(), TR1_2D_CBS::TR1_2D_CBS(), TR1_2D_SUPG::TR1_2D_SUPG(), TR1_2D_SUPG2::TR1_2D_SUPG2(), TR1_2D_SUPG2_AXI::TR1_2D_SUPG2_AXI(), Tr1_ht::Tr1_ht(), TrPlaneStrain::TrPlaneStrain(), TrPlaneStress2d::TrPlaneStress2d(), TrPlaneStrRot::TrPlaneStrRot(), Truss1d::Truss1d(), Truss2d::Truss2d(), Truss3d::Truss3d(), updateLocalNumbering(), and SUPGElement2::updateStabilizationCoeffs().

Array containing dofmanager numbers.

Definition at line 154 of file element.h.

Referenced by PY1_3D_SUPG::computeBMatrix(), QTrPlaneStress2d::computeBmatrixAt(), QSpace::computeBmatrixAt(), QPlaneStress2d::computeBmatrixAt(), PlaneStress2dXfem::computeBmatrixAt(), PlaneStress2d::computeBmatrixAt(), LTRSpace::computeBmatrixAt(), LSpaceBB::computeBmatrixAt(), LSpace::computeBmatrixAt(), L4Axisymm::computeBmatrixAt(), Axisymm3d::computeBmatrixAt(), PY1_3D_SUPG::computeDivUMatrix(), Tetrah1_ht::computeEdgeIpGlobalCoords(), PlaneStress2d::computeEdgeIpGlobalCoords(), LTRSpace::computeEdgeIpGlobalCoords(), LSpace::computeEdgeIpGlobalCoords(), L4Axisymm::computeEdgeIpGlobalCoords(), Brick1_ht::computeEdgeIpGlobalCoords(), Axisymm3d::computeEdgeIpGlobalCoords(), Tetrah1_ht::computeEdgeVolumeAround(), PlaneStress2d::computeEdgeVolumeAround(), LTRSpace::computeEdgeVolumeAround(), LSpace::computeEdgeVolumeAround(), L4Axisymm::computeEdgeVolumeAround(), Brick1_ht::computeEdgeVolumeAround(), Axisymm3d::computeEdgeVolumeAround(), Tetrah1_ht::computeGlobalCoordinates(), QTrPlaneStress2d::computeGlobalCoordinates(), QSpace::computeGlobalCoordinates(), QPlaneStress2d::computeGlobalCoordinates(), PlaneStress2d::computeGlobalCoordinates(), LTRSpace::computeGlobalCoordinates(), LSpace::computeGlobalCoordinates(), L4Axisymm::computeGlobalCoordinates(), Brick1_ht::computeGlobalCoordinates(), Axisymm3d::computeGlobalCoordinates(), Tetrah1_ht::computeGradientMatrixAt(), Brick1_ht::computeGradientMatrixAt(), PY1_3D_SUPG::computeGradPMatrix(), PlaneStress2d::computeLoadLEToLRotationMatrix(), L4Axisymm::computeLoadLEToLRotationMatrix(), QSpace::computeLoadLSToLRotationMatrix(), LSpace::computeLoadLSToLRotationMatrix(), Tetrah1_ht::computeLocalCoordinates(), QTrPlaneStress2d::computeLocalCoordinates(), PlaneStress2d::computeLocalCoordinates(), LTRSpace::computeLocalCoordinates(), LSpace::computeLocalCoordinates(), L4Axisymm::computeLocalCoordinates(), Brick1_ht::computeLocalCoordinates(), PlaneStress2d::computeNLBMatrixAt(), LTRSpace::computeNLBMatrixAt(), LSpace::computeNLBMatrixAt(), PlaneStress2dXfem::computeNumberOfDofs(), Tetrah1_ht::computeSurfaceVolumeAround(), QSpace::computeSurfaceVolumeAround(), LTRSpace::computeSurfaceVolumeAround(), LSpace::computeSurfaceVolumeAround(), Brick1_ht::computeSurfaceVolumeAround(), Tetrah1_ht::computeSurfIpGlobalCoords(), QSpace::computeSurfIpGlobalCoords(), LTRSpace::computeSurfIpGlobalCoords(), LSpace::computeSurfIpGlobalCoords(), Brick1_ht::computeSurfIpGlobalCoords(), PY1_3D_SUPG::computeUDotGradUMatrix(), Tetrah1_ht::computeVolumeAround(), QTrPlaneStress2d::computeVolumeAround(), QSpace::computeVolumeAround(), QPlaneStress2d::computeVolumeAround(), PY1_3D_SUPG::computeVolumeAround(), PlaneStress2d::computeVolumeAround(), LTRSpace::computeVolumeAround(), LSpace::computeVolumeAround(), L4Axisymm::computeVolumeAround(), Brick1_ht::computeVolumeAround(), Axisymm3d::computeVolumeAround(), LTRSpace::DirectErrorIndicatorRCI_giveCharacteristicSize(), giveDofManager(), giveDofManagerNumber(), PlaneStress2dXfem::giveDofManDofIDMask(), PlaneStress2dXfem::giveLocationArray(), giveNode(), giveSide(), initializeFrom(), PY1_3D_SUPG::LS_PCS_computedN(), TR1_2D_SUPG::LS_PCS_computeF(), PY1_3D_SUPG::LS_PCS_computeF(), TR1_2D_SUPG::LS_PCS_computeS(), PY1_3D_SUPG::LS_PCS_computeS(), restoreContext(), saveContext(), setDofManagers(), TR1_2D_SUPG2_AXI::updateIntegrationRules(), TR1_2D_SUPG2::updateIntegrationRules(), and updateLocalNumbering().

int Element::material [protected]

int Element::crossSection [protected]

Number of associated cross section.

Definition at line 158 of file element.h.

Referenced by giveCrossSection(), initializeFrom(), restoreContext(), saveContext(), and setCrossSection().

Number of integration rules used by receiver.

Definition at line 166 of file element.h.

Referenced by adaptiveFinish(), adaptiveMap(), StructuralElement::adaptiveUpdate(), Truss3d::computeGaussPoints(), Truss2d::computeGaussPoints(), Truss1d::computeGaussPoints(), TrPlaneStress2d::computeGaussPoints(), TrPlaneStrRot::computeGaussPoints(), TrPlaneStrain::computeGaussPoints(), Tr1_ht::computeGaussPoints(), TR1_2D_SUPG_AXI::computeGaussPoints(), TR1_2D_SUPG2_AXI::computeGaussPoints(), TR1_2D_SUPG2::computeGaussPoints(), TR1_2D_SUPG::computeGaussPoints(), TR1_2D_CBS::computeGaussPoints(), Tetrah1_ht::computeGaussPoints(), RerShell::computeGaussPoints(), Quad1PlaneStrain::computeGaussPoints(), Quad1_ht::computeGaussPoints(), QTrPlaneStress2d::computeGaussPoints(), QSpace::computeGaussPoints(), QPlaneStress2d::computeGaussPoints(), Q4Axisymm::computeGaussPoints(), PY1_3D_SUPG::computeGaussPoints(), PlaneStress2d::computeGaussPoints(), LTRSpace::computeGaussPoints(), LSpace::computeGaussPoints(), LIBeam3dNL2::computeGaussPoints(), LIBeam3dNL::computeGaussPoints(), LIBeam3d2::computeGaussPoints(), LIBeam3d::computeGaussPoints(), LIBeam2dNL::computeGaussPoints(), LIBeam2d::computeGaussPoints(), L4Axisymm::computeGaussPoints(), InterfaceElem1d::computeGaussPoints(), InterfaceElement3dTrLin::computeGaussPoints(), InterfaceElem2dQuad::computeGaussPoints(), CCTPlate::computeGaussPoints(), Brick1_ht::computeGaussPoints(), Beam3d::computeGaussPoints(), Beam2d::computeGaussPoints(), Axisymm3d::computeGaussPoints(), StructuralElement::computeStiffnessMatrix(), NLStructuralElement::computeStiffnessMatrix(), StructuralElement::computeStiffnessMatrix_withIRulesAsSubcells(), NLStructuralElement::computeStiffnessMatrix_withIRulesAsSubcells(), Element(), estimatePackSize(), initForNewStep(), ipEvaluator(), packUnknowns(), SUPGElement2::printOutputAt(), SUPGElement::printOutputAt(), printOutputAt(), CBSElement::printOutputAt(), restoreContext(), saveContext(), setIntegrationRules(), unpackAndUpdateUnknowns(), StructuralElement::updateBeforeNonlocalAverage(), TransportElement::updateInternalState(), SUPGElement2::updateInternalState(), SUPGElement::updateInternalState(), StructuralElement::updateInternalState(), CBSElement::updateInternalState(), updateYourself(), and ~Element().

List of integration rules of receiver (each integration rule contains associated integration points also).

This list should contain only such integration rules, that are used to integrate results depending on load time history. For all integration points in these rules, history variables are stored and updated. For integrations, where history stored in gauss points is not necessary (mass matrix integration) and different integration rule is needed, one should preferably use temporarly created integration rule.

Definition at line 175 of file element.h.

Referenced by adaptiveFinish(), adaptiveMap(), StructuralElement::adaptiveUpdate(), StructuralElement::addNonlocalStiffnessContributions(), TR1_2D_SUPG_AXI::computeAccelerationTerm_MB(), TR1_2D_SUPG2_AXI::computeAccelerationTerm_MB(), TR1_2D_SUPG2::computeAccelerationTerm_MB(), TR1_2D_SUPG::computeAccelerationTerm_MB(), SUPGElement2::computeAccelerationTerm_MB(), TR1_2D_SUPG_AXI::computeAccelerationTerm_MC(), TR1_2D_SUPG2_AXI::computeAccelerationTerm_MC(), SUPGElement2::computeAccelerationTerm_MC(), TR1_2D_SUPG_AXI::computeAdvectionDerivativeTerm_MB(), TR1_2D_SUPG2_AXI::computeAdvectionDerivativeTerm_MB(), TR1_2D_SUPG2::computeAdvectionDerivativeTerm_MB(), TR1_2D_SUPG::computeAdvectionDerivativeTerm_MB(), SUPGElement2::computeAdvectionDerivativeTerm_MB(), TR1_2D_SUPG_AXI::computeAdvectionDerivativeTerm_MC(), TR1_2D_SUPG2_AXI::computeAdvectionDerivativeTerm_MC(), SUPGElement2::computeAdvectionDerivativeTerm_MC(), TR1_2D_SUPG_AXI::computeAdvectionTerm_MB(), TR1_2D_SUPG2_AXI::computeAdvectionTerm_MB(), TR1_2D_SUPG2::computeAdvectionTerm_MB(), TR1_2D_SUPG::computeAdvectionTerm_MB(), SUPGElement2::computeAdvectionTerm_MB(), TR1_2D_SUPG_AXI::computeAdvectionTerm_MC(), TR1_2D_SUPG2_AXI::computeAdvectionTerm_MC(), SUPGElement2::computeAdvectionTerm_MC(), TR1_2D_SUPG_AXI::computeBCRhsTerm_MB(), TR1_2D_SUPG2_AXI::computeBCRhsTerm_MB(), TR1_2D_SUPG2::computeBCRhsTerm_MB(), TR1_2D_SUPG::computeBCRhsTerm_MB(), SUPGElement2::computeBCRhsTerm_MB(), TR1_2D_SUPG_AXI::computeBCRhsTerm_MC(), TR1_2D_SUPG2_AXI::computeBCRhsTerm_MC(), SUPGElement2::computeBCRhsTerm_MC(), StructuralElement::computeBodyLoadVectorAt(), RerShell::computeBodyLoadVectorAt(), CCTPlate::computeBodyLoadVectorAt(), TransportElement::computeCapacitySubMatrix(), Beam3d::computeClampedStiffnessMatrix(), Beam2d::computeClampedStiffnessMatrix(), TransportElement::computeConductivitySubMatrix(), Beam3d::computeConsistentMassMatrix(), Beam2d::computeConsistentMassMatrix(), TR1_2D_CBS::computeConsistentMassMtrx(), TR1_2D_CBS::computeConvectionTermsI(), TR1_2D_CBS::computeDensityRhsVelocityTerms(), TR1_2D_CBS::computeDiagonalMassMtrx(), TR1_2D_SUPG_AXI::computeDiffusionDerivativeTerm_MB(), TR1_2D_SUPG2_AXI::computeDiffusionDerivativeTerm_MB(), TR1_2D_SUPG2::computeDiffusionDerivativeTerm_MB(), TR1_2D_SUPG::computeDiffusionDerivativeTerm_MB(), SUPGElement2::computeDiffusionDerivativeTerm_MB(), TR1_2D_SUPG_AXI::computeDiffusionDerivativeTerm_MC(), TR1_2D_SUPG2_AXI::computeDiffusionDerivativeTerm_MC(), TR1_2D_SUPG_AXI::computeDiffusionTerm_MB(), TR1_2D_SUPG2_AXI::computeDiffusionTerm_MB(), TR1_2D_SUPG2::computeDiffusionTerm_MB(), TR1_2D_SUPG::computeDiffusionTerm_MB(), SUPGElement2::computeDiffusionTerm_MB(), TR1_2D_SUPG_AXI::computeDiffusionTerm_MC(), TR1_2D_SUPG2_AXI::computeDiffusionTerm_MC(), TR1_2D_CBS::computeDiffusionTermsI(), Truss3d::computeGaussPoints(), Truss2d::computeGaussPoints(), Truss1d::computeGaussPoints(), TrPlaneStress2d::computeGaussPoints(), TrPlaneStrRot::computeGaussPoints(), TrPlaneStrain::computeGaussPoints(), Tr1_ht::computeGaussPoints(), TR1_2D_SUPG_AXI::computeGaussPoints(), TR1_2D_SUPG2_AXI::computeGaussPoints(), TR1_2D_SUPG2::computeGaussPoints(), TR1_2D_SUPG::computeGaussPoints(), TR1_2D_CBS::computeGaussPoints(), Tetrah1_ht::computeGaussPoints(), RerShell::computeGaussPoints(), Quad1PlaneStrain::computeGaussPoints(), Quad1_ht::computeGaussPoints(), QTrPlaneStress2d::computeGaussPoints(), QSpace::computeGaussPoints(), QPlaneStress2d::computeGaussPoints(), Q4Axisymm::computeGaussPoints(), PY1_3D_SUPG::computeGaussPoints(), PlaneStress2d::computeGaussPoints(), LTRSpace::computeGaussPoints(), LSpace::computeGaussPoints(), LIBeam3dNL2::computeGaussPoints(), LIBeam3dNL::computeGaussPoints(), LIBeam3d2::computeGaussPoints(), LIBeam3d::computeGaussPoints(), LIBeam2dNL::computeGaussPoints(), LIBeam2d::computeGaussPoints(), L4Axisymm::computeGaussPoints(), InterfaceElem1d::computeGaussPoints(), InterfaceElement3dTrLin::computeGaussPoints(), InterfaceElem2dQuad::computeGaussPoints(), CCTPlate::computeGaussPoints(), Brick1_ht::computeGaussPoints(), Beam3d::computeGaussPoints(), Beam2d::computeGaussPoints(), Axisymm3d::computeGaussPoints(), LIBeam2dNL::computeInitialStressMatrix(), TransportElement::computeInternalSourceRhsSubVectorAt(), TransportElement::computeIntSourceLHSSubMatrix(), Beam3d::computeKappaCoeffs(), TR1_2D_SUPG_AXI::computeLinearAdvectionTerm_MC(), TR1_2D_SUPG2_AXI::computeLinearAdvectionTerm_MC(), SUPGElement2::computeLinearAdvectionTerm_MC(), TR1_2D_SUPG_AXI::computeLSICStabilizationTerm_MB(), TR1_2D_SUPG2_AXI::computeLSICStabilizationTerm_MB(), TR1_2D_SUPG2::computeLSICStabilizationTerm_MB(), TR1_2D_SUPG::computeLSICStabilizationTerm_MB(), SUPGElement2::computeLSICStabilizationTerm_MB(), Truss3d::computeLumpedMassMatrix(), Truss2d::computeLumpedMassMatrix(), Truss1d::computeLumpedMassMatrix(), RerShell::computeLumpedMassMatrix(), LTRSpace::computeLumpedMassMatrix(), LIBeam3dNL2::computeLumpedMassMatrix(), LIBeam3dNL::computeLumpedMassMatrix(), LIBeam3d2::computeLumpedMassMatrix(), LIBeam3d::computeLumpedMassMatrix(), LIBeam2dNL::computeLumpedMassMatrix(), LIBeam2d::computeLumpedMassMatrix(), CCTPlate::computeLumpedMassMatrix(), StructuralElement::computePrescribedStrainLocalLoadVectorAt(), TR1_2D_CBS::computePrescribedTractionPressure(), TR1_2D_SUPG_AXI::computePressureTerm_MB(), TR1_2D_SUPG2_AXI::computePressureTerm_MB(), SUPGElement2::computePressureTerm_MB(), TR1_2D_SUPG_AXI::computePressureTerm_MC(), TR1_2D_SUPG2_AXI::computePressureTerm_MC(), TR1_2D_SUPG2::computePressureTerm_MC(), TR1_2D_SUPG::computePressureTerm_MC(), SUPGElement2::computePressureTerm_MC(), StructuralElement::computeStiffnessMatrix(), NLStructuralElement::computeStiffnessMatrix(), LIBeam3dNL2::computeStiffnessMatrix(), LIBeam3dNL::computeStiffnessMatrix(), StructuralElement::computeStiffnessMatrix_withIRulesAsSubcells(), NLStructuralElement::computeStiffnessMatrix_withIRulesAsSubcells(), TrPlaneStrRot::computeStrainVector(), Q4Axisymm::computeStrainVector(), L4Axisymm::computeStrainVector(), Axisymm3d::computeStrainVector(), LIBeam3dNL2::computeTempCurv(), LIBeam3dNL::computeTempCurv(), Quad1PlaneStrain::DirectErrorIndicatorRCI_giveCharacteristicSize(), PlaneStress2d::DirectErrorIndicatorRCI_giveCharacteristicSize(), Element(), estimatePackSize(), LSpace::giveCharacteristicLenght(), giveDefaultIntegrationRulePtr(), StructuralElement::giveInternalForcesVector(), NLStructuralElement::giveInternalForcesVector(), LIBeam3dNL2::giveInternalForcesVector(), LIBeam3dNL::giveInternalForcesVector(), Beam2d::giveKappaCoeff(), StructuralElement::giveNonlocalLocationArray(), LSpace::HuertaRemeshingCriteriaI_giveCharacteristicSize(), initForNewStep(), ipEvaluator(), PY1_3D_SUPG::LS_PCS_computedN(), PY1_3D_SUPG::LS_PCS_computeF(), PY1_3D_SUPG::LS_PCS_computeVolume(), Truss1d::NodalAveragingRecoveryMI_computeNodalValue(), TrPlaneStress2d::NodalAveragingRecoveryMI_computeNodalValue(), TrPlaneStrain::NodalAveragingRecoveryMI_computeNodalValue(), TR1_2D_SUPG2_AXI::NodalAveragingRecoveryMI_computeNodalValue(), TR1_2D_SUPG2::NodalAveragingRecoveryMI_computeNodalValue(), TR1_2D_SUPG::NodalAveragingRecoveryMI_computeNodalValue(), TR1_2D_CBS::NodalAveragingRecoveryMI_computeNodalValue(), RerShell::NodalAveragingRecoveryMI_computeNodalValue(), LTRSpace::NodalAveragingRecoveryMI_computeNodalValue(), LSpace::NodalAveragingRecoveryMI_computeNodalValue(), CCTPlate::NodalAveragingRecoveryMI_computeNodalValue(), Axisymm3d::NodalAveragingRecoveryMI_computeNodalValue(), packUnknowns(), TR1_2D_SUPG2_AXI::printOutputAt(), TR1_2D_SUPG2::printOutputAt(), TR1_2D_SUPG::printOutputAt(), SUPGElement2::printOutputAt(), SUPGElement::printOutputAt(), RerShell::printOutputAt(), printOutputAt(), CBSElement::printOutputAt(), restoreContext(), saveContext(), setIntegrationRules(), TrPlaneStress2d::SPRNodalRecoveryMI_computeIPGlobalCoordinates(), TrPlaneStrain::SPRNodalRecoveryMI_computeIPGlobalCoordinates(), TR1_2D_SUPG::SPRNodalRecoveryMI_computeIPGlobalCoordinates(), TR1_2D_CBS::SPRNodalRecoveryMI_computeIPGlobalCoordinates(), CCTPlate::SPRNodalRecoveryMI_computeIPGlobalCoordinates(), QTrPlaneStress2d::SPRNodalRecoveryMI_giveDofManRecordSize(), unpackAndUpdateUnknowns(), StructuralElement::updateBeforeNonlocalAverage(), TR1_2D_SUPG2_AXI::updateIntegrationRules(), TR1_2D_SUPG2::updateIntegrationRules(), TransportElement::updateInternalState(), SUPGElement2::updateInternalState(), SUPGElement::updateInternalState(), StructuralElement::updateInternalState(), CBSElement::updateInternalState(), TR1_2D_SUPG_AXI::updateStabilizationCoeffs(), TR1_2D_SUPG2_AXI::updateStabilizationCoeffs(), TR1_2D_SUPG2::updateStabilizationCoeffs(), TR1_2D_SUPG::updateStabilizationCoeffs(), SUPGElement2::updateStabilizationCoeffs(), updateYourself(), Truss3d::ZZNodalRecoveryMI_giveDofManRecordSize(), Truss1d::ZZNodalRecoveryMI_giveDofManRecordSize(), TrPlaneStress2d::ZZNodalRecoveryMI_giveDofManRecordSize(), TrPlaneStrain::ZZNodalRecoveryMI_giveDofManRecordSize(), TR1_2D_SUPG2_AXI::ZZNodalRecoveryMI_giveDofManRecordSize(), TR1_2D_SUPG2::ZZNodalRecoveryMI_giveDofManRecordSize(), TR1_2D_SUPG::ZZNodalRecoveryMI_giveDofManRecordSize(), TR1_2D_CBS::ZZNodalRecoveryMI_giveDofManRecordSize(), Quad1PlaneStrain::ZZNodalRecoveryMI_giveDofManRecordSize(), QSpace::ZZNodalRecoveryMI_giveDofManRecordSize(), QPlaneStress2d::ZZNodalRecoveryMI_giveDofManRecordSize(), PlaneStress2d::ZZNodalRecoveryMI_giveDofManRecordSize(), LTRSpace::ZZNodalRecoveryMI_giveDofManRecordSize(), LSpace::ZZNodalRecoveryMI_giveDofManRecordSize(), L4Axisymm::ZZNodalRecoveryMI_giveDofManRecordSize(), Axisymm3d::ZZNodalRecoveryMI_giveDofManRecordSize(), and ~Element().

Array of code numbers of element.

Definition at line 177 of file element.h.

Referenced by computeGlobalNumberOfDofs(), Element(), giveLocationArray(), invalidateLocationArray(), and ~Element().

Transformation material matrix, used in orthotropic and anisotropic materials, global->local transformation.

Definition at line 182 of file element.h.

Referenced by giveMatLocalCS(), and initializeFrom().

int Element::globalNumber [protected]

In parallel mode, globalNumber contains globally unique DoFManager number.

The component number, inherited from FEMComponent class contains local domain number.

Definition at line 191 of file element.h.

Referenced by giveGlobalNumber(), giveLabel(), initializeFrom(), restoreContext(), saveContext(), and setGlobalNumber().

List of partition sharing the shared eleemnt or remote partion containing remote element counterpart.

Definition at line 199 of file element.h.

Referenced by givePartitionList(), initializeFrom(), restoreContext(), saveContext(), and setPartitionList().


The documentation for this class was generated from the following files:

This page is part of the OOFEM documentation. Copyright (c) 2003 Borek Patzak
Project e-mail: info@oofem.org
Generated at Mon Aug 24 11:52:23 2009 for OOFEM by doxygen 1.5.5 written by Dimitri van Heesch, © 1997-2001